Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Проблема NutScript Форма

Статус
В этой теме нельзя размещать новые ответы.

Yroslav

Пользователь
Регистрация
21 Мар 2017
Сообщения
14
Реакции
0
Баллы
13
Возраст
23
Адрес
Ново-Вокзальная, 257Б
Клан-тег
QCP
Пол
Род занятий
Programmer
Я тут решил вернуться снова к NS и столкнулся всё с той же проблемой. Как сделать форму? Я знаю, что в NS есть clothes, newcitizen и прочее. Во-первых я вообще не понял, как они работают. Раньше достаточно было прописать форму в схеме и всё. Сейчас требует base_clothes, а если и прописываешь, то ничего не работает. Помогите пожалуйста? И желательно поподробнее расписать!
 

Yroslav

Пользователь
Регистрация
21 Мар 2017
Сообщения
14
Реакции
0
Баллы
13
Возраст
23
Адрес
Ново-Вокзальная, 257Б
Клан-тег
QCP
Пол
Род занятий
Programmer
УРА! Нашел! Вот если кто-то тоже ищет.
// Основная информация о предмете
ITEM.name = "Uniform base" // Имя/название предмета
ITEM.desc = "base desc" // Описание предмета
ITEM.category = "Uniform" // Категория предмета (используется, в основном, в бизнес-плагине)
ITEM.model = "EXAMPLE_PATH.mdl" // «Внешний вид» модели (на уровне чемоданчиков, ящичков, etc.)
ITEM.playermodel = nil // «Основной вид» модели (модель персонажа в виде самой же модели (sic!))
ITEM.width = 1 // Ширина предмета в слоте-инвентаря
ITEM.height = 1 // Высота предмета в слоте-инвентаря

ITEM.isArmor = true // Обозначение предмета, как брони (используется в дальнейшем при различных обстоятельствах)

/*
Clientside-функция.
Осуществляет возможность визуально распознать, надета ли на вас та, или иная форма.
*/
if (CLIENT) then
function ITEM:paintOver(item, w, h)
if (item:getData("equip")) then
surface.SetDrawColor(110, 255, 110, 100)
surface.DrawRect(w - 14, h - 14, 8, 8)
end
end
end

/*
Hook(shared)-функция.
При выбросе экипированного предмета, сбрасывает модель и всевозможные данные, указанные в самом коде.
*/
ITEM:hook("drop", function(item)
if (item:getData("equip")) then // Проверяется явление экипированного предмета
item:setData("equip", nil) // Возвращает equip, как nil (false).
// item.player:EmitSound("SoundPath.ogg", 80) // Звуковое сопровождение выброса предмета по желанию автора
item.player:SetModel(item.player:getChar():getModel()) // Возвращает первичную модель персонажу
end
end)

/*
shared-функция.
Позволяет снять форму.
*/
ITEM.functions.EquipUn = {
name = "Снять", // Имя/название действия (Unequip - стандарт NS)
tip = "equipTip", // Подсказка действия предмета (equipTip - стандарт NS)
icon = "icon16/cross.png", // Иконка действия предмета
onRun = function(item) // «Запуск» действия предмета при активации иного
// item.player:EmitSound("SoundPath.ogg", 80) // Звуковое сопровождение снятия предмета по желанию автора
item.player:SetModel(item.player:getChar():getModel()) // Возвращает первичную модель персонажу
item:setData("equip", false) // Возвращает equip, как false (nil).

return false // Обязательное возвращение предмета, как false для того, чтобы иной не исчез (false - статика, true - динамика (но это может быть и заблуждением))
end,
onCanRun = function(item) // Функция-проверка возможности использовать предмет при определенных и не очень обстоятельствах
return (!IsValid(item.entity) && item:getData("equip"))
end
}

/*
shared-функция.
Позволяет надеть форму.
*/
ITEM.functions.Equip = {
name = "Надеть",
tip = "equipTip",
icon = "icon16/tick.png",
onRun = function(item)
local client = item.player
local items = client:getChar():getInv():getItems()

// Проверка на явление уже надетой униформы. Предотвращает попытки надеть на себя сотни, а может и тысячи различных одежд
for k, v in pairs(items) do
if (v.id != item.id) then
local itemTable = nut.item.instances[v.id]
if itemTable.isArmor && itemTable:getData("equip") then
client:notify("Вы не можете надеть еще одну униформу")

return false
end
end
end

client:SetModel(item.playermodel) // Выставляет заданную в item.playermodel модель персонажа
// client:EmitSound("ExamplePath.ogg", 80)
item:setData("equip", true)

return false
end,
onCanRun = function(item)
return (!IsValid(item.entity) and item:getData("equip") != true)
end
}

/*
shared(server)-функция.
Задает возможность перемещать предмет из одного инвентаря в другой
*/
function ITEM:eek:nCanBeTransfered(oldInventory, newInventory)
return true
end

/*
shared(server)-функция.
Если предмет перемещен в другой инвентарь, то он (предмет) сбрасывается с персонажа
*/
function ITEM:eek:nTransfered()
local client = self:getOwner()
if self:getData("equip") then self:setData("equip", false) end
end

/*
shared(server)-функция.
Позволяет «сохранять» модель персонажа и возвращать ее, когда игрок загружает персонажа
*/
function ITEM:eek:nLoadout()
if (self:getData("equip")) then
local client = self.player
client:SetModel(self.playermodel)
end
end
 

Neon

Создатель
Команда форума
Проверенный
Регистрация
9 Фев 2013
Сообщения
1,394
Реакции
3
Баллы
49
Надо оформлять в тэг [ CODE][/CODE]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу