| 01-30-2006, 11:05 AM | #1 |
Introduction Making an Open Rpg is pretty easy, but making a good one can be very hard. An Open Rpg should have more then one race, should have quests and an extra inventry system. Planning, Terraining, Object Data and Hero Selection System The first thing that should be done is to plan what you want your Open Rpg to turn out as. What races, classes and places do you want in your map? One other thing that I surgest you do is make up names for your towns/cities/places. When you have finished planning you need to have a basic idea in your head where different places will be. If possible try drawing a map or write some notes down on a peice of paper. The first part of the terraining will be the starting city/town. I surgest that you use a normel town as the starting location and not a major city. Also suround a small area of the town with forest/desert/plains. This will also be the time to import units/building/doodads/ect. Now its time to start the Object Data. A basic tuorial for Object Data can be found Here. For now just do any doodads/destructables that will be needed in the starting town and the heros players can select from. Now for the Hero Selection System it can be done in a number of ways. You can have a wisp or some other unit that you move into a circle of power infront of a hero, selecting that hero. That can be used useing a trigger something like this. Trigger: Archer
![]() Actions
![]() ![]() Unit - Create 1 Snake Aes for (Owner of (Entering unit)) at (Center of Start2 <gen>) facing Default building facing (270.0) degrees
![]() ![]() Hero - Create Ankh of Reincarnation and give it to (Last created unit)
![]() ![]() If ((Owner of (Entering unit)) Equal to Player 1 (Red)) then do (Set Player1 = (Last created unit)) else do (Do nothing)
![]() ![]() If ((Owner of (Entering unit)) Equal to Player 2 (Blue)) then do (Set Player2 = (Last created unit)) else do (Do nothing)
![]() ![]() If ((Owner of (Entering unit)) Equal to Player 6 (Orange)) then do (Set Player6 = (Last created unit)) else do (Do nothing)
![]() ![]() If ((Owner of (Entering unit)) Equal to Player 7 (Green)) then do (Set Player7 = (Last created unit)) else do (Do nothing)
![]() ![]() Unit - Remove (Entering unit) from the gameTrigger: Player One Choose Humans
![]() Conditions
![]() Actions
![]() ![]() Trigger - Turn off (This trigger)
![]() ![]() Camera - Apply Choose Human <gen> for Player 1 (Red) over 0.00 seconds
![]() ![]() Game - Display to (All players) for 10.00 seconds the text: Now Choose a class ...
![]() ![]() Trigger - Turn on Player One Choose Hunter <gen>
![]() ![]() Trigger - Turn on Player One Choose Priest <gen>
![]() ![]() Trigger - Turn on Player One Choose Warrier <gen>This trigger is chooseing the race, chooseing the class would be something like this. Trigger: Player One Choose Warrier
![]() Conditions
![]() Actions
![]() ![]() Player - Make Player 1 (Red) treat Player 10 (Light Blue) as an Ally
![]() ![]() Player - Make Player 10 (Light Blue) treat Player 1 (Red) as an Ally
![]() ![]() Unit - Create 1 Human Warrier for Player 1 (Red) at (Center of Human Spawn <gen>) facing 90.00 degrees
![]() ![]() Set Player_One_Character = (Last created unit)
![]() ![]() Trigger - Turn off Player One Choose Hunter <gen>
![]() ![]() Trigger - Turn off Player One Choose Priest <gen>
![]() ![]() Trigger - Turn off Player One Choose Warrier <gen>Making Cp's, Quests and systems The next thing to do is the make the object data for the Cps. Create gaurds, civillions, workers and bosses. Bosses are heros that can either be on a team or be a creep. Bosses on a team should have a rank (eg, captain, luitenant, king, ect). Now all you have to do is place them around the city. Now the quests will mostly wait for a while but for now we will make a story quest. Story quests are things that should lead up to some event happening. Even though it will be a multiplayer Open Rpg it should have some sought of story to it. The players should spawn right next to the person who will start the story quests. Trigger: Quest One The Knights of Asiria Player One
![]() Conditions
![]() ![]() (Target unit of issued order) Equal to Captain 0029 <gen>
![]() ![]() (Owner of (Triggering unit)) Equal to Player 1 (Red)
![]() Actions
![]() ![]() If (All Conditions are True) then do (Then Actions) else do (Else Actions)
![]() ![]() ![]() Then - Actions
![]() ![]() ![]() ![]() Cinematic - Turn cinematic mode On for Player Group - Player 1 (Red)
![]() ![]() ![]() ![]() Hero - Order Player_One_Character to Give Captain 0029 <gen> to (Item carried by Player_One_Character of type Pirates Battle Plans)
![]() ![]() ![]() ![]() Player - Add 30 to Player 1 (Red) Current gold
![]() ![]() ![]() ![]() Cinematic - Send transmission to Player Group - Player 1 (Red) from Captain 0029 <gen> named Captain Hafer: Play No sound and display Well done! I'll jus.... Modify duration: Add 0.00 seconds and Wait
![]() ![]() ![]() ![]() Cinematic - Send transmission to Player Group - Player 1 (Red) from Captain 0029 <gen> named Captain Hafer: Play No sound and display Here is your reward.... Modify duration: Add 0.00 seconds and Wait
![]() ![]() ![]() ![]() Cinematic - Turn cinematic mode Off for Player Group - Player 1 (Red)
![]() ![]() ![]() ![]() Trigger - Turn off (This trigger)
![]() ![]() ![]() ![]() Trigger - Turn on Quest Two The Scorpians Player One <gen>
![]() ![]() ![]() Else - Actions
![]() ![]() ![]() ![]() Cinematic - Turn cinematic mode On for Player Group - Player 1 (Red)
![]() ![]() ![]() ![]() Cinematic - Send transmission to Player Group - Player 1 (Red) from Captain 0029 <gen> named Captain Hafer: Play No sound and display The king has ordere.... Modify duration: Add 0.00 seconds and Wait
![]() ![]() ![]() ![]() Cinematic - Send transmission to Player Group - Player 1 (Red) from Captain 0029 <gen> named Captain Hafer: Play No sound and display First of all you mu.... Modify duration: Add 0.00 seconds and Wait
![]() ![]() ![]() ![]() Cinematic - Send transmission to Player Group - Player 1 (Red) from Captain 0029 <gen> named Captain Hafer: Play No sound and display Then come back to m.... Modify duration: Add 0.00 seconds and Wait
![]() ![]() ![]() ![]() Cinematic - Turn cinematic mode Off for Player Group - Player 1 (Red)Trigger: Wield
![]() Actions
![]() ![]() -------- This if/then/else is to not show a message like "Wielding Weapon: <Empty String>" when you didn't had a weapon wielded before. --------
![]() ![]() If (All Conditions are True) then do (Then Actions) else do (Else Actions)
![]() ![]() Unit - Remove Weapon_Bonus[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
![]() ![]() Unit - Add Weapon_Bonus[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
![]() ![]() Set Weapon[(Player number of (Owner of (Triggering unit)))] = (Item being manipulated)
![]() ![]() Game - Display to (Player group((Owner of (Hero manipulating item)))) for 2.50 seconds the text: ((Wielding Weapon: |CFF0000FF + (Name of Weapon_Bonus[(Player number of (Owner of (Hero manipulating item)))])) + |r)
![]() ![]() Item - Set charges remaining in (Item being manipulated) to 1
![]() ![]() Hero - Drop (Item being manipulated) from (Triggering unit)
![]() ![]() Hero - Give (Item being manipulated) to (Triggering unit)Trigger: Drop Weapon
![]() Conditions
![]() Actions
![]() ![]() Wait 0.30 seconds
![]() ![]() If (All Conditions are True) then do (Then Actions) else do (Else Actions)
![]() ![]() ![]() If - Conditions
![]() ![]() ![]() ![]() ((Triggering unit) has an item of type (Item-type of Weapon[(Player number of (Owner of (Triggering unit)))])) Equal to False
![]() ![]() ![]() ![]() (Item being manipulated) Equal to Weapon[(Player number of (Owner of (Triggering unit)))]
![]() ![]() ![]() Then - Actions
![]() ![]() ![]() ![]() Game - Display to (Player group((Owner of (Triggering unit)))) for 2.50 seconds the text: ((Unwielding Weapon: |CFF0000FF + (Name of Weapon_Bonus[(Player number of (Owner of (Triggering unit)))])) + |r)
![]() ![]() ![]() ![]() Unit - Remove Weapon_Bonus[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
![]() ![]() ![]() ![]() Set Weapon[(Player number of (Owner of (Triggering unit)))] = No item
![]() ![]() ![]() Else - ActionsCreeps Now its time to add Creeps to the area of terrain you have already finished. In starting locations there should be creeps that can be killed by levels 1-10, cities 5-20, forests, plains, deserts, ect 5-40, dungeons, creep bosses 40-60. You should also increase the maxinum hero level to 60 through the Advanced-Game Interface menu. Finish the map Now you just have to fill in the rest of the map. Finish the terrain, quests, cps, systems and races in a simular way to what is said above. If you have any question you can private message me. |
| 02-06-2006, 04:33 PM | #2 |
Pretty neat! Especially for beginners, though you should say that people shouldn't directly use this, but should use it as a guide. it would suck to see 283728 maps all the same. |
| 02-06-2006, 04:42 PM | #3 |
I CAN USE THIS another time.thx bob after reading all those triggers a few times i got the hang of all that, very well displayed out. |
| 02-06-2006, 07:24 PM | #4 |
Im making an RPG.. sort off and i read this tutorial not that i needed it but and inspiration it puts people in the right track...btw its spelled Warrior or? |
| 02-06-2006, 09:51 PM | #5 |
It's spelt warrior. |
| 02-06-2006, 09:59 PM | #6 |
Nice tut, but what about creep respawns? You definatly need to add that. |
| 02-10-2006, 09:31 AM | #7 |
ok well this is just getting an RPG started. I'll make some tutorials on the more advanced stuff soon. I might even go into things such as what terrains good for an Open RPG and so on. |
| 03-03-2006, 12:07 AM | #8 |
this helped alot, i didnt read any of it except choosing hero but i skimmed thru it and so far looks pretty good, ima check it out later, good job! |
| 06-24-2007, 02:14 PM | #9 |
Cool!! Very easy to practice it... But maybe someday, u can gimme trigger to save and load a hero(Jass is ok) like RPG map do... |
