• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • 💡 We're thrilled to announce that our upcoming texturing contest is in the works, and we're eager to hear your suggestions! Please take this opportunity to share your ideas in this theme discussion thread for the Texturing Contest #34!
  • 🏆 Hive's 7th HD Modeling Contest: Icecrown Creature is now open! The frozen wastes of Icecrown are home to some of Azeroth’s most terrifying and resilient creatures. For this contest, your challenge is to design and model a HD 3D monster that embodies the cold, undead, and sinister essence of Icecrown! 📅 Submissions close on April 13, 2025. Don't miss this opportunity to let your creativity shine! Enter now and show us your frozen masterpiece! 🔗 Click here to enter!

[Trigger] Please Help with my quest system!

Status
Not open for further replies.
Level 5
Joined
Feb 1, 2009
Messages
111
Background: This is a simple quest system that I need help with. It doesn't work at all in multiplayer.

What is supposed to happen: When a player clicks on the npc it gives him/her a quest to kill 10 Satyrs. Any other player that is within 800 range who hasnt done the quest will get the quest automatically. Unfortunately this doesnt happen in-game.

How do I fix it?

Trigger 1:

  • Theodus Satyr Quest 1 Remake
    • Events
      • Player - Player 1 (Red) Selects a unit
      • Player - Player 2 (Blue) Selects a unit
      • Player - Player 3 (Teal) Selects a unit
      • Player - Player 4 (Purple) Selects a unit
      • Player - Player 5 (Yellow) Selects a unit
      • Player - Player 6 (Orange) Selects a unit
      • Player - Player 7 (Green) Selects a unit
      • Player - Player 8 (Pink) Selects a unit
    • Conditions
      • And - All (Conditions) are true
        • Conditions
          • (Unit-type of (Triggering unit)) Equal to Theodus
          • HasSatyrQuest[(Player number of (Triggering player))] Equal to False
    • Actions
      • Set PositionofTheodus = (Position of Theodus 0108 <gen>)
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 800.00 of (Position of Theodus 0108 <gen>) matching (((Owner of (Matching unit)) Not equal to Neutral Hostile) and (((Unit-type of (Matching unit)) Not equal to Backpack) and ((Owner of (Matching unit)) Not equal to Player 11 (Dark Green))))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HasSatyrQuest[(Player number of (Owner of (Picked unit)))] Equal to False
            • Then - Actions
              • Unit Group - Add (Picked unit) to KillSatyrs_PlayerGroup[QuestGroup[1]]
              • Sound - Play QuestNew <gen>
              • Quest - Display to (Player group((Owner of (Picked unit)))) the Quest Update message: New Quest Added: In...
              • Quest - Display to (Player group((Owner of (Picked unit)))) the Quest Update message: Help us please! Th...
              • Set HasSatyrQuest[(Player number of (Owner of (Picked unit)))] = True
              • Quest - Create a Optional quest titled Invasion of Satyrs with the description Satyrs have invaded..., using icon path ReplaceableTextures\CommandButtons\BTNAmbush.blp
              • Set Quest1[(Player number of (Owner of (Picked unit)))] = (Last created quest)
              • Trigger - Turn on Kill10 Satyrs <gen>
            • Else - Actions
      • Set QuestGroup[1] = (QuestGroup[1] + 1)
      • Custom script: call RemoveLocation(udg_PositionofTheodus)
Trigger 2:

  • Kill10 Satyrs
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Satyr
      • (Owner of (Killing unit)) Not equal to Player 11 (Dark Green)
    • Actions
      • Set KillingUnit = (Killing unit)
      • For each (Integer A) from 0 to QuestGroup[1], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (KillingUnit is in KillSatyrs_PlayerGroup[(Integer A)]) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SatyrKills[(Integer A)] Less than 10
                • Then - Actions
                  • Set SatyrKills[(Integer A)] = (SatyrKills[(Integer A)] + 1)
                  • Unit Group - Pick every unit in KillSatyrs_PlayerGroup[(Integer A)] and do (Actions)
                    • Loop - Actions
                      • Game - Display to (Player group((Owner of (Picked unit)))) the text: (Satyrs Killed: + ((String(SatyrKills[(Integer A)])) + / 10))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SatyrKills[(Integer A)] Equal to 10
                        • Then - Actions
                          • Quest - Display to (Player group((Owner of (Picked unit)))) the Quest Update message: You have shown your...
                          • Quest - Mark Quest1[(Player number of (Owner of (Picked unit)))] as Completed
                          • Hero - Add 250 experience to (Picked unit), Hide level-up graphics
                          • Quest - Display to (Player group((Owner of (Picked unit)))) the Quest Update message: You have received |...
                          • Sound - Play GoodJob <gen>
                        • Else - Actions
                • Else - Actions
            • Else - Actions
Any help appreciated.
 
Last edited:
Status
Not open for further replies.
Top