In need of help with world editor WC3

FizzeyDizzey

New Member
Reaction score
0
You're confusing what "Triggering player" is for.
If the event wasn't fired by a player then don't use it, it would be equal to NO PLAYER because NO PLAYER is firing the trigger.

Init trigger
Trigger:
  • Event - Elapsed game time is 0.10
(no player is firing this event, Triggering player is equal to NO PLAYER)

Trigger 1
Trigger:
  • Event - A acquires an Item
(a unit is firing the event, not a player, Triggering player is equal to NO PLAYER)

Trigger 2
Trigger:
  • Event - A unit dies
(a unit is firing the event, not a player, Triggering player is equal to NO PLAYER)

Solution

Init trigger
use the player's number in the index
Trigger:
  • Player Group - Add Player 1 (Red) to HeroPlayerGroup[1]


Trigger 1
use owner of unit
Trigger:
  • Quest - Display to HeroPlayerGroup[(Player number of (Owner of unit(Triggerint Unit)))] the Quest Update message: So you want to run ...


Trigger 2
same as above, use owner of unit

Also, instead of [noparse] writing your code in
Code:
tags, use the
Trigger:
tags to make it look better[/noparse]

hmm well here is my new code

tigger 1

Code:
[wc3]Events
    Unit - A unit owned by Player 1 (Red) Acquires an item
    Unit - A unit owned by Player 2 (Blue) Acquires an item
    Unit - A unit owned by Player 3 (Teal) Acquires an item
    Unit - A unit owned by Player 4 (Purple) Acquires an item
    Unit - A unit owned by Player 5 (Yellow) Acquires an item
    Unit - A unit owned by Player 6 (Orange) Acquires an item
    Unit - A unit owned by Player 7 (Green) Acquires an item
    Unit - A unit owned by Player 8 (Pink) Acquires an item
    Unit - A unit owned by Player 9 (Gray) Acquires an item
    Unit - A unit owned by Player 10 (Light Blue) Acquires an item

Conditions
    Or - Any (Conditions) are true
        Conditions
            (Item-type of (Item carried by (Triggering unit) in slot 1)) Equal to Quest - Beginner
            (Item-type of (Item carried by (Triggering unit) in slot 2)) Equal to Quest - Beginner
            (Item-type of (Item carried by (Triggering unit) in slot 3)) Equal to Quest - Beginner
            (Item-type of (Item carried by (Triggering unit) in slot 4)) Equal to Quest - Beginner
            (Item-type of (Item carried by (Triggering unit) in slot 5)) Equal to Quest - Beginner
            (Item-type of (Item carried by (Triggering unit) in slot 6)) Equal to Quest - Beginner

Actions
    Quest - Create a Optional quest titled Kill The Sheep with the description You must kill 5 she..., using icon path ReplaceableTextures\CommandButtons\BTNRune.blp
    Quest - Display to HeroPlayergroup_Quests[(Player number of (Owner of (Triggering unit)))] the Quest Update message: So you want to run ...
    Trigger - Turn on Kill Sheep 2 <gen>
[/wc3]

trigger 2

Code:
[wc3]Events
    Unit - A unit Dies

Conditions
    (Unit-type of (Triggering unit)) Equal to Sheep
    Or - Any (Conditions) are true
        Conditions
            (Owner of (Killing unit)) Equal to Player 1 (Red)
            (Owner of (Killing unit)) Equal to Player 2 (Blue)
            (Owner of (Killing unit)) Equal to Player 3 (Teal)
            (Owner of (Killing unit)) Equal to Player 4 (Purple)
            (Owner of (Killing unit)) Equal to Player 5 (Yellow)
            (Owner of (Killing unit)) Equal to Player 6 (Orange)
            (Owner of (Killing unit)) Equal to Player 7 (Green)
            (Owner of (Killing unit)) Equal to Player 8 (Pink)
            (Owner of (Killing unit)) Equal to Player 9 (Gray)
            (Owner of (Killing unit)) Equal to Player 10 (Light Blue)

Actions
    Set Quest_SheepKilled_1[(Player number of (Owner of (Triggering unit)))] = (Quest_SheepKilled_1[(Player number of (Owner of (Triggering unit)))] + 1)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        If - Conditions
            Quest_SheepKilled_1[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 5
        Then - Actions
            Game - Display to HeroPlayergroup_Quests[(Player number of (Owner of (Triggering unit)))] for 3.00 seconds the text: Quest Completed! Re...
        Else - Actions
            Game - Display to HeroPlayergroup_Quests[(Player number of (Owner of (Triggering unit)))] for 3.00 seconds the text: ((String(Quest_SheepKilled_1[(Player number of (Triggering player))])) + have been killed. You need to kill 5 Total.)
[/wc3]

but when i kill a sheep after getting the quest it doesnt say anything like it is supposed to... However when i get the quest it pops up in my quest bar...
 
Reaction score
7
Try putting a 'Show Message' action in your second trigger, just before the status message, to verify that it is being executed. If you get the message, you're probably not being added to the group HeroPlayerGroup_Quests. If you don't, the trigger is probably not being enabled.
Also, I recommend using (Item being manipulated) instead of Item carried by (Triggering unit) in slot *), especially if that item isn't being destroyed when you pick it up.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
I think the trigger works but not as you have intended.
Your problem is that you use the "Triggering unit" for all the indexing but the owner of the triggering unit is not the owner of the killing unit.
If all sheep are owned by player 13 neutral hostile then player 13 neutral hostile is the player who finished the quest when 5 sheeps are killed.
You might want to switch every "triggering unit" in the action section of the trigger with "killing unit".
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
"Triggering Unit" in the second trigger will refer to the sheep that died. Thus Owner of Triggering Unit isn't the intended player, and your changing of the variables will affect Neutral Hostile, or whoever the owner of the sheep is. Change it to Owner of Killing Unit.
 
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