Quote:
Originally Posted by ddm999
Your problem with the security icons was everytime you spawned, it would call flaginfo, which is last overwritten in base_shutdown, which tries to find buttons for your security system (no-one uses buttons, so everyone copies the aardvark stuff generally). The buttons don't exist, so it just resorts to putting the security online icons there.
|
Ok, I fixed a couple of things. Everything else seems to be working properly except the gen repair functions. I'm still trying to figure out why. Here's the gen parts after I fixed the errors.
Code:
----------------------------------------------------------------
-- Generators Destroy
----------------------------------------------------------------
red_gen_trigger = trigger_ff_script:new({ })
function red_gen_trigger:onexplode( trigger_entity )
if IsDetpack( trigger_entity ) then
if CastToDetpack( trigger_entity ):GetTeamId() == Team.kBlue then
if redgenup == 1 then
redsecstatus = 0
RemoveSchedule("secup10red")
RemoveSchedule("beginclosered")
RemoveSchedule("secupred")
OutputEvent( "red_logicdown", "Trigger" )
OpenDoor("red_gen_doorhack")
BroadCastMessage("#FF_RED_GENBLOWN")
SpeakAll( "SD_REDDOWN" )
RemoveHudItemFromAll( "red-sec-up" )
AddHudIconToAll( "hud_secdown.vtf", "red-sec-down", sec_iconx, sec_icony, sec_iconw, sec_iconh, 3 )
end
end
end
return EVENT_ALLOWED
end
function red_gen_trigger:allowed( trigger_entity ) return EVENT_DISALLOWED
end
blue_gen_trigger = trigger_ff_script:new({ })
function blue_gen_trigger:onexplode( trigger_entity )
if IsDetpack( trigger_entity ) then
if CastToDetpack( trigger_entity ):GetTeamId() == Team.kRed then
if bluegenup == 1 then
bluesecstatus = 0
RemoveSchedule("secup10blue")
RemoveSchedule("begincloseblue")
RemoveSchedule("secupblue")
OutputEvent( "blue_logicdown", "Trigger" )
OpenDoor("blue_gen_doorhack")
BroadCastMessage("#FF_BLUE_GENBLOWN")
SpeakAll( "SD_BLUEDOWN" )
RemoveHudItemFromAll( "blue-sec-up" )
AddHudIconToAll( "hud_secdown.vtf", "blue-sec-down", sec_iconx, sec_icony, sec_iconw, sec_iconh, 2 )
end
end
end
return EVENT_ALLOWED
end
function blue_gen_trigger:allowed( trigger_entity ) return EVENT_DISALLOWED
end
-----------------------------------------------------------------------------
-- Generators Repair
-----------------------------------------------------------------------------
red_gen_repair_trigger = func_button:new({})
red_gen_repair_trigger_script = trigger_ff_script:new()
redspannerclang = 0
redgenup = 1
redclangcntr = 0
function red_gen_repair_trigger_script:ontouch( touch_entity )
if IsPlayer( touch_entity ) then
local player = CastToPlayer( touch_entity )
if player:GetActiveWeaponName() == "ff_weapon_spanner" and player:GetTeamId() == Team.kRed then
redspannerclang = 1
end
end
end
function red_gen_repair_trigger_script:onendtouch()
redspannerclang = 0
end
function red_gen_repair_trigger:ondamage()
if redspannerclang == 1 then
if redgenup == 0 then
OutputEvent( "redspannerhit", "PlaySound" )
ConsoleToAll("hitting gen")
redclangcntr = redclangcntr + 1
if redclangcntr > 4 then
redclangcntr = 0
BroadCastMessage("#FF_RED_GEN_OK")
OutputEvent( "red_logicup", "Trigger" )
redsecstatus = 1
CloseDoor("red_gen_doorhack")
redspannerclang = 0
redgenup = 1
secupred()
end
end
end
return EVENT_DISALLOWED
end
blue_gen_repair_trigger = func_button:new({})
blue_gen_repair_trigger_script = trigger_ff_script:new()
bluespannerclang = 0
bluegenup = 1
blueclangcntr = 0
function blue_gen_repair_trigger_script:ontouch( touch_entity )
if IsPlayer( touch_entity ) then
local player = CastToPlayer( touch_entity )
if player:GetActiveWeaponName() == "ff_weapon_spanner" and player:GetTeamId() == Team.kBlue then
bluespannerclang = 1
end
end
end
function blue_gen_repair_trigger_script:onendtouch()
bluespannerclang = 0
end
function blue_gen_repair_trigger:ondamage()
if bluespannerclang == 1 then
if bluegenup == 0 then
ConsoleToAll("hitting gen")
OutputEvent( "bluespannerhit", "PlaySound" )
blueclangcntr = blueclangcntr + 1
if blueclangcntr > 4 then
blueclangcntr = 0
BroadCastMessage("#FF_BLUE_GEN_OK")
OutputEvent( "blue_logicup", "Trigger" )
bluesecstatus=1
CloseDoor("blue_gen_doorhack")
bluespannerclang = 0
bluegenup = 1
secupblue()
end
end
end
return EVENT_DISALLOWED
end