EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Bugs (https://www.eqemulator.org/forums/forumdisplay.php?f=622)
-   -   Might be jumpig the gun.. (https://www.eqemulator.org/forums/showthread.php?t=10150)

Kgaul 11-10-2003 11:36 AM

Might be jumpig the gun..
 
i noticed the quests.h was modied but the quests in the folders stops the zone from loading. was the format changed of the quest or is this a known bug?

Thanks for your hard work,


Kgaul

killspree 11-10-2003 03:51 PM

The quest parser is still being rewritten from what I understand.

Edgar1898 11-10-2003 08:00 PM

Just got it fixed last night, will be in the next cvs dump.

*NOTE* Quests are still being tested and they are VERY picky, if you have one format error, you will get bad results.

Kgaul 11-10-2003 10:35 PM

you guys own,

Kgaul

Edgar1898 11-11-2003 06:59 AM

For those of you who dont know the new format of quests I'll give you a small heads up with this sample quest. All quests go into a folder called "quests" under the directory where you run your zones. In addition, each zone that you want to have quests needs to have its own folder under the quests folder. IE you want some mob in crushbone to have a quest, you would create the folder "quests" if it isnt created already and add a folder called "crushbone" under quests. Then once you have the directory set up, you will need to get the NPC ID of the mob you want to have the quest. Once you have that completed the directory structure would look like this:
(directory you run eqemu from)/quests/crushbone/19943.qst where 19943 is the NPC ID for the mob. Below is the quest, it shows you some of the basic quest functions:

Code:

EVENT_SAY {
if($1- =~ "Hail") { say("Hail citizen! I am the Captain of the Freeport Militia.  It is my duty to recruit people to kill the deathfist's that plague our land. Are you willing to [assist] the Freeport Militia?"); }
}

EVENT_ITEM {
if($item1 == "13916" && $copper == 0 && $silver == 6) {  say("Good job!  Here is to compensate for your troubles."); exp("1000"); givecash("0","7","0","0"); }
if($itemcount(13916)!=1) { say("hi"); summonitem($item1); }
}

PS: dont forget the ";" after each function.

a_Guest03 11-11-2003 07:57 AM

It basically looks like C code. I like it, Lethal. I understand this.

Rabaril 11-11-2003 07:59 AM

I know very little of code languages... But this seems very easy to understand, with the organization... And almost template like command strings...

Great job!

mollymillions 11-15-2003 09:18 PM

Thanks for the pointers.
I am finding the example wont work with the current 0.50 release version.
I created a file for testing (\Quests\freportw.5252.qst) containing the example text:

EVENT_SAY {
if($1- =~ "Hail") { say("Hail citizen! I am the Captain of the Freeport Militia. It is my duty to recruit people to kill the deathfist's that plague our land. Are you willing to [assist] the Freeport Militia?"); }
}
/*END of FILE Zone:freportw ID:5252 -- Velan_Torresk */

Zone.exe gives the following error when the zone is loaded:

Line: 3,File: quests/freportw/5252.qst | error C0006: syntax error : too many ')'s

I tried different variations and commands but zone.exe always gives the "error C0006: syntax error : too many ')'" message.

Kgaul 11-16-2003 02:53 AM

same here untill i replaced all the /* */ with just // for texting the code...

also if you just test it with the EVENT_SAY and leave the rest you can see what works...


Kgaul

mollymillions 11-16-2003 03:37 AM

Cheers


All times are GMT -4. The time now is 12:20 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.