PDA

View Full Version : Yet another thread about scripting woes


Damilis
02-16-2003, 01:46 AM
Okay. I have spent several hours sifting through thousands of forum entries and have come up with nothing other tha confusion. I am trying to do scripts for NPCs. I have created a \quests\ dir and have downloaded some .qst files off these boards to test. I read that the ID#s might not match so i fired up EQAdmin and checked that the NPC i was working with had a .qst and that the id# of the file and in the file were the same as the NPC. so far so good. Login, and 'hail' and no luck.
So i #repoped the zone, nothing. #zoned put then back in, nothing. Hell, even did a reboot of the server, nothing.
Then i read about "oh there might be improper spacing in the .qst file, check the thread about scripting." Pretty sure it doesnt exsist, been looking for a while. Been checking the Zone window regularly and it hasnt given me any "cant find quests\blahblah.qst" whether there is a matching NPCID.qst or not, so i dunno if its even looking for them. Cant find any of these supposed quest making utilities either. Found the threads where the USED to be, but no longer.
Is there any code i have to add? or is my spacing in the files? am i just thick?
I can tell you one thing for sure, i am frustraited as hell because it seems to work for everyone else. Grrrrrrrr. Some insight from those more clairvoyant than me please! :)

(Please dont tell me to look for a 'sticky' on How to make a quest, cause the only one i found is a discussion on advanced commands AFTER scripting is already working...i looked.)

Lurker_005
02-16-2003, 05:34 AM
My suggestion is to make a new guest, very simple, just a hail and response. See if that works. You might also want to try posting a zip of some of the quests for others to check over.

killspree
02-16-2003, 06:01 AM
Try this:

TRIGGER_TEXT:Hail:{
SAY:Greetings, %CHARNAME%. How are you today?
}

TRIGGER_TEXT:I am fine:{
EMOTE:smiles, 'That's great to hear!
}
END_FILE

Other triggers are: TRIGGER_ITEM(item turn-ins), TRIGGER_DEATH(npc death, like if you want to spawn a mob on another mobs death), TRIGGER_ATTACK(for when the mob aggros, but this seems broken atm), and TRIGGER_FLAGS(check wiz's tutorial for his changes for info on this one).

Some common scripts that are run by the triggers: SAY, TEXT, EMOTE, NPC_FLAG(check wiz tutorial), SPAWN_NPC, SPAWN_ITEM, GIVECASH, DEPOP, ADDHATELIST(causes the npc to agro on a person when the trigger is run), FLAG_CHECK(see tutorial), CHANCE(chance for the script to happen when the trigger is run), and FACTION_CHECK.

There are a few others I'm probably forgetting, but those should all work.

Post a sample of one of your quests and I'm sure someone would be willing to help you figure out what went wrong. :)

Damilis
02-16-2003, 09:30 AM
Heres what i am running with. I am using the Aenia chick from qeynos2. EQadmin says her id is 121035 but the file i downloaded had her as ID 16. I tried putting in 121035 as ID and no joy. Also tried what her NPCSTATS returned as: aenia_ghenson00, again, no joy. *Bangs head on desk*


Filename: 121035.qst

# Aenia Ghenson, N Qeynos 121035
NPC_SCRIPT 16 {
TRIGGER_TEXT:Hail:{
SAY:Why, hello there! I'm Aenia, daughter of Dranom. It's such a bore just sitting around here all day and night. My father is soooooo overprotective! He never lets me go out and have any fun at all. And he's so mean to my poor [boyfriend]!
}

TRIGGER_TEXT:boyfriend:
SAY:My boyfriend's name is Behroe Dlexon. He is so dreamy.. <sigh>.. But, I haven\'t been able to see him lately. He works nights down at the docks, and with my father here all day, we just can't seem to get together. Oh, how I wish I could speak with him..
}

# Behroe's ballad
TRIGGER_ITEM:18026:{
SAY:Oh.. My Behroe is so sweet. Oh, how I long to see him. Please, oh please, kind %CHARNAME%, can you do me but one favor? Here, quickly, before my father returns.. take this letter to my love, Behroe. I have no money to offer you, but as you are a friend of his, so are you a friend of mine, and I will not forget your good deeds Vaslin. Thank you and be safe.
SPAWN_ITEM 18027
}
}


