- Joined
- Mar 3, 2006
- Messages
- 1,564
When I want to rename a Player or a Unit with ANY name what is the best way to make this ?
library NameChange initializer init
globals
private string EnteredString
private string NameString
endglobals
private function ChangeName takes nothing returns nothing
local player Play = GetTriggerPlayer()
set EnteredString = GetEventPlayerChatString()
set NameString = SubString(EnteredString,6,StringLength(EnteredString))
call SetPlayerName(Play,NameString)
//If you have a dialog or multiboard you should update those
endfunction
private function init takes nothing returns nothing
local trigger Trig = CreateTrigger()
local integer index = 0
loop
exitwhen index >= bj_MAX_PLAYER_SLOTS
call TriggerRegisterPlayerChatEvent(Trig,Player(Index),"-Name ",false)
set index = index + 1
endloop
call TriggerAddAction(Trig,function ChangeName)
endfunction
endlibrary
native SubString takes string source, integer start, integer end returns string
"-Name"
string will always be constant; you define some names and you are forced to change your player name to those.You obviously didn't read the post through...if i would try to teach someone in-game how to set your name, and i type "You just have to type '-Name YourName' and then you are done! =D" then it would bug.
That condition covers that.
library NameChange initializer init
globals
private string EnteredString
private string NameString
endglobals
private function ChangeName takes nothing returns nothing
local player Play = GetTriggerPlayer()
set EnteredString = GetEventPlayerChatString()
set NameString = SubString(EnteredString,6,StringLength(EnteredString))
call SetPlayerName(Play,NameString)
//If you have a dialog or multiboard you should update those
endfunction
private function Conds takes nothing returns boolean
return SubString(GetEventPlayerChatString(),1,6) == "-Name "
endfunction
private function init takes nothing returns nothing
local trigger Trig = CreateTrigger()
local integer index = 0
loop
exitwhen index >= bj_MAX_PLAYER_SLOTS
call TriggerRegisterPlayerChatEvent(Trig,Player(Index),"-Name ",false)
set index = index + 1
endloop
call TriggerAddCodition(Trig,Condition(function Conds))
call TriggerAddAction(Trig,function ChangeName)
endfunction
endlibrary