• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

How to make good ORPG quests? (+rep for help)

Status
Not open for further replies.
Level 4
Joined
Mar 20, 2010
Messages
107
I've recently started on a new orpg map, but ran into a problem; I have no idea how to make a real "ORPG quest"!

So, that's why I'm here, making this thread.. :p

What I would like to know:

-How to make ORPG quests, simular to those in The Black Road, etc (There's plently of them!)
-How to make:
killing quests(ex. kill 10 bears, then return to the questgiver)
rescueing several units quests (ex. rescue Bill, Chuck and John and return to the QG)
picking up an item, and deliver it to the questgiver(ex. Go kill Jerry, take his shoe and return it back to the QG)

Would love it if you could include rewards in the triggers aswell (gold and exp)

I know this might seem like a stupid thing to ask, but I'm completly stuck and need help :p
An extra plus would be triggers posted here, and in a WC3 map uploaded here, but just one of them is awesome aswell.
Just ask if you wonder anything!

(I'm now going to sleep, and crosses my fingers for loads of help 'till I wake up ;)

Everyone that helps me will ofc get +rep ^^
 
Level 13
Joined
Mar 24, 2010
Messages
950
Just to give you a quick example of how i did some quests in one of my rpgs I'll post this here for you.

I did it quick to begin with and didnt remove unitgroup or playergroup leaks but im sure you know how to do that..

This is an example of you talking to 1 soldier and getting a job then completing the job and returning for your reward:

This is the text in the first transmission:
Hello starting hero. I have a job for you to do. To the |cff7777aaEast|r is a group of |cff7777aaHelpless Dreanei Guardians.|r Although I could send out some of the guards we need them positioned north. Go now and kill 20 of them.
  • Elite Guard 1
    • Events
      • Unit - A unit comes within 150.00 of Elite Guard 0371 <gen>
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Trigger - Turn off (This trigger)
      • Trigger - Turn on Who pressed Esc <gen>
      • Unit - Pause all units
      • Cinematic - Turn cinematic mode On for (All players)
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Pan camera for (Picked player) to (Position of Elite Guard 0371 <gen>) with height 100.00 above the terrain over 0.00 seconds
      • Game - Display to (All players) for 12.00 seconds the text: Hello starting hero...
      • Cinematic - Send transmission to (All players) from Elite Guard 0371 <gen> named Knight:: Play No sound and display Hello starting hero.... Modify duration: Add 9.00 seconds and Don't wait
      • Wait 12.00 seconds
      • Unit - Unpause all units
      • Cinematic - Turn cinematic mode Off for (All players)
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Reset camera for (Picked player) to standard game-view over 4.00 seconds
      • Set dreanei = 0
      • Trigger - Turn on Dreanei <gen>
      • Trigger - Turn off Who pressed Esc <gen>
      • Unit - Pause Elite Guard 0500 <gen>
      • Unit - Pause Elite Guard 0504 <gen>
This ones off until first one is triggered
  • Dreanei
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Helpless Dreanei Guardian
    • Actions
      • Set dreanei = (dreanei + 1)
      • Game - Display to (All players) the text: (Dreanei Killed: + (String(dreanei)))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • dreanei Greater than or equal to 20
        • Then - Actions
          • Game - Display to (All players) the text: Return to the Elite...
          • Trigger - Turn off (This trigger)
          • Trigger - Turn on Elite Guard 2 <gen>
        • Else - Actions
  • Elite Guard 2
    • Events
      • Unit - A unit comes within 150.00 of Elite Guard 0371 <gen>
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Trigger - Turn off (This trigger)
      • Trigger - Turn on Who pressed Esc <gen>
      • Unit - Pause all units
      • Cinematic - Turn cinematic mode On for (All players)
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Pan camera for (Picked player) to (Position of Elite Guard 0371 <gen>) with height 100.00 above the terrain over 0.00 seconds
      • Cinematic - Send transmission to (All players) from Elite Guard 0371 <gen> named Knight:: Play No sound and display Thanks, we should n.... Modify duration: Add 6.00 seconds and Don't wait
      • Wait 9.00 seconds
      • Unit - Unpause all units
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A Hero) Equal to True
            • Then - Actions
              • Hero - Add 150 experience to (Picked unit), Show level-up graphics
            • Else - Actions
      • Cinematic - Turn cinematic mode Off for (All players)
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Reset camera for (Picked player) to standard game-view over 4.00 seconds
      • Trigger - Turn off Who pressed Esc <gen>
      • Unit - Pause Elite Guard 0500 <gen>
      • Unit - Pause Elite Guard 0504 <gen>
This is the text in that last transmission:
Thanks, we should now be able to move freely from here to the Desert without the dreanei in the way.
|cff7777aaReward : 150 xp (all heroes)|r

Hope I helped you :)

