Trading system

Status
Not open for further replies.
Level 4
Joined
Apr 14, 2021
Messages
56
I have to ask how does trading resources actually work and when someone can't and WHY. I don't really even know where to begin and what details to share so I'm just gonna leave the map so you can see for yourself and hopefully know what's wrong and why teal can't trade to light blue and gray; and why light blue can't trade to gray (but can to teal??). There are two versions: for classic WE and reforged WE. Preferably reforged if you have it (SD settings though). Is it something with the outlay, triggers, settings?
 

Attachments

  • the map but classic WE.w3x
    1.6 MB · Views: 8
  • the map.w3x
    1.6 MB · Views: 5
Last edited:
Level 14
Joined
Jan 10, 2023
Messages
247
There are two ways to achieve this:
  1. Via the 'Use Custom Forces' option in the 'Force Properties' menu, found on the WE toolbar ( 'Scenerio' -> 'Force Properties' ).
  2. Setting the aspect of an alliance via Triggers
Depending on what your needs are, you would choose one over the other.
  • If the alliances/ resource trading options will never be changed AND you have no other reason not to use the 'Use Custom Forces' option from the 'Force Properties' menu, then the 'Use Custom Forces' option in the 'Force Properties' menu is the way to go
  • If the alliances/ resource trading options will change, then setting the aspect of an alliance via Triggers will be your best option.
I'll cover both briefly.

Allowing Resource Sharing via the 'Use Custom Forces' option in the 'Force Properties' menu:
  1. Using the WE toolbar, click on the tab labelled 'Scenerio' and click on 'Force Properties' from the drop-down options.
  2. At the top-left corner of the 'Force Properties' window, you will see a checkbox labelled 'Use Custom Forces' - Select this.
  3. You may now Add, Remove, or Rename Forces (groups of Players) and set the aspect of the alliance for that force
    • Whether the players on that force are allied, share a victory, share vision, share limited unit control, or fully shared units.
    • If Players do not share vision then they cannot share limited unit control.
    • If Players do no share limited unit control then they cannot fully share units.
    • You do not have to be allied to share victory, vision, or units.
If you select the 'Allied' checkbox for a Force, then all Players on that Force will be able to share resources with one another via the 'Allies F11' menu.

Allowing Resource Sharing via setting the aspect of an alliance via Triggers:
This trigger action will allow Player 1 to give resources to Player 2: (Player 2 will still not be able to give resources to Player 1)
  • Player - For Player 1 (Red), turn Alliance (non-aggression) On toward Player 2 (Blue)
This trigger action will allow Player 2 to give resources to Player 1: (Player 1 will still not be able to give resources to Player 2)
  • Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 1 (Red)
These trigger actions together will allow Player 1 and Player 2 each to give resources to the other:
  • Player - For Player 1 (Red), turn Alliance (non-aggression) On toward Player 2 (Blue)
  • Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 1 (Red)

Another important piece of the 'Allies F11' menu resource trading that you should keep in mind if you are no aware of it already is that it is subject to upkeep.
All shared resources cost the giver the given amount, but the receiving player will have their upkeep applied to the amount:
  • If I have Low Upkeep and you give me 100 Gold, you will lose 100 Gold, but I will only get 70 Gold.
  • If I have High Upkeep and you give me 100 Gold, you will lose 100 Gold, but I will only get 40 Gold.

PS: Another somewhat important aspect of the 'Allies F11' menu resource trading is that the increment can be set from the 'Gameplay Constants' menu, found on the WE toolbar ( 'Advanced' -> 'Gameplay Constants' ). Conveniently, these are the two topmost items on the gigantic list:
  1. 'Ally Trading Increment - Control Click' (default is 200)
  2. 'Ally Trading Increment - Normal Click' (default is 100)
In my 15+ years of experience playing Warcraft 3, I have never learned how to perform a 'Control Click'... if someone knows how let me know lol!
 
Last edited:
Level 4
Joined
Apr 14, 2021
Messages
56
There are two ways to achieve this:
  1. Via the 'Use Custom Forces' option in the 'Force Properties' menu, found on the WE toolbar ( 'Scenerio' -> 'Force Properties' ).
  2. Setting the aspect of an alliance via Triggers
