Params
Параметры (поля, свойства, опций, характеристики) - это величины, которые как-либо меняют поведение работы.
• Общие параметры
name = 'Имя', -- Название работы
command = 'example', -- Чатовая команда для вступления в работу
category = 'Категория', -- Категория работы
description = 'Desc', -- Описание работы
from = 'TEAM_MAFIA', -- С какой работы (класса) доступна нынешняя работа? Старый аналог: NeedToChangeFrom
material = '', -- Материал модельки игрока, если пустая строка, без материала
map = 'rp_bloha', -- Карта, на которой можно устроиться на эту работу
has_weapon = 'scp_card1', -- Оружие, которое должен иметь игрок, чтобы устроиться на эту работу
color = Color(255,0,0), -- Цвет работы и модельки игрока, если модель позволяет выбрать ей цвет
color_model = Color( 0, 255, 0 ), -- Цвет полного перекрашивания модели игрока
max = 4, -- Максимум кол-во игроков в работе. 0 - бесконечно, 0.1 и любые дробные значения - это проценты
money = 0, -- Необходимое кол-во денег у игрока для вступления на работу. Деньги тратятся!
admin = 1, -- Админ доступ: 0 - все ранги, 1 - админские ранги, 2 - суперадминские ранги
order = 100, -- Степень превосходства среди других работ, нужно для отсортировки в менюшках
delay = 600, -- Задержка в секундах на устройство на любую работу
block = 60, -- Блок в секундах на устройство на эту работу
hp = 4000, -- Здоровье, также есть health
max_hp = 4000, -- Максимальное здоровье, также есть max_health
armor = 255, -- Броня
max_armor = 255, -- Максимальное количество брони
salary = 0, -- Зарплата
doors_max = 10, -- Максимальное количество дверей, которые может купить игрок этой работы
skin = 0, -- Скин модельки при спавне
model_scale = 1, -- Размер модельки игрока
walkspeed = 280, -- Скорость ходьбы
runspeed = 590, -- Скорость бега
maxspeed = 590, -- Максимальная скорость передвижения
slowwalkspeed = 590, -- Скорость медленной ходьбы
duckspeed = 0.1, -- ???, только дробные значения от 0 до 1
unduckspeed = 0.1, -- ???
crouchedspeed = 1, -- Скорость передвижения сидя, не работает с больше единицы
ladderclimbspeed = 100, -- Скорость подъёма по лестнице
jumppower = 600, -- Сила прыжка
damage = 10, -- Сколько всего (за любое оружие) игрок нанесёт урона по другому игроку?
add_damage = 10, -- Сколько всего (за любое оружие) игрок добавит урона по текущему урону по другому игроку?
multiply_damage = 10, -- Сколько всего (за любое оружие) игрок умножит урона на текущий урон по другому игроку?
take_damage = 0, -- Сколько урона получит игрок этой работы от другого игрока?
take_add_damage = 0, -- Сколько добавленного урона получит игрок этой работы от другого игрока?
take_multiply_damage = 1, -- Сколько умноженного урона получит игрок этой работы от другого игрока?
vote = false, -- Нужно голосование?
mayor = false, -- Это профессия мэра?
police = false, -- Это профессия полицейского?
god = false, -- Игрок бессмертен?
demote = false, -- Можно уволить игрока?
license = false, -- Будет настоящая лицензия на оружия при спавне?
fake_license = false, -- Будет фейковая лицензия на оружия при спавне?
block_user = true, -- Запретить для ранга user?
block_admin = false, -- Запретить для админских рангов?
can_buy_door = false, -- Игрок может купить двери?
can_arrest = false, -- Игрока можно арестовать?
can_wanted = false, -- Игрока могут подать в розыск?
can_warrant = false, -- На игрока могут подать ордер на обыск?
can_buy_door = true, -- Игрок может купить двери?
can_join_command = true, -- Игрок может присоединиться через чатовую команду?
can_pickup_weapons = false, -- Игрок может подбирать/взять какое либо оружие?
can_buy_shop_item = true, -- Игрок может купить предмет в магазине (энтити, оружие, ящик и т.д)?
can_buy_sell_item = true, -- Игрок может продавать предмет из магазина?
demote_after_death = true, -- Игрок после смерти потеряет профессию? Станет на стандартную!
spawns = { -- Таблица со спавнами, внутри неё по порядку таблицы, где есть pos и ang, map необязателен
{ map = 'rp_bangclaw', pos = Vector( 3983, 72, -270 ), ang = Angle( 0, -90, 0 )},
{ map = 'rp_bangclaw', pos = Vector( 0, 0, 0 ), ang = Angle( 0, -90, 0 )},
},
from_jobs = { -- Список доступных работ для перехода на эту работу
'TEAM_MAFIA1',
'TEAM_MAFIA2',
'TEAM_MAFIA3',
}
models = { -- Модельки игрока
'models/bloodletter1.mdl'
},
weapons = { -- Таблица с оружием при спавне
'weapon_fists',
'arccw_ak47'
},
ammo = { -- Таблица с патронами, где ключи это ID патронов, а значение это количество патронов
[ 14 ] = 9999,
[ 1 ] = 64,
}
bodygroups = { -- Таблица с бодигруппами, ключи и значения всегда числа!
[ 0 ] = 1,
[ 1 ] = 4,
},
maps = { -- Таблица с картами, которые позволять устроиться на эту работу
'rp_simpleclaw_alpha',
'rp_simpleclaw',
}
has_weapons = { -- Таблица с оружием, которое нужно для вступления на работу
'scp_card1',
'scp_card2',
'scp_card3',
},
whitelist_steamid = { -- Таблица со SteamID людей, которые могут вступить на работу
[ 'STEAM_0:1:95303327' ] = true,
},
whitelist_steamid64 = { -- Таблица со SteamID64 людей, которые могут вступить на работу
[ '76561198150872383' ] = true,
},
whitelist_ranks = { -- Таблица со User Group (Ранги) людей, которые могут вступить на работу
[ 'user' ] = false,
[ 'vip' ] = true,
[ 'moder' ] = true,
[ 'admin' ] = true,
[ 'superadmin' ] = true,
},
whitelist_nicks = { -- Таблица с никами людей, которые могут вступить на работу
[ 'Titanovsky' ] = true,
},
whitelist_models = { -- Таблица с никами людей, которые могут вступить на работу
[ 'models/player/Group03m/male_07.mdl' ] = true,
},
whitelist_colors = { -- Таблица с никами людей, которые могут вступить на работу
[ Color( 255, 0, 0 ) ] = true,
[ Color( 0, 255, 0 ) ] = true,
[ Color( 0, 0, 255 ) ] = true,
},
check = { -- Таблица с подтаблицами для простой проверкой: 1 - это параметр игрока, 2 - это нужное значение (если число, то должно быть больше или равно), 3 - причина отказа
{ 'level', 10, 'Вам нужен 10+ уровень для этой работы!' },
{ 'mana', 200, 'Для этого чародейство необходим 200 или выше маны!' },
{ 'nw_power', 100500, 'Вам нужно дофига силёнок!' },
{ 'is_arrested', false, 'Вы не должны быть в тюрьме!' },
{ 'tag', 'плохиш', 'У вас должен быть тег: плохиш' },
}
• Функциональные параметры
-- В аргументах первый символ с маленькой буквы и обозначает тип данных
-- e - Entity, b - Bool, n - Number, c - Color, v - Vector, a - Angle. Например: ePly - игрок, tWeapon - таблица оружия
-- Здесь указано чётко, что может возвращать метод, а что не может.
-- Все хуки работают ТОЛЬКО на сервере.
PlayerSpawn = function( ePly ) return end, -- Срабатывает при каждом спавне игрока
CanPlayerSuicide = function( ePly ) return false end, -- Можно суициднуться с помощью kill?
PlayerCanPickupWeapon = function( ePly, eWeapon ) return true end, -- Можно подбирать оружие?
PlayerDeath = function( ePly, eInflictor, eAttacker ) return end, -- Срабатывает при смерти игрока
PlayerLoadout = function( ePly ) return end, -- Срабатывает при выдаче оружия. ВАЖНО! У ДаркРП своя выдача оружия, используйте хук '[Ambi.DarkRP.PlayerLoadout]'
PlayerSelectSpawn = function( ePly, bTransition ) return end, -- ??? Что-то из sandbox, может не работать в новом ДаркРП
PlayerSetModel = function( ePly ) return end, -- ??? Что-то из sandbox, может не работать в новом ДаркРП
ShowHelp = function( ePly ) return end, -- Вызывается при нажатий F1
ShowTeam = function( ePly ) return end, -- Вызывается при нажатий F2
ShowSpare1 = function( ePly ) return end, -- Вызывается при нажатий F3
ShowSpare2 = function( ePly ) return end, -- Вызывается при нажатий F4
PlayerChangedTeam = function( ePly, nIndexOldTeam, nIndexNewTeam ) return end, -- Вызывается при смене команды
PlayerSwitchFlashlight = function( ePly, bEnabled ) return true end, -- Можно игроку сменить состояние фонарика (вкл/выкл)?
CanPlayerEnterVehicle = function( ePly, eVehicle, nRole ) return false end, -- Можно игроку сесть в транспортное средство?
CanPlayerUnfreeze = function( ePly, eObj, physicObj ) return true end, -- Можно игроку расфризить предмет?
PlayerCanHearPlayersVoice = function( eListener, eTalker ) return true, false end, -- Может игрок слышать другого игрока? Второй значение возвращает должен ли звук быть 3D?
PlayerSay = function( ePly, sText, bTeamChat ) return '' end, -- Игрок может написать в чат? Если метод вернёт пустую строку, игрок ничего не напишет в чат
PlayerShouldTakeDamage = function( ePly, eAttacker ) return true end, -- Разрешить игроку получить урон от какого-либо энтити (проп, игрок, NPC и т.д)?
PlayerShouldTaunt = function( ePly, nACT ) return true end, -- Игрок может выполнить анимацию act?
PlayerSpray = function( ePly ) return false end, -- Можно игроку сделать спрей?
PlayerSwitchWeapon = function( ePly, eWeaponOld, eWeaponNew ) return true end, -- Игрок может сменить одно оружие на другое?
PlayerGiveSWEP = function( ePly, sClassWeapon, tWeapon ) return true end, -- Игрок может взять оружие из Q Меню?
PlayerSpawnProp = function( ePly, sModel ) return false end, -- Игрок может заспавнить проп?
PlayerSpawnEffect = function( ePly, sModel ) return true end, -- Игрок может заспавнить эффект?
PlayerSpawnNPC = function( ePly, sClassNPC, sClassWeaponOnNPC ) return false end, -- Игрок может заспавнить NPC?
PlayerSpawnObject = function( ePly, sModel, nSkin ) return true end, -- Игрок может заспавнить объект (проп, рэгдолл и эффект)?
PlayerSpawnRagdoll = function( ePly, sModel ) return false end, -- Игрок может заспавнить Ragdoll?
PlayerSpawnSENT = function( ePly, sClass ) return true end, -- Игрок может заспавнить энтити?
PlayerSpawnSWEP = function( ePly, sClassWeapon, tWeapon ) return false end, -- Игрок может заспавнить оружие с помощью тулгана?
PlayerSpawnVehicle = function( ePly, sModel, sName, tVehicle ) return false end, -- Игрок может заспавнить транспортное средство?
CanTool = function( ePly, tTrace, sTool, tTool, nMouseButton ) return true end, -- Игрок может использовать тулган?
CanProperty = function( ePly, sProperty, eObj ) return false end, -- Игрок может использовать или изменять Property в C меню? (Поджечь, убрать коллизию и т.д)
PlayerCanSeePlayersChat = function( sText, bTeamOnly, eListener, eSpeaker ) return false end, -- Игрок может видеть сообщения в чате, сделанные от другого игрока?
CanUndo = function( ePly, tUndo ) return false end, -- Можно сделать обратное действие на Z?
CanPlayerUnfreeze = function( ePly, eObj, physicObj ) return false end, -- Можно расфризить что-либо?
CanExitVehicle = function( eVehicle, ePly ) return true end, -- Можно выйти из транспортного средства?
PlayerUse = function( ePly, eObj ) return true end, -- Может игрок использовать (Е или +use) какой либо предмет?
SetupMove = function( ePly, cmoveInfo, cuserCommand ) return end, -- Срабатывает при любом передвижений (Клавиатура, мышь или их эмуляция)
PlayerButtonDown = function( ePly, nButton ) return end, -- Срабатывает при нажатий клавиш
RequiresVote = function( ePly, tJob ) return false end, -- Нужно ли провести голосование на работу?
CustomCheck = function( ePly, tJob ) return false end, -- Кастомная проверка устройства на работу
CustomCheckFailMsg = function( ePly, tJob ) return 'Ошибка' end, -- Вернёт сообщение при ошибке устройстве на работу
CanStartVote = function( ePly ) return true end, -- Может ли эта работать начать голосовани
Last updated