Exide
I am amazingly focused right now!
- Reaction score
- 448
I haven't tested this trigger yet, because I need one more player to test it on so I can't do that. I just wanted to know if it looks like it could work.
The idea is that one player types a message, '-ally *color*', and then the owner of said color will get a dialog box, saying '*(Triggering Player)* wants to form an alliance with you' - 'accept', 'decline''.
So basically yes or no.
I used to have this trigger in GUI, and I had one trigger for each player, which is obviously a mess. So I thought I could optimize it a little, and maybe make one trigger out of it.
My biggest worry is that ie Player 1 (Red) types '-ally red', and creates a Dialog Box for himself..
Here's the trigger:
I think I fixed my biggest worry in the events, not sure, though.
EDIT:
'TRIGSTR_1414' should say something similar to; 'You are already allied with that player'.
The idea is that one player types a message, '-ally *color*', and then the owner of said color will get a dialog box, saying '*(Triggering Player)* wants to form an alliance with you' - 'accept', 'decline''.
So basically yes or no.
I used to have this trigger in GUI, and I had one trigger for each player, which is obviously a mess. So I thought I could optimize it a little, and maybe make one trigger out of it.
My biggest worry is that ie Player 1 (Red) types '-ally red', and creates a Dialog Box for himself..
Here's the trigger:
JASS:
function Trig_Red_Ally_Color_Copy_Actions takes nothing returns nothing
set udg_Allier = GetTriggerPlayer()
if ( ( GetEventPlayerChatString() == "-ally red" ) ) and ( ( IsPlayerAlly(GetTriggerPlayer(), Player(0)) == true ) ) then
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "" )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "TRIGSTR_1414" )
return
endif
if ( ( GetEventPlayerChatString() == "-ally blue" ) ) and ( ( IsPlayerAlly(GetTriggerPlayer(), Player(1)) == true ) ) then
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "" )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "TRIGSTR_1414" )
return
endif
if ( ( GetEventPlayerChatString() == "-ally teal" ) ) and ( ( IsPlayerAlly(GetTriggerPlayer(), Player(2)) == true ) ) then
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "" )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "TRIGSTR_1415" )
return
endif
if ( ( GetEventPlayerChatString() == "-ally purple" ) ) and ( ( IsPlayerAlly(GetTriggerPlayer(), Player(3)) == true ) ) then
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "" )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "TRIGSTR_1416" )
return
endif
if ( ( GetEventPlayerChatString() == "-ally yellow" ) ) and ( ( IsPlayerAlly(GetTriggerPlayer(), Player(4)) == true ) ) then
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "" )
call DisplayTimedTextToForce( GetForceOfPlayer(GetTriggerPlayer()), 10.00, "TRIGSTR_1417" )
return
endif
if ( ( GetEventPlayerChatString() == "-ally red" ) ) then
set udg_Ally_Target = Player(0)
call DialogClear( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())] )
call DialogSetMessage( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], ( ( " " + GetPlayerName(GetTriggerPlayer()) ) + ( " (GetTriggerPlayer())" + "|n wants to form an alliance with you." ) ) )
set udg_Ally_Dialog_Button_Yes[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1418", 0)
// Yes / No
set udg_Ally_Dialog_Button_No[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1419", 0)
call DialogDisplay( udg_Ally_Target, udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], true )
endif
if ( ( GetEventPlayerChatString() == "-ally blue" ) ) then
set udg_Ally_Target = Player(1)
call DialogClear( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())] )
call DialogSetMessage( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], ( ( " " + GetPlayerName(GetTriggerPlayer()) ) + ( " (GetTriggerPlayer())" + "|n wants to form an alliance with you." ) ) )
set udg_Ally_Dialog_Button_Yes[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1418", 0)
// Yes / No
set udg_Ally_Dialog_Button_No[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1419", 0)
call DialogDisplay( udg_Ally_Target, udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], true )
endif
if ( ( GetEventPlayerChatString() == "-ally teal" ) ) then
set udg_Ally_Target = Player(2)
call DialogClear( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())] )
call DialogSetMessage( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], ( ( " " + GetPlayerName(GetTriggerPlayer()) ) + ( " (GetTriggerPlayer())" + "|n wants to form an alliance with you." ) ) )
set udg_Ally_Dialog_Button_Yes[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1418", 0)
// Yes / No
set udg_Ally_Dialog_Button_No[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1419", 0)
call DialogDisplay( udg_Ally_Target, udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], true )
endif
if ( ( GetEventPlayerChatString() == "-ally purple" ) ) then
set udg_Ally_Target = Player(3)
call DialogClear( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())] )
call DialogSetMessage( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], ( ( " " + GetPlayerName(GetTriggerPlayer()) ) + ( " (GetTriggerPlayer())" + "|n wants to form an alliance with you." ) ) )
set udg_Ally_Dialog_Button_Yes[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1418", 0)
// Yes / No
set udg_Ally_Dialog_Button_No[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1419", 0)
call DialogDisplay( udg_Ally_Target, udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], true )
endif
if ( ( GetEventPlayerChatString() == "-ally yellow" ) ) then
set udg_Ally_Target = Player(4)
call DialogClear( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())] )
call DialogSetMessage( udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], ( ( " " + GetPlayerName(GetTriggerPlayer()) ) + ( " (GetTriggerPlayer())" + "|n wants to form an alliance with you." ) ) )
set udg_Ally_Dialog_Button_Yes[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1418", 0)
// Yes / No
set udg_Ally_Dialog_Button_No[GetConvertedPlayerId(GetTriggerPlayer())] = DialogAddButton(udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], "TRIGSTR_1419", 0)
call DialogDisplay( udg_Ally_Target, udg_Ally_Dialog[GetConvertedPlayerId(GetTriggerPlayer())], true )
endif
endfunction
//===========================================================================
function InitTrig_Red_Ally_Color_Copy takes nothing returns nothing
set gg_trg_Red_Ally_Color_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Red_Ally_Color_Copy )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(0), "-ally blue", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(0), "-ally teal", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(0), "-ally purple", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(0), "-ally yellow", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(1), "-ally red", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(1), "-ally teal", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(1), "-ally purple", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(1), "-ally yellow", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(2), "-ally red", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(2), "-ally blue", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(2), "-ally purple", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(2), "-ally yellow", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(3), "-ally red", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(3), "-ally blue", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(3), "-ally teal", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(3), "-ally yellow", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(4), "-ally red", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(4), "-ally blue", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(4), "-ally teal", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Red_Ally_Color_Copy, Player(4), "-ally purple", true )
call TriggerAddAction( gg_trg_Red_Ally_Color_Copy, function Trig_Red_Ally_Color_Copy_Actions )
endfunction
I think I fixed my biggest worry in the events, not sure, though.
EDIT:
'TRIGSTR_1414' should say something similar to; 'You are already allied with that player'.