Depending on what your needs are, you would choose one over the other.
  • If the alliances/ resource trading options will never be changed AND you have no other reason not to use the 'Use Custom Forces' option from the 'Force Properties' menu, then the 'Use Custom Forces' option in the 'Force Properties' menu is the way to go
  • If the alliances/ resource trading options will change, then setting the aspect of an alliance via Triggers will be your best option.
I'll cover both briefly.

Allowing Resource Sharing via the 'Use Custom Forces' option in the 'Force Properties' menu:
  1. Using the WE toolbar, click on the tab labelled 'Scenerio' and click on 'Force Properties' from the drop-down options.
  2. At the top-left corner of the 'Force Properties' window, you will see a checkbox labelled 'Use Custom Forces' - Select this.
  3. You may now Add, Remove, or Rename Forces (groups of Players) and set the aspect of the alliance for that force
    • Whether the players on that force are allied, share a victory, share vision, share limited unit control, or fully shared units.
    • If Players do not share vision then they cannot share limited unit control.
    • If Players do no share limited unit control then they cannot fully share units.
    • You do not have to be allied to share victory, vision, or units.
If you select the 'Allied' checkbox for a Force, then all Players on that Force will be able to share resources with one another via the 'Allies F11' menu.

Allowing Resource Sharing via setting the aspect of an alliance via Triggers:
This trigger action will allow Player 1 to give resources to Player 2: (Player 2 will still not be able to give resources to Player 1)
  • Player - For Player 1 (Red), turn Alliance (non-aggression) On toward Player 2 (Blue)
This trigger action will allow Player 2 to give resources to Player 1: (Player 1 will still not be able to give resources to Player 2)
  • Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 1 (Red)
These trigger actions together will allow Player 1 and Player 2 each to give resources to the other:
  • Player - For Player 1 (Red), turn Alliance (non-aggression) On toward Player 2 (Blue)
  • Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 1 (Red)

Another important piece of the 'Allies F11' menu resource trading that you should keep in mind if you are no aware of it already is that it is subject to upkeep.
All shared resources cost the giver the given amount, but the receiving player will have their upkeep applied to the amount:
  • If I have Low Upkeep and you give me 100 Gold, you will lose 100 Gold, but I will only get 70 Gold.
  • If I have High Upkeep and you give me 100 Gold, you will lose 100 Gold, but I will only get 40 Gold.

PS: Another somewhat important aspect of the 'Allies F11' menu resource trading is that the increment can be set from the 'Gameplay Constants' menu, found on the WE toolbar ( 'Advanced' -> 'Gameplay Constants' ). Conveniently, these are the two topmost items on the gigantic list:
  1. 'Ally Trading Increment - Control Click' (default is 200)
  2. 'Ally Trading Increment - Normal Click' (default is 100)
In my 15+ years of experience playing Warcraft 3, I have never learned how to perform a 'Control Click'... if someone knows how let me know lol!
Tried it, doesn't work? I literally did what you said but it doesn't allow me to trade even when it's an option. Why is it like that? Also a control click is hold down the ctrl button and press the little box for giving resources.
 
Level 14
Joined
Jan 10, 2023
Messages
247
Are you playing a single player game?

Try making a Local Area Network game or an online game, there is no resource trading in a Single Player game, but that's the only problem left I can see..

Thanks for the control-click info! lol I figured it was something simple enough but just never figured it out/ looked it up.
 
Level 4
Joined
Apr 14, 2021
Messages
56
Are you playing a single player game?

Try making a Local Area Network game or an online game, there is no resource trading in a Single Player game, but that's the only problem left I can see..

Thanks for the control-click info! lol I figured it was something simple enough but just never figured it out/ looked it up.
I did make an online game, but still the same as before. And no problem.
 
Level 4
Joined
Apr 14, 2021
Messages
56
Alright, I hope you'll find the issue since I have no idea what I'm doing lol.
Edit: So? Any luck?
 
Last edited:
Level 14
Joined
Jan 10, 2023
Messages
247
This is what I was using to test it. I'm going to download your map and see what you have going on since it still isn't working; I'm hoping I find some implementation error or more likely, these actions conflict with something else you have going on/ need to be catered toward your needs. I'm guessing that because it works fine for me when I use this test map on LAN with computers, but I wanted to share what I had in case it helps speed us along.