Also theres other ways to do this that dont stop all players from doing stuff but this is a pretty typical way of doing things.. Also i has another trigger that is turned on when these are player to warn player not to press esc during them, they have 1 warning then if they keep pressing Esc they are kicked from the game, reason i did this id becuz the way i made the transmission if they pressed esc the spoken text would go away but the scene would keep talking with nothing to read, it was lame. That fixed the problem fast needless to say xD
 
Level 4
Joined
Mar 20, 2010
Messages
107
Hehe, awesome :p Gonna try it now and see if it works for me, but I'll probebly be back; not often it succeds on the first try ;) XD

EDIT: Oh btw, how to make a "follow up". Like, you have to do quest 1 and 2 before 3 is available?

A problem I've ran into is that when giving rewards, such as gold and experience, I always get 100(which is the goldreward) x 2(number of heros on map) (100x2 gold, 140x2 exp etc)
 
Last edited:
Level 13
Joined
Mar 24, 2010
Messages
950
nah i wouldn't do it that way, just do it how i have, that way its even and fair for everyone. Theres no reason to give more gold or xp just because theres more players playing a map which is what it sounds like your doing with
I always get 100(which is the goldreward) x 2(number of heros on map) (100x2 gold, 140x2 exp etc)

In mine i dont have it set in any order to do one quest before another unless it has to do with the other quests and NEEDS to be done before hand.

If you wanted to order them and not let them do any wuest in any order then just turn them on after the last quest is done or just set up boolean conditions to see if a quest is done yet.

+rep ^^
 
Level 4
Joined
Mar 20, 2010
Messages
107
I think you missunderstood me :p I added a reward for the quest myself, and it doesnt quite work. It seems like the reward is based on how many heroes it is on the map. I think what I tried to say was: Could you add a trigger how to give all players playing 100 gold and 140 exp when the quest is completed?
That's what I tried, but it seems like I messed it up :/
 
Level 8
Joined
Apr 8, 2009
Messages
499
just a question out of curiosity... but in a multiplayer ORPG, will this quest be for all players induvidually, or a shared quest? .___." just wondering.

(i need induvidual quests.)
 
Level 13
Joined
Mar 24, 2010
Messages
950
That quest can be done by 1 player.
You would just need to change a few of the triggers that give the reward to all players and just change it so it gives the reward (xp and/or gold) to the Hero owned by the player that finished the quest.

Edit: if you want this to be able to be done individually by each player you can just reset this trigger after it is completed by a player each time.
 
Level 8
Joined
Apr 8, 2009
Messages
499
That quest can be done by 1 player.
You would just need to change a few of the triggers that give the reward to all players and just change it so it gives the reward (xp and/or gold) to the Hero owned by the player that finished the quest.

Edit: if you want this to be able to be done individually by each player you can just reset this trigger after it is completed by a player each time.




buuuut, what if i want a player to be able to accept this quest, it'll be in his quest logg, but not in other people's quest loggs. also, multiple people could accept this quest at the same time and turn the quest in when they want.


how to do that?
 
Level 13
Joined
Mar 24, 2010
Messages
950
I'm pretty sure quest logs are global in wc, although you may be able to do a getlocal player with a custom script BUT not sure what that will cause, may cause glitching or crashing of the game. I know when i was messing around with multiboards and had something address a triggering player it caused everyone else to be kicked. It is something that needed to be addressed to all players becuz they all shared the same board.
I think this is how the Quest may react also.

As for excepting or not. just make a trigger that depends on the yes or no answer.
You could make a menu for it or something..
I havent done anything too much like that for my RPG in a long time so im probably not the best one to help you with this anymore lol.
I never did any in that manner where they could choose to take the quest or not. But thats how i woulda set it up.

If you want find a rpg that does it how you want and ask that maker or link it here to me and if i see it i'll instantly know how they are setting it up and then can explain it.
 
Level 8
Joined
Apr 8, 2009
Messages
499
I'm pretty sure quest logs are global in wc, although you may be able to do a getlocal player with a custom script BUT not sure what that will cause, may cause glitching or crashing of the game. I know when i was messing around with multiboards and had something address a triggering player it caused everyone else to be kicked. It is something that needed to be addressed to all players becuz they all shared the same board.
I think this is how the Quest may react also.

As for excepting or not. just make a trigger that depends on the yes or no answer.
You could make a menu for it or something..
I havent done anything too much like that for my RPG in a long time so im probably not the best one to help you with this anymore lol.
I never did any in that manner where they could choose to take the quest or not. But thats how i woulda set it up.

If you want find a rpg that does it how you want and ask that maker or link it here to me and if i see it i'll instantly know how they are setting it up and then can explain it.


The quests would be the same way as in "Gaia's Retalliation ORPG". (its on the hive)
they have induvidual quests there, check it out ^^
 
Level 13
Joined
Mar 24, 2010
Messages
950
sorry working on a major update for Custom Hero Footies atm dont have alot of time, maybe take a screen shot of the situation u wanna mimic and show it here. Dont have time to test out a rpg and find where missions are atm lol
 
Status
Not open for further replies.
Top