Anyone pick out my noob mistakes? (I sure can't) :)

killspree
02-16-2003, 09:40 AM
With the recent code changes wiz made you don't have to have the NPC_SCRIPT line in the quest file, try this:

# Aenia Ghenson, N Qeynos 121035
TRIGGER_TEXT:Hail:{
SAY:Why, hello there! I'm Aenia, daughter of Dranom. It's such a bore just sitting around here all day and night. My father is soooooo overprotective! He never lets me go out and have any fun at all. And he's so mean to my poor [boyfriend]!
}

TRIGGER_TEXT:boyfriend:{
SAY:My boyfriend's name is Behroe Dlexon. He is so dreamy.. <sigh>.. But, I haven\'t been able to see him lately. He works nights down at the docks, and with my father here all day, we just can't seem to get together. Oh, how I wish I could speak with him..
}

# Behroe's ballad
TRIGGER_ITEM:18026:{
SAY:Oh.. My Behroe is so sweet. Oh, how I long to see him. Please, oh please, kind %CHARNAME%, can you do me but one favor? Here, quickly, before my father returns.. take this letter to my love, Behroe. I have no money to offer you, but as you are a friend of his, so are you a friend of mine, and I will not forget your good deeds Vaslin. Thank you and be safe.
SPAWN_ITEM 18027
}
END_FILE

Damilis
02-16-2003, 10:03 AM
Argh, so annoying. The last change made perfect sence, but still no worky worky.
More info:
this npc is ID 121035, belongs to spawngroup# qeynos2121035, is named Aenia_Ghenson, and is the only "aenia" in the bloody zone.

I put in the code exactly as you suggested Killspree, and verified that the filename is 121035.qst and in a eqemu\quests\.

Hell i even shutdown the server and MySQL and brought it back up, just to make sure the changes took. From all my research, it should be working. but its not. grrrrr.
Any more ideas? anyone? Please?

killspree
02-16-2003, 10:10 AM
Hmm, try this.

When you save the file, type in "121035.qst".

Save it like that, with the quotation marks, and see if it works.

Damilis
02-16-2003, 10:23 AM
Still a nogo man. Is there anyway to tell if the ID that EQAdmin is giving me is bad? i mean, is there a way to pull up a DB id ingame to verify?

killspree
02-16-2003, 10:29 AM
Yeah, target the NPC in question and type #showstats. It'll give you the npc info there, and should show the individual id.

Damilis
02-16-2003, 10:34 AM
You rule, its working now. appearently, EQAdmin isnt reporting IDs right. It said 121035 when in game is 121034. But it seems to be working now :) thanks.

Damilis
02-16-2003, 10:12 PM
NM about that ID mismatch, Noob Mistake. All is well.

SponkeyMonkey
02-17-2003, 05:58 AM
hello im trying too get the Preist of discord guy too make me pvp , i can get him too talk too me and such i just cant get him too make me pvp hwen i say yes. Ne ideas?

NPC_SCRIPT 124478{
TRIGGER_TEXT:Hail:{
SAY:Greetings %CHARNAME%, Would you like you like to go PvP [yes]
}
}
TRIGGER_TEXT:yes:{
#pvp on %CHARNAME%
SAY:Have a Safe Journey %CHARNAME%
}
}

killspree
02-17-2003, 12:14 PM
Try this:

#Priest of Discord 124478
TRIGGER_TEXT:Hail:{
SAY:Greetings %CHARNAME%, Would you like you like to go PvP [yes]
}
TRIGGER_TEXT:yes:{
PVP ON
SAY:Have a Safe Journey %CHARNAME%
}
END_FILE

Remember to save it as "124478.qst". You don't need NPC_SCRIPT anymore, but make sure to have END_FILE at the end of the script.

EDIT: I found what might be your problem. You were trying to use an emu command in the quest. You can't do that, but there used to be a PVP switch in quest scripting(not sure if it's still in) - so I updated the above script and it should work if that switch is still in.