Nondescript title: Problems with this trigger... I give +rep!!

Nocturne

New Member
Reaction score
1
Hello,
I have problems with this trigger:

Code:
GoldShare
    Events
        Player - Player 1 (Red) leaves the game
        Player - Player 2 (Blue) leaves the game
        Player - Player 3 (Teal) leaves the game
        Player - Player 4 (Purple) leaves the game
        Player - Player 5 (Yellow) leaves the game
        Player - Player 6 (Orange) leaves the game
        Player - Player 7 (Green) leaves the game
        Player - Player 8 (Pink) leaves the game
        Player - Player 9 (Gray) leaves the game
        Player - Player 10 (Light Blue) leaves the game
    Conditions
    Actions
        Set tmpInteger = ((Triggering player) Current gold)
        Set tmpIntegerlumber = ((Triggering player) Current lumber)
        Set tmpPlayerGroup = (All players matching ((((Matching player) controller) Equal to User) and ((((Matching player) slot status) Equal to Is playing) and (((Triggering player) is an ally of (Matching player)) Equal to True))))
        Player Group - Remove (Triggering player) from tmpPlayerGroup
        Player Group - Pick every player in tmpPlayerGroup and do (Actions)
            Loop - Actions
                Player - Add (tmpInteger / (Number of players in tmpPlayerGroup)) to (Picked player) Current gold
                Player - Add (tmpIntegerlumber / (Number of players in tmpPlayerGroup)) to (Picked player) Current lumber
                Set tmpIntegershow = (tmpInteger / (Number of players in tmpPlayerGroup))
                Set tmpIntegerlumbershow = (tmpIntegerlumber / (Number of players in tmpPlayerGroup))
                Game - Display to (All allies of (Triggering player)) the text: (Tu parte de oro es:  + ((|cffffcc00 + (String(tmpIntegershow))) + |r))
                Game - Display to (All allies of (Triggering player)) the text: (Tu parte de Madera es:  + (String(tmpIntegerlumbershow)))

it's supposed that shared the gold of the player that leaves the game in equal parts for the allies, except the players computers. But sometimes it doesn't give gold for all the ally players... but always shows the exact amount of gold that it's up to each player. But for some players sometimes only show it but it don't give it.

What is wrong?

Thanks, i give +rep

PS: excuse me for my bad english :p


EDIT: I'm pretty sure that this line is that this bad.
Set tmpPlayerGroup = (All players matching ((((Matching player) controller) Equal to User) and ((((Matching player) slot status) Equal to Is playing) and (((Triggering player) is an ally of (Matching player)) Equal to True))))
What can be wrong in this line?
 

Nocturne

New Member
Reaction score
1
There is difference between this:
Set tmpPlayerGroup = (All players matching ((((Matching player) controller) Equal to User) and (((Matching player) slot status) Equal to Is playing)))
and this:
Set tmpPlayerGroup = (All players matching ((((Triggering player) controller) Equal to User) and (((Triggering player) slot status) Equal to Is playing)))

??
 

Samael88

Evil always finds a way
Reaction score
181
And these lines is not nessecary to have there:
Code:
Player - Add ([B]tmpInteger / (Number of players in tmpPlayerGroup[/B])) to (Picked player) Current gold
                Player - Add (t[B]mpIntegerlumber / (Number of players in tmpPlayerGroup[/B])) to (Picked player) Current lumber

You could test having variables set with the calculation and then just add the variables. That would save you a few function calls:thup:

Other than that I can't see anything wrong with your code:eek:
Hope it helps:) And good luck to your map:thup:

Oh, and just a tip. You might want to consider making the map in english istead, if you are going to release it. I can't say how many times I have tested a map and it has turned out to be spanish or german. It could had been latin and I still would not understand a word:eek:
Just a thought tho, not trying to be rude or anything<3


Edit2: Yes. There is a difference.
Triggering player: Reffers to the player that activates the trigger.
Matching player: Reffers to the player when using "players matching condition"
Picked player: Reffers to the picked player when using a "pick every player in playergroup and do action/actions"

Edit: Oh, and if you do that thing with making that calculation when setting the variable these lines will be unnesecary to:
Code:
Set tmpIntegershow = (tmpInteger / (Number of players in tmpPlayerGroup))
                Set tmpIntegerlumbershow = (tmpIntegerlumber / (Number of players in tmpPlayerGroup))

One more thing:
It might be worth a try to do this:
Code:
Set tmpPlayerGroup = (All players matching ((((Matching player) controller) Equal to User) and ((((Matching player) slot status) Equal to Is playing) and [B](((Matching player) is an ally of (Triggering player))[/B] Equal to True))))
 

Nocturne

New Member
Reaction score
1
And these lines is not nessecary to have there:
Code:
Player - Add ([B]tmpInteger / (Number of players in tmpPlayerGroup[/B])) to (Picked player) Current gold
                Player - Add (t[B]mpIntegerlumber / (Number of players in tmpPlayerGroup[/B])) to (Picked player) Current lumber

You could test having variables set with the calculation and then just add the variables. That would save you a few function calls:thup:

Other than that I can't see anything wrong with your code:eek:
Hope it helps:) And good luck to your map:thup:

Oh, and just a tip. You might want to consider making the map in english istead, if you are going to release it. I can't say how many times I have tested a map and it has turned out to be spanish or german. It could had been latin and I still would not understand a word:eek:
Just a thought tho, not trying to be rude or anything<3


Edit2: Yes. There is a difference.
Triggering player: Reffers to the player that activates the trigger.
Matching player: Reffers to the player when using "players matching condition"
Picked player: Reffers to the picked player when using a "pick every player in playergroup and do action/actions"

Edit: Oh, and if you do that thing with making that calculation when setting the variable these lines will be unnesecary to:
Code:
Set tmpIntegershow = (tmpInteger / (Number of players in tmpPlayerGroup))
                Set tmpIntegerlumbershow = (tmpIntegerlumber / (Number of players in tmpPlayerGroup))

One more thing:
It might be worth a try to do this:
Code:
Set tmpPlayerGroup = (All players matching ((((Matching player) controller) Equal to User) and ((((Matching player) slot status) Equal to Is playing) and [B](((Matching player) is an ally of (Triggering player))[/B] Equal to True))))

Thanks! i will try it of that way :D
I have some many sleep that i don't recognised the difference between the triggering player and matching player :p

And thanks for the tip, i will try to translate to english to if this works, but the problem is that sometimes I can't write well in english :p

Anyway is not essential to know spanish to learn to play the map that I'm doing :p As soon as i finish i will send you the link download :D
thanks again! :thup:

PS: i give you +rep
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top