Как сделать мету ? isCP

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

Kolti

Пользователь
В jobs.lua я создал GAMEMODE.OTA. по примеру GAMEMODE.CivilProtection.

В darkrpmodification\lua\autorun я создал два lua с хуками на изменение звука шагов, isCP и isOTA.
С isCP проблем нет, но как сделать мету для isOTA? Где её создавать ?

Lua:
hook.Add("PlayerFootstep", "rp_footstep_fix", function(ply, pos, foot, sound, volume, rf)
    if ( ply:IsSprinting() and ply:isCP() ) then
        ply:EmitSound("npc/metropolice/gear"..math.random(1,6)..".wav", 62, 101)
        return true
    end
end)
 
Эх, а ведь мог просто поискать по Гуглу , все там давно есть. Ладно подскажу.
Lua:
hook.Add("PostGamemodeLoaded", "MetaLoad", function()
local player = FindMetaTable("Player")
local OTA = {
    TEAM_008,
    TEAM_035,
    TEAM_096,
}

function player:isOTA()
if not IsValid(self) then return false end
return table.HasValue(OTA,self:Team())
end

end)

называешь sh_… .lua и в lua/autorun кидаешь
 
Эх, а ведь мог просто поискать по Гуглу , все там давно есть. Ладно подскажу.
Lua:
hook.Add("PostGamemodeLoaded", "MetaLoad", function()
local player = FindMetaTable("Player")
local OTA = {
    TEAM_008,
    TEAM_035,
    TEAM_096,
}

function player:isOTA()
if not IsValid(self) then return false end
return table.HasValue(OTA,self:Team())
end

end)

называешь sh_… .lua и в lua/autorun кидаешь
Плохо, что модератор предоставляет такой простой код в данном виде. Использование table.HasValue не эффективно.

Правки:
Lua:
hook.Add("PostGamemodeLoaded", "MetaLoad", function()
local player = FindMetaTable("Player")
local tableOTA = {
    [TEAM_008] = true,
    [TEAM_035] = true,
    [TEAM_096] = true,
}

function player:isOTA()
if not IsValid(self) then return end
return tableOTA[self:Team()]
end

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