JASS
Variables: String Array [12] Named OldName, String Array [12] Named NewName
Trigger Name: NameChange
Trigger:
function Trig_NameChange_Conditions takes nothing returns boolean
if ( SubStringBJ(StringCase(GetEventPlayerChatString(), false), 1, 6) == "-name " ) then
return true
endif
return false
endfunction
function Trig_NameChange_Actions takes nothing returns nothing
local string oldName = udg_OldName[GetConvertedPlayerId(GetTriggerPlayer())]
local string newName = udg_NewName[GetConvertedPlayerId(GetTriggerPlayer())]
if GetBooleanOr(oldName == "", oldName == null) then
set oldName = GetPlayerName(GetTriggerPlayer())
set newName = SubStringBJ(GetEventPlayerChatString(), 7, 23)
call SetPlayerName( GetTriggerPlayer(), newName )
else
set newName = SubStringBJ(GetEventPlayerChatString(), 7, 23)
call SetPlayerName( GetTriggerPlayer(), newName )
endif
set udg_OldName[GetConvertedPlayerId(GetTriggerPlayer())] = oldName
set udg_NewName[GetConvertedPlayerId(GetTriggerPlayer())] = newName
endfunction
//===========================================================================
function InitTrig_NameChange takes nothing returns nothing
set gg_trg_NameChange = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(0), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(1), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(2), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(3), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(4), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(5), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(6), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(7), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(8), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(9), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(10), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(11), "", false )
call TriggerRegisterPlayerChatEvent( gg_trg_NameChange, Player(12), "", false )
call TriggerAddCondition( gg_trg_NameChange, Condition( function Trig_NameChange_Conditions ) )
call TriggerAddAction( gg_trg_NameChange, function Trig_NameChange_Actions )
endfunction