Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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
FACTION.name = "Солдат" -- Это название фракции
FACTION.desc = "Есть такая профессия - родину защищать" -- Описание фракции
FACTION.color = Color(20, 150, 15) -- Цвет фракции в формате RGB
FACTION.isDefault = true -- Является ли фракцией по-умолчанию
FACTION.isPublic = true -- Является ли публичной
FACTION.pay = 1000 -- Зарплата фракции
FACTION.payTime = 700 -- Время, через которую приходит зарплата
FACTION.models = {"models/stalkertnb/bandit1.mdl", "models/stalkertnb/bandit2.mdl"} -- Список моделей фракции
function FACTION:onGetDefaultName(client) -- Хук, вызываемый при выборе профессии. Служит для назначения имени игроку
end
FACTION_SOLDER = FACTION.index -- Обязательно указывать уникальный идентификатор для каждой фракции! В данном случае идентификатор нашей фракции - FACTION_SOLDER
Для создания новой фракции необходимо создать новый файл в папке gamemodes\nutscript\schema\factions с произвольным названием (обычно как идентификатор), например: solder.lua
В файле указывается следующее:
Код:FACTION.name = "Солдат" -- Это название фракции FACTION.desc = "Есть такая профессия - родину защищать" -- Описание фракции FACTION.color = Color(20, 150, 15) -- Цвет фракции в формате RGB FACTION.isDefault = true -- Является ли фракцией по-умолчанию FACTION.isPublic = true -- Является ли публичной FACTION.pay = 1000 -- Зарплата фракции FACTION.payTime = 700 -- Время, через которую приходит зарплата FACTION.models = {"models/stalkertnb/bandit1.mdl", "models/stalkertnb/bandit2.mdl"} -- Список моделей фракции function FACTION:onGetDefaultName(client) -- Хук, вызываемый при выборе профессии. Служит для назначения имени игроку end FACTION_SOLDER = FACTION.index -- Обязательно указывать уникальный идентификатор для каждой фракции! В данном случае идентификатор нашей фракции - FACTION_SOLDER
А, и еще как там сделать ранги?А как же тогда назначать на фракцию игроков и самому перейти на эту профу, если она не для всех?
CLASS.name = "Разведчик" -- Название ранга
CLASS.faction = FACTION_STALKER -- Идентификатор фракции
CLASS.isDefault = true -- Доступна ли по-стандарту
CLASS.loadout = {} -- Выдаваемые оружия
CLASS.business = {} -- Доступные к покупке предметы
function CLASS:OnSet(client) -- Хук, вызываемый при вступлении
end
function CLASS:onCanBe(client) -- Проверка на возможность вступления
end
function CLASS:onLeave(client) -- Проверка на возможность выхода
end
CLASS_SCOUT = CLASS.index -- Уникальный идентификатор ранга
Профессия сделана, назначил себя при помощи команды, но скин остался как у гражданского. Вопрос: Что делать?Ранги создаются в папке gamemodes\nutscript\schema\classes
Код:CLASS.name = "Разведчик" -- Название ранга CLASS.faction = FACTION_STALKER -- Идентификатор фракции CLASS.isDefault = true -- Доступна ли по-стандарту CLASS.loadout = {} -- Выдаваемые оружия CLASS.business = {} -- Доступные к покупке предметы function CLASS:OnSet(client) -- Хук, вызываемый при вступлении end function CLASS:onCanBe(client) -- Проверка на возможность вступления end function CLASS:onLeave(client) -- Проверка на возможность выхода end CLASS_SCOUT = CLASS.index -- Уникальный идентификатор ранга
Команда /charsetmodel "nick name" "model". Чтобы автоматизировать всё это, нужно корректировать файл /nutscript/gamemode/core/libs/sh_character.lua.Профессия сделана, назначил себя при помощи команды, но скин остался как у гражданского. Вопрос: Что делать?
nut.char.registerVar("faction", {
field = "_faction",
default = "Citizen",
onSet = function(character, value)
local client = character:getPlayer()
if (IsValid(client)) then
client:SetTeam(value)
character:setModel(nut.faction.indices[value].models[1]) -- вот, что нужно добавить
end
end,
onGet = function(character, default)
local faction = nut.faction.teams[character.vars.faction]
return faction and faction.index or 0
end,
noDisplay = true,
onValidate = function(value, data, client)
if (value) then
if (client:hasWhitelist(value)) then
return true
end
end
return false
end,
onAdjust = function(client, data, value, newData)
newData.faction = nut.faction.indices[value].uniqueID
end
})
Команда /charsetmodel "nick name" "model". Чтобы автоматизировать всё это, нужно корректировать файл /nutscript/gamemode/core/libs/sh_character.lua.
Можно, например, там, где nut.char.registerVar("faction",{...}) (примерно 339 строка) после client:SetTeam(value) (через 6 строчек) дописать character:setModel(nut.faction.indices[value].models[1]), тогда у игрока установится модель, первой идущая в таблице моделей для данной фракции.
У меня также в базе данных создаётся для персонажа номер той модели, выбранной при его создании, но очень тяжело ориентировать человека по файлу, который он, возможно, никогда не видел, с более чем 700 строчками, тем более наши файлы не совпадают. А вдруг я напишу что-то, а человеку это может быть не нужно.Код:nut.char.registerVar("faction", { field = "_faction", default = "Citizen", onSet = function(character, value) local client = character:getPlayer() if (IsValid(client)) then client:SetTeam(value) character:setModel(nut.faction.indices[value].models[1]) -- вот, что нужно добавить end end, onGet = function(character, default) local faction = nut.faction.teams[character.vars.faction] return faction and faction.index or 0 end, noDisplay = true, onValidate = function(value, data, client) if (value) then if (client:hasWhitelist(value)) then return true end end return false end, onAdjust = function(client, data, value, newData) newData.faction = nut.faction.indices[value].uniqueID end })
plywhitelist <string name> <string faction> - если честно, я не знаю, что она делает, кажется, это команда даёт возможность игроку создать персонажа с заданной фракцией.
plyunwhitelist <string name> <string faction> - обратное действие вышеуказанной команды
beclass <string class> - команда для того чтобы получить "ранг", войти в класс:crazy:(простите меня за мой русский)
plytransfer <string name> <string faction> - я думаю из постов выше, что вы теперь знаете, что делает эта команда
Да я говорил про фракции. Просто недавно перешел с Дарк РП на это, вот и называю до сих пор :З А за ссылки большое спасибо и за помощь в принципеВам нужны чат команды или функции ? А под профессиями Вы имеете в виду фракции?
Все чат команды содержатся в файлах sh_commands.lua, как в самом nutscript, так и в Вашем shema.
Вроде бы это всё, что есть. Не густо, поэтому много надо будет писать самому.Код:plywhitelist <string name> <string faction> - если честно, я не знаю, что она делает, кажется, это команда даёт возможность игроку создать персонажа с заданной фракцией. plyunwhitelist <string name> <string faction> - обратное действие вышеуказанной команды beclass <string class> - команда для того чтобы получить "ранг", войти в класс:crazy:(простите меня за мой русский) plytransfer <string name> <string faction> - я думаю из постов выше, что вы теперь знаете, что делает эта команда
Нужные функции/процедуры для NS 1.1 ищите, а для garrysmodЭта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).Эта ссылка скрыта от группы "Гость" (группа пользователей, которые еще не прошли регистрацию или авторизацию на Проекте). Чтобы увидеть эту ссылку Вам требуется авторизоваться или пройти регистрацию на Проекте (зарегистрироваться).
Ранги создаются в папке gamemodes\nutscript\schema\classes
Код:CLASS.name = "Разведчик" -- Название ранга CLASS.faction = FACTION_STALKER -- Идентификатор фракции CLASS.isDefault = true -- Доступна ли по-стандарту CLASS.loadout = {} -- Выдаваемые оружия CLASS.business = {} -- Доступные к покупке предметы function CLASS:OnSet(client) -- Хук, вызываемый при вступлении end function CLASS:onCanBe(client) -- Проверка на возможность вступления end function CLASS:onLeave(client) -- Проверка на возможность выхода end CLASS_SCOUT = CLASS.index -- Уникальный идентификатор ранга
А засунутым в нужное место LocalPlayer():getClass() разве нельзя ли убрать это меню ? :rofl: Сейчас у меня нет локального сервера, чтобы это проверить, да и всего 200 мб интернета осталось...Я делал так
Т.е. они ничего не может покупать. А меню покупок встроено в сам мод.Код:CLASS.loadout = {} -- Выдаваемые оружия CLASS.business = {} -- Доступные к покупке предметы
А какая команда что бы выдать игроку-ранг?Ранги создаются в папке gamemodes\nutscript\schema\classes
Код:CLASS.name = "Разведчик" -- Название ранга CLASS.faction = FACTION_STALKER -- Идентификатор фракции CLASS.isDefault = true -- Доступна ли по-стандарту CLASS.loadout = {} -- Выдаваемые оружия CLASS.business = {} -- Доступные к покупке предметы function CLASS:OnSet(client) -- Хук, вызываемый при вступлении end function CLASS:onCanBe(client) -- Проверка на возможность вступления end function CLASS:onLeave(client) -- Проверка на возможность выхода end CLASS_SCOUT = CLASS.index -- Уникальный идентификатор ранга