Some Questing Information.
Okay since Pecker doesn't know many commands i'll just dish a few out relevant to questing, I've done some in the past. (The days of Psy2k and JI & PoG RPG.)
Basically, create a *.cs file in your config folder and fill it with say commands.
Use the #block, #endblock command to create a system of triggers. i.e. #block beginquest. If you #spawn or #spawnpack at the end of the command add a > and another command then it'll trip another command after that bot/pack is destroyed/picked up. Use #call [name of block] to execute the block you've created.
Next setting coordinates. Coordinates are strictly on a radian basis. So rotation is approxmately 6.28 for a full 360 degree rotation. (pi being 3.14) Use that to rotate dis, #spawndis house1 name -2091.32 -665.165 237.358 0 0 3.14 would spawn a house object near Keldrin Town rotated 180 around its axis on the z-plane.... the numbers are as follows: x-pos, y-pos, z-pos, x-rotation, y-rotation, z-rotation. It rotates around the axis so be careful. (Just think back to those good old days in Geometry and Trig) Oh yeah, use the "pack" button to get coordinates of a location. If you want a list of all the dis files, you can extract them with WinVol I think. There's quite a few.
Spawning bots. #spawn [type] [name] [loadout] [team number] simply that.
Loadouts are important to figure out what a bot has. I.E.
#loadout Jeweler CLASS Fighter EXP 99000/50 HammerPick 1 PickAxe1 Keldrinite 1/-500 Diamond 1/-5 COINS 1000/50
The first number is the max the bot can have, and the second is the probability that the item will show up with the bot. A negative number gives it a really low percentage. For example the UberSloths have a negative number for DragonScales.
EXP is the level. 99000 is level 100.
There's a lot more to questing than meets the eye, good luck you two. I have a ton of quests that I've made, but I ran through them and most of them don't work since they coincide with the old Keldrin Town with just the houses... haha a lot of my packs and bots spawned inside house you couldn't even go into. I'm too lazy to rewrite them for the current map so you're on your own. Well here's an example quest. I remember it took me forever to make, I think this was one of my more complex quest, it sets off multiple triggers from Ethern to Keldrin Town and then to Jaten Outpost.
#gm function has been replaced with #anon.
function RobberyQuest()
{
say(0, "#gm The CrafyKlepto may strike at any time now at Fort Ethern...");
say(0, "#spawnpack Start1 -2431.58 -2320.35 63.2238 | Activated_Thief_Quest_1 * >#call thieves1");
say(0, "#block thieves1");
// loadout
say(0, "#loadout RobberBoss CLASS Thief EXP 34000 LongBow 1 BasicArrow 50 ShortSword 1 COINS 5000");
say(0, "#loadout EthernGuard CLASS Fighter EXP 0 BattleAxe 1");
// spawning
say(0, "#spawn thug CraftyKlepto RobberBoss 1 -2422.63 -2325.59 50.7694");
say(0, "#spawn mercenary EthernGuard1 EthernGuard 0 -2423.11 -2332.52 50.5017 >#call failure0");
say(0, "#spawn mercenary EthernGuard2 EthernGuard 0 -2422.35 -2320.25 50.9032");
// info
say(0, "#fw CraftyKlepto #setinfo A Crafty Klepto.");
say(0, "#fw EthernGuard1 #setinfo An Ethern Guard.");
say(0, "#fw EthernGuard2 #setinfo An Ethern Guard.");
// deathmsg
say(0, "#deathmsg CraftyKlepto Impossible!");
say(0, "#deathmsg EthrenGuard1 #zone No! I have failed to guard the Magic Dust.");
say(0, "#deathmsg EthrenGuard2 #zone No! I have failed to guard the Magic Dust.");
// intro
say(0, "#gm The inpentrable wall of Ethren's stand idly...");
// start quest
say(0, "#fw EthernGuard1 #global Too quiet today dont you say?");
say(0, "#fw EthernGuard2 #global Yes... Who's there?");
say(0, "#fw CraftyKlepto #global SURPRISE!");
say(0, "#endblock");
// end quest[failed]
say(0, "#block failure0");
say(0, "#deathmsg CraftyKlepto #global HAHA! No one will defeat me... later!");
say(0, "#delbot CraftyKlepto");
say(0, "#delbot EthernGuard2");
say(0, "#spawnpack Start2 -2436.75 -311.511 51.1029 | Activated_Thief_Quest_2 * >#call thieves2");
say(0, "#gm CraftyKlepto plans to strike the Keldrin Bank at anytime now...");
say(0, "#endblock");
say(0, "#block thieves2");
// intro
say(0, "#gm As the wind howls through Keldrin Town the robbers make their move..");
// loadout
say(0, "#loadout Robber CLASS Thief EXP 9000 Sling 1 SmallRock 50 RDagger 1 COINS 100");
say(0, "#loadout KBanker CLASS Bard EXP 4000 RKnife 1");
// spawning
say(0, "#spawn thief Underling0 Robber 1 -2476.31 -252.883 49.7376 >#call follow2");
say(0, "#spawn thug CraftyKlepto RobberBoss 1 -2472.89 -253.066 56.7376 >#call killunderlings");
// info
say(0, "#fw Underling0 #setinfo A Thief in the making.");
say(0, "#fw CraftyKlepto #setinfo The Unknown Klepto that has recently inflitrated the Ethern Walls.");
say(0, "#spawn banker KeldrinBanker Kbanker 0 -2482.14 -245.428 49.7376 >#call bankerdied");
say(0, "#fw KeldrinBanker #setinfo The cowardly banker of Keldrin Town.");
// deathmsg
say(0, "#deathmsg KeldrinBanker #Global No! I've been robbed!");
say(0, "#deathmsg Underling0 #zone I have failed thee.");
say(0, "#deathmsg CraftyKlepto #Global Mwhahaha!!! My spirt still lives on!");
// start quest
say(0, "#echo on");
say(0, "#fw KeldrinBanker #global Help me.... I'm too scared to move....");
say(0, "#echo off");
say(0, "#freeze KeldrinBanker");
say(0, "#follow Underling0 KeldrinBanker");
say(0, "#endblock");
// restate #follow
say(0, "#block follow2");
say(0, "#follow CraftyKlepto KeldrinBanker");
say(0, "#endblock");
// kills off underlings
say(0, "#block killunderlings");
say(0, "#delbot Underling0");
say(0, "#call bankerlived");
say(0, "#endblock");
// end quest [failed]
say(0, "#block bankerdied");
say(0, "#deathmsg Underling0 #zone Mwhahahahaha.");
say(0, "#deathmsg CraftyKlepto #Global Our work is done, lets leave.");
say(0, "#delbot CraftyKlepto");
say(0, "#delbot Underling0");
say(0, "#delblock thieves1");
say(0, "#delblock thieves2");
say(0, "#delblock killunderlings");
say(0, "#delblock failure0");
say(0, "#clearblocks");
say(0, "#endblock");
// end quest [completed]
say(0, "#block bankerlived");
say(0, "#unfreeze KeldrinBanker");
say(0, "#echo on");
say(0, "#fw KeldrinBanker #zone Thank you for your great work... I will reward you with a prize, find it next to the safe.");
say(0, "#echo off");
say(0, "#spawnpack Reward11 -2490.17 -253.958 49.7376 | Banker's_Reward * COINS 10000 LCK 2 SP 1 >#call endthiefquest");
say(0, "#delblock thieves1");
say(0, "#delblock thieves2");
say(0, "#delblock killunderlings");
say(0, "#delblock failure0");
say(0, "#gm Across the river from Jaten Outpost lies a disturbed spirit...");
say(0, "#endblock");
// delete rest of contents
say(0, "#block endthiefquest");
say(0, "#deathmsg KeldrinBanker #zone Yawn I'm tired, good bye.");
say(0, "#delbot KeldrinBanker");
say(0, "#spawnpack Start3 191.886 1468.16 139.982 | Activated_Thieves_Quest_3 * >#call thieves3");
say(0, "#endblock");
say(0, "#block thieves3");
// intro
say(0, "#gm The Jaten Outpost is inaware of sudden doom...");
// loadout
say(0, "#loadout RobberSpirit CLASS Ranger EXP 89000 Rapier 1 Claymore 1 CompositeBow 1 100 BladedArrow");
// spawn
say(0, "#spawn sloth KleptoSpirit RobberSpirit 7 -381.001 1793.83 50.1187 >#call thievesfinish");
// info
say(0, "#fw KleptoSpirit #setinfo The enraged spirit of the CraftyKlepto.");
// deathmsg
say(0, "#deathmsg KleptoSpirit #global You have robbed me of life... now you have robbed me of my spirit... Augh!");
// start quest
say(0, "#fw KleptoSpirit #global Mwhahahaha! I'll will haunt and murder the people of Jaten!");
say(0, "#endblock");
// end quest
say(0, "#block thievesfinish");
say(0, "#spawnpack Reward22 -381.001 1793.83 50.1187 | The_Great_Reward * EXP 2000 SP 5 LCK 3");
say(0, "#clearloadouts");
say(0, "#gm The great Klepto has been defeated... all the villages can now live in peace.");
say(0, "#clearblocks");
say(0, "#endblock");
}
This quest no longer works on the current map, but I though I'd give you an example. I have a treasure hunt quest that theoretically should still work, I just need to find new coordinates for my NPC that triggers the quest.
I'm going to work on a sniper quest where you beam Civillians in town after you mimic a Goblin and you get rewards for killing the right one. The packs will probably spawn on the hill where I always see people sniping DoDoDo,
I'll give it to an Admin after I finish.
Have fun Pecker and Draak