В режиме ттт не существует спавн меню, его тупо нету, а на Q ты выкидываешь оружие. Есть ли аддон какой-то скрипт который делает так, чтобы было спавн меню (и чтобы онли для администрации). Скажите кто знает
Ты должен понимать что Q меню это не просто спавн меню, это считай полноценный режим Sandbox.
Как добавить Q меню в TTT
Инструкция:
- В
terrortown/gamemode/shared.lua
добавить сверху DeriveGamemode(“sandbox”) - В
terrortown/gamemode/cl_keys.lua
НайтиGM:OnSpawnMenuOpen
и заменить на:
function GM:OnSpawnMenuOpen()
if LocalPlayer( ):IsSuperAdmin( ) and hook.Call( "SpawnMenuOpen", self ) then
if ( IsValid( g_SpawnMenu ) ) then
g_SpawnMenu:Open()
menubar.ParentTo( g_SpawnMenu )
end
hook.Call( "SpawnMenuOpened", self )
return
end
SendWeaponDrop()
end
- В
terrortown/gamemode/cl_keys.lua
найтиPlayerBindPress
и заменить бинд для gmod_undo
заменить 3 строки (до):
elseif (bind == "gmod_undo" or bind == "undo") and pressed then
RunConsoleCommand("ttt_dropammo")
return true
- после:
elseif (bind == "gmod_undo" or bind == "undo") and pressed then
if LocalPlayer( ):IsSuperAdmin( ) then
return
end
RunConsoleCommand("ttt_dropammo")
return true
Изменённые файлы:
shared.lua (5.8 КБ)
cl_keys.lua (4.2 КБ)
Почему не выдаёт оружие?
В TTT все сторонние оружия позначены как нежелательные ( даже Physgun ).
Чтобы обходить это ограничение суперадминам нужно изменить 2 файла: ( предупреждение: некоторые оружия действительно нежелательные. При их выдаче может сломаться ХУД )
-
terrortown/gamemode/player_ext_shd.lua
. Найти функцию CanCarryWeapon и заменить её:
function plymeta:CanCarryWeapon(wep)
if (not wep) or (not wep.Kind) then return self:IsSuperAdmin( ) end
return self:CanCarryType(wep.Kind)
end
-
terrortown/gamemode/weaponry.lua
. Найти функцию WeaponEquip и заменить её:
function GM:WeaponEquip(wep, owner)
if IsValid(wep) then
-- only remove if they lack critical stuff
if not wep.Kind and !owner:IsSuperAdmin( ) then
wep:Remove()
ErrorNoHalt("Equipped weapon " .. wep:GetClass() .. " is not compatible with TTT\n")
end
end
end
player_ext_shd.lua (7.0 КБ)
weaponry.lua (15.0 КБ)
Итог
Замени 4 файла и Superadmin сможет открывать Q меню и даже выдавать себе оружие
Только есть 2 проблемы:
- кнопка Q - Суперадмины не могут выбросить оружие
- кнопка Зет - Суперадмины не могут выбросить патроны
P.S. Не знаю зачем тебе это, я не рекомендую переносить Q меню в TTT
Если кто-то прийдет бить тебя по морде — ты меня не знаешь (lovely ).
Очень благодарен, а как забиндить Q и Z на другие кнопки?
- Если ты хочешь заменить открытие спавнменю и отмены(undo) на другие кнопки, то
В файлеterrortown/gamemode/cl_keys.lua
вставь сверху:
cl_keys.lua (4.5 КБ) ( или замени, если что-то не получается )
(В этом случае открытие спавнменю - на N, отмена(undo) - на X)
local spawnmenuButton = KEY_N
local undoButton = KEY_X
hook.Add( "PlayerButtonDown", "Test", function( _, btn )
if !IsFirstTimePredicted( ) then return end
if btn == spawnmenuButton then
if ( IsValid( g_SpawnMenu ) ) then
g_SpawnMenu:Open()
menubar.ParentTo( g_SpawnMenu )
end
hook.Call( "SpawnMenuOpened", self )
elseif btn == undoButton then
RunConsoleCommand( "undo" )
end
end )
hook.Add( "PlayerButtonUp", "Test", function( _, btn )
if !IsFirstTimePredicted( ) then return end
if btn == spawnmenuButton then
hook.Run( "OnSpawnMenuClose" )
end
end )
- А если ты хочешь перебиндить выбросывание оружия и патрон на другие кнопки, то замени файл:
cl_keys.lua (4.3 КБ)
Сверху можешь изменить кнопки
Как сделать так чтоб у друга тоже было q меню,а то у него его нету,но у меня есть?