Just so we're on the same page:
I was testing this by starting a Local Area Network match and adding two computer players and using the chat based triggers I made for this test map.
My hope is that you would repurpose the actions in these triggers by fitting them to the events which should cause resource trading to be enabled/disabled. The examples I made alter the tradability individually per player, and I'm hoping once we are both fully up-to-snuff on the concept that you will have the knowledge to apply the actions in such a way to achieve exactly what you want (maybe you want trading allowed within a team at certain times, maybe only specific players at specific times, et c.). So ultimately, let's try to focus on understanding the general function, and then we'll move toward applying it exactly how you want (and if you need help when we come to that point, we'll do that too).


For the sake of conversation, here's what I have for triggers:
I tested it using custom forces and without custom forces, but at the end of the day I put the test-map back to not using custom forces.
I'm using one user-defined-global player variable called 'TargetPlayer" in order so make the trigger actions a little more clear.

Standard Melee Map Initialization (minus victory/defeat conditions)
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Melee Game - Use melee time of day (for all players)
      • Melee Game - Limit Heroes to 1 per Hero-type (for all players)
      • Melee Game - Give trained Heroes a Scroll of Town Portal (for all players)
      • Melee Game - Set starting resources (for all players)
      • Melee Game - Remove creeps and critters from used start locations (for all players)
      • Melee Game - Create starting units (for all players)
      • Melee Game - Run melee AI scripts (for computer players)
giveOn
  • giveOn
    • Events
      • Player - Player 1 (Red) types a chat message containing -giveon as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 8
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 9
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 9))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 10))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For (Triggering player), turn Alliance (non-aggression) On toward TargetPlayer
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can now give resources to ) + (Name of TargetPlayer))
giveOff
  • giveOff
    • Events
      • Player - Player 1 (Red) types a chat message containing -giveoff as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 9
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 10
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 10))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 11))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For Player 1 (Red), turn Alliance (non-aggression) Off toward TargetPlayer
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can no longer give resources to ) + (Name of TargetPlayer))
takeOn
  • takeOn
    • Events
      • Player - Player 1 (Red) types a chat message containing -takeon as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 8
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 9
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 9))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 10))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For TargetPlayer, turn Alliance (non-aggression) On toward (Triggering player)
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can now get resources from ) + (Name of TargetPlayer))
takeOff
  • takeOff
    • Events
      • Player - Player 1 (Red) types a chat message containing -takeoff as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 9
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 10
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 10))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 11))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For TargetPlayer, turn Alliance (non-aggression) Off toward (Triggering player)
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can no longer get resources from ) + (Name of TargetPlayer))
 

Attachments

  • alliance test.w3m
    21.8 KB · Views: 8
