Will this Trigger work?

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:

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'.
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
>>My biggest worry is that ie Player 1 (Red) types '-ally red', and creates a Dialog Box for himself..
If there is no such event...it wont happen

Your code is such a mess....Why not you use "elseif" function?
 

Exide

I am amazingly focused right now!
Reaction score
448
>Your code is such a mess....Why not you use "elseif" function?

Because it's the same thing..
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
1 if will do all the works :D

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
    elseif ( ( 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 )

    elseif ( ( 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
    elseif ( ( 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 )
    elseif ( ( 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
    elseif ( ( 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 )
    elseif( ( 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
    elseif ( ( 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 )
    elseif( ( 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
    elseif ( ( 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
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top