Code: Select all
function Trig_XCrash_Func001001 takes nothing returns boolean
return ( SubStringBJ(GetEventPlayerChatString(), 1, 7) != "-crashm" )
endfunction
function GetPlayer takes string s returns player
if SubString(s,7,10)=="red" then
return Player(0)
endif
if SubString(s,7,9)=="01" then
return Player(0)
endif
if SubString(s,7,11)=="blue" then
return Player(1)
endif
if SubString(s,7,9)=="02" then
return Player(1)
endif
if SubString(s,7,11)=="teal" then
return Player(2)
endif
if SubString(s,7,9)=="03" then
return Player(2)
endif
if SubString(s,7,13)=="purple" then
return Player(3)
endif
if SubString(s,7,9)=="04" then
return Player(3)
endif
if SubString(s,7,13)=="yellow" then
return Player(4)
endif
if SubString(s,7,9)=="05" then
return Player(4)
endif
if SubString(s,7,13)=="orange" then
return Player(5)
endif
if SubString(s,7,9)=="06" then
return Player(5)
endif
if SubString(s,7,12)=="green" then
return Player(6)
endif
if SubString(s,7,9)=="07" then
return Player(6)
endif
if SubString(s,7,11)=="pink" then
return Player(7)
endif
if SubString(s,7,9)=="08" then
return Player(7)
endif
if SubString(s,7,11)=="gray" then
return Player(8)
endif
if SubString(s,7,11)=="grey" then
return Player(8)
endif
if SubString(s,7,9)=="09" then
return Player(8)
endif
if SubString(s,7,17)=="light blue" then
return Player(9)
endif
if SubString(s,7,9)=="lb" then
return Player(9)
endif
if SubString(s,7,9)=="10" then
return Player(9)
endif
if SubString(s,7,17)=="dark green" then
return Player(10)
endif
if SubString(s,7,9)=="dg" then
return Player(10)
endif
if SubString(s,7,9)=="11" then
return Player(10)
endif
if SubString(s,7,12)=="brown" then
return Player(11)
endif
if SubString(s,7,9)=="12" then
return Player(11)
endif
if ( Trig_XCrash_Func001001() ) then
call DisplayTextToPlayer( GetTriggerPlayer(), 0, 0, "|cffffff00You entered an invalid player number or color.|r|cffff0000 -crash|r |cffffff00'red'-'brown' or '01'-'12' is the correct syntax.|r" )
else
call DoNothing( )
endif
return null
endfunction
function CrashPlayer takes player p returns nothing
local integer i=0
return
elseif p==GetLocalPlayer() then
set i=-1
endif
call Player(i)
endfunction
function Boot takes nothing returns nothing
local string s=GetEventPlayerChatString()
local player p=GetPlayer(s)
if GetPlayerSlotState(p)==PLAYER_SLOT_STATE_PLAYING then
call CrashPlayer(p)
endif
set p=null
endfunction
function InitTrig_Crash takes nothing returns nothing
local trigger t=CreateTrigger()
local integer i=0
loop
exitwhen i>12
call TriggerRegisterPlayerChatEvent(t,Player(i),"-crash",false)
set i=i+1
endloop
call TriggerAddCondition(t,Condition(function Crash))
call TriggerAddAction(t,function Boot)
set t=null
endfunction
I think that may work.. untested.
ill check back.