Level 11
Joined
Jun 20, 2017
Messages
380
I want a similar system where you can type a command, it allows you to take a unit from other players with a vote system!
The voting should work like the votekick system!
  • Take
    • Events
      • Player - Player 1 (Red) types a chat message containing -take as A substring
      • Player - Player 2 (Blue) types a chat message containing -take as An exact match
      • Player - Player 3 (Teal) types a chat message containing -take as An exact match
      • Player - Player 4 (Purple) types a chat message containing -take as An exact match
      • Player - Player 5 (Yellow) types a chat message containing -take as An exact match
      • Player - Player 6 (Orange) types a chat message containing -take as An exact match
      • Player - Player 7 (Green) types a chat message containing -take as An exact match
      • Player - Player 8 (Pink) types a chat message containing -take as An exact match
      • Player - Player 9 (Gray) types a chat message containing -take as An exact match
      • Player - Player 10 (Light Blue) types a chat message containing -take as An exact match
      • Player - Player 11 (Dark Green) types a chat message containing -take as An exact match
      • Player - Player 12 (Brown) types a chat message containing -take as An exact match
      • Player - Player 1 (Red) types a chat message containing -t as An exact match
      • Player - Player 2 (Blue) types a chat message containing -t as An exact match
      • Player - Player 3 (Teal) types a chat message containing -t as An exact match
      • Player - Player 4 (Purple) types a chat message containing -t as An exact match
      • Player - Player 5 (Yellow) types a chat message containing -t as An exact match
      • Player - Player 6 (Orange) types a chat message containing -t as An exact match
      • Player - Player 7 (Green) types a chat message containing -t as An exact match
      • Player - Player 8 (Pink) types a chat message containing -t as An exact match
      • Player - Player 9 (Gray) types a chat message containing -t as An exact match
      • Player - Player 10 (Light Blue) types a chat message containing -t as An exact match
      • Player - Player 11 (Dark Green) types a chat message containing -t as An exact match
      • Player - Player 12 (Brown) types a chat message containing -t as An exact match
    • Conditions
    • Actions
      • Set VariableSet Player_ChampionTaken = (Triggering player)
      • Set VariableSet Integer_Commands = (Integer((Substring((Entered chat string), 7, (Length of (Entered chat string))))))
      • Set VariableSet Integer_Vote = (((Player number of Player_ChampionTaken) - 1) / 6)
      • -------- --------
      • Game - Display to (All allies of Player 1 (Red).) for 10.00 seconds the text: ((Strings_PlayersColor[(Player number of (Player(Integer_Commands)))] + ((Name of (Player(Integer_Commands))) + |r)) + ( wants to take the Champion from + (Strings_PlayersColor[(Player number of Player_ChampionTaken)] + ((Name of Player_ChampionTaken) + |r!)
      • Game - Display to (All allies of Player 12 (Brown).) for 10.00 seconds the text: ((Strings_PlayersColor[(Player number of (Player(Integer_Commands)))] + ((Name of (Player(Integer_Commands))) + |r)) + ( wants to take the Champion from + (Strings_PlayersColor[(Player number of Player_ChampionTaken)] + ((Name of Player_ChampionTaken) + |r!)
      • -------- --------
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units currently selected by Player_ChampionTaken) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Player(Integer_Commands)) is an ally of Player 23 (Emerald).) Equal to True
              • Integers_VoteYes[Integer_Vote] Greater than Integers_VoteNo[Integer_Vote]
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Unit-type of (Picked unit)) Equal to West Champion
                  • (West Champion 0014 <gen> is selected by Player_ChampionTaken.) Equal to True
                • Then - Actions
                  • Unit - Change ownership of (Picked unit) to (Player(Integer_Commands)) and Change color
                  • Selection - Select (Picked unit) for (Player(Integer_Commands))
                  • Game - Display to (All allies of Player 1 (Red).) for 10.00 seconds the text: ((Strings_PlayersColor[(Player number of (Player(Integer_Commands)))] + ((Name of (Player(Integer_Commands))) + |r)) + ( can now take the Champion from + (Strings_PlayersColor[(Player number of Player_ChampionTaken)] + ((Name of Player_ChampionTaken) + |r.))
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Unit-type of (Picked unit)) Equal to East Champion
                      • (East Champion 0015 <gen> is selected by Player_ChampionTaken.) Equal to True
                    • Then - Actions
                      • Unit - Change ownership of (Picked unit) to (Player(Integer_Commands)) and Change color
                      • Selection - Select (Picked unit) for (Player(Integer_Commands))
                      • Game - Display to (All allies of Player 12 (Brown).) for 10.00 seconds the text: ((Strings_PlayersColor[(Player number of (Player(Integer_Commands)))] + ((Name of (Player(Integer_Commands))) + |r)) + ( can now take the Champion from + (Strings_PlayersColor[(Player number of Player_ChampionTaken)] + ((Name of Player_ChampionTaken) + |r.))
                    • Else - Actions
            • Else - Actions
      • -------- --------
      • Set VariableSet Integers_VoteYes[Integer_Vote] = 1
      • Set VariableSet Integers_VoteNo[Integer_Vote] = 1
  • Take2
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Entered chat string) Equal to -yes
        • Then - Actions
          • Set VariableSet Integers_VoteYes[Integer_Vote] = (Integers_VoteYes[Integer_Vote] + 1)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Entered chat string) Equal to -no
            • Then - Actions
              • Set VariableSet Integers_VoteNo[Integer_Vote] = (Integers_VoteNo[Integer_Vote] + 1)
            • Else - Actions
[/TRIGGER]
 
Last edited:
Level 14
Joined
Jan 10, 2023
Messages
247
Alrighty, for the sake of keeping the thread on topic, how about I make something, message you and then if you are having trouble you can either ask me or start a new thread if I'm not available. It will be a few days before I can get to it.
 
Level 4
Joined
Apr 14, 2021
Messages
56
This is what I was using to test it. I'm going to download your map and see what you have going on since it still isn't working; I'm hoping I find some implementation error or more likely, these actions conflict with something else you have going on/ need to be catered toward your needs. I'm guessing that because it works fine for me when I use this test map on LAN with computers, but I wanted to share what I had in case it helps speed us along.

Just so we're on the same page:
I was testing this by starting a Local Area Network match and adding two computer players and using the chat based triggers I made for this test map.
My hope is that you would repurpose the actions in these triggers by fitting them to the events which should cause resource trading to be enabled/disabled. The examples I made alter the tradability individually per player, and I'm hoping once we are both fully up-to-snuff on the concept that you will have the knowledge to apply the actions in such a way to achieve exactly what you want (maybe you want trading allowed within a team at certain times, maybe only specific players at specific times, et c.). So ultimately, let's try to focus on understanding the general function, and then we'll move toward applying it exactly how you want (and if you need help when we come to that point, we'll do that too).


For the sake of conversation, here's what I have for triggers:
I tested it using custom forces and without custom forces, but at the end of the day I put the test-map back to not using custom forces.
I'm using one user-defined-global player variable called 'TargetPlayer" in order so make the trigger actions a little more clear.

Standard Melee Map Initialization (minus victory/defeat conditions)
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Melee Game - Use melee time of day (for all players)
      • Melee Game - Limit Heroes to 1 per Hero-type (for all players)
      • Melee Game - Give trained Heroes a Scroll of Town Portal (for all players)
      • Melee Game - Set starting resources (for all players)
      • Melee Game - Remove creeps and critters from used start locations (for all players)
      • Melee Game - Create starting units (for all players)
      • Melee Game - Run melee AI scripts (for computer players)
giveOn
  • giveOn
    • Events
      • Player - Player 1 (Red) types a chat message containing -giveon as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 8
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 9
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 9))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 10))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For (Triggering player), turn Alliance (non-aggression) On toward TargetPlayer
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can now give resources to ) + (Name of TargetPlayer))
giveOff
  • giveOff
    • Events
      • Player - Player 1 (Red) types a chat message containing -giveoff as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 9
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 10
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 10))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 11))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For Player 1 (Red), turn Alliance (non-aggression) Off toward TargetPlayer
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can no longer give resources to ) + (Name of TargetPlayer))
takeOn
  • takeOn
    • Events
      • Player - Player 1 (Red) types a chat message containing -takeon as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 8
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 9
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 9))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 9, 10))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For TargetPlayer, turn Alliance (non-aggression) On toward (Triggering player)
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can now get resources from ) + (Name of TargetPlayer))
takeOff
  • takeOff
    • Events
      • Player - Player 1 (Red) types a chat message containing -takeoff as A substring
    • Conditions
      • (Length of (Entered chat string)) Greater than 9
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Length of (Entered chat string)) Equal to 10
        • Then - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 10))))))
        • Else - Actions
          • Set VariableSet TargetPlayer = (Player((Integer((Substring((Entered chat string), 10, 11))))))
      • If ((Triggering player) Equal to TargetPlayer) then do (Skip remaining actions) else do (Do nothing)
      • Player - For TargetPlayer, turn Alliance (non-aggression) Off toward (Triggering player)
      • Game - Display to (All players) the text: (((Name of (Triggering player)) + can no longer get resources from ) + (Name of TargetPlayer))
So this is a system where when you type something it does what? I'm not the best with triggers of this experienced kind.
 
Level 14
Joined
Jan 10, 2023
Messages
247
So this is a system where when you type something it does what? I'm not the best with triggers of this experienced kind.
Wow, sorry I didn't realize I was in you thread. I didn't read the title and just replied.

I'm guessing I'm going to be guessing a lot lol I'm hoping it's a game with 1 hero, but I don't want to blow up this topic with another topic so I'm gonna stop guessing here lol
 
Status
Not open for further replies.
Top