| 04-06-2007, 03:04 AM | #1 |
I made this leaderboard that is influenced by the fact that a human computer controlled unit is witness to a crime (killing) then you loose 1 point. I have made this trigger where 1 random unit is picked from unit group in range 2400 of dying unit. Then I check if the pick unit is human etc then substract 1 from leaderboard. The problem comes from that: Even if there are like 5 unit really witness, it only picks a random unit, and sometimes the randomisation picks no one. So the leaderboard does not change. If I change the trigger to pick units in range of.... etc. Then it counts all pick units and influences the leaderboard like crazy, and if there are five witness you loose 5 points. I want it to loose only 1 point. Can you show me how to do this so it works. Here is a text copy of the trigger. Trigger: ![]() PolicePatrol Copy
![]() Events
![]() Unit - A unit Dies
![]() Conditions
![]() ((Owner of (Dying unit)) Equal to Neutral Passive) and ((Race of (Dying unit)) Equal to Human)
![]() Actions
![]() Set L43 = (Position of (Dying unit))
![]() Set UnitGroup16 = (Random 1 units from (Units within 2400.00 of L43 matching (((Owner of (Matching unit)) controller) Not equal to User)))
![]() Unit Group - Pick every unit in UnitGroup16 and do (Actions)
![]() Loop - Actions
![]() If (All Conditions are True) then do (Then Actions) else do (Else Actions)
![]() If - Conditions
![]() (Race of (Picked unit)) Equal to Human
![]() Then - Actions
![]() If (All Conditions are True) then do (Then Actions) else do (Else Actions)
![]() If - Conditions
![]() (Race of (Killing unit)) Equal to Human
![]() Then - Actions
![]() Game - Display to (All players matching (((Owner of (Killing unit)) controller) Equal to User)) the text: |cffFF0080Criminal ...
![]() Set Infraction = (Infraction - 1)
![]() Leaderboard - Change the value for (Owner of (Killing unit)) in LawAndOrder to (10 + Infraction)
![]() Set LeaderScore3 = (Real((10 + Infraction))) |
| 04-06-2007, 08:03 AM | #2 |
Use [trigger] tags in future for GUI stuff. I'll put them in for you now. Basically you'll want to change the condition on your group thing to something like this: Trigger: Set UnitGroup16 = (Random 1 units from (Units within 2400.00 of L43 matching (((Owner of (Matching unit)) controller) Not equal to User) And ((Race of (Matching unit)) Equal to Human))) |
| 04-06-2007, 10:21 PM | #3 |
I will try it and let you know how it worked. Thks |
| 04-12-2007, 07:01 PM | #4 |
Problem solved. First the condition was counting the dying unit has witness. Then I used bolean=false, bolean= true if condition where met to change leaderboard. |
