Qglobal problem
Ok. Im creating an npc named Ambassador Dumont. I have him created and all, and I had the script working perfectly, however, I would like to add a feature to where he gives 20 pp to beginning players to buy some starter gear from a merchant, and not be able to get 20 more pp again from him. Im very confused about qglobal. Ive searched probably every thread on this forum, but I cant seem to find an explination here. It just seems vague. I understand the basic jist of it, but I cant figure out how to make it work. I looked in the npc_types in the db, and I cannot find the npcid of the character in there anywhere. But, he is in the database, and can run the basic areas of the quest, but just has problems with qglobal. I would appreciate any help anyone can give on this, because I have racked my brain for hours on end on this one.
Code:
sub EVENT_SAY |
use quest::setglobal instead of targlobal.
set the qglobal field in npc_types to 1 if you haven't already to enable quest globals for your chosen npc. target the npc and use #showstats or #npcstats to get the npcid number. the quest tutorial wiki page explains everything else pretty well. |
thats the thing.. I cant find any good examples there that were working.. all I saw were works in progress.. and the examples that were there were vague.. my npc is in the database.. he spawns when the server starts, but I cant find his npcid in the npc_type field.. I know his npcid. I just dont understand alot of this. I guess I just need to play around with it some more.
|
update npc_types set qglobal=1 where id=(ambassador dumont npcid);
quick example, maybe it'll help you. Code:
sub EVENT_SAY { |
Thanks. I appreciate the feedback. Much appreciated.
|
ok went through and havin some problems with this. it works for the most part, however when I hail, the both the "Ahh, hello young $race, what brings you to the Orders Library? You wouldnt happen to be responding to one of the [flyers] I sent out now would you?" and "May you travel with the Fives blessing $name." show up when there is no quest global entry for it in the database, and when it sets the global to 1, the "May you travel with the Fives blessing $name." doesnt show up at all. What am I doin wrong here?
Ive tried every combination I could think of, searched this forum and peq forum, and have come up with no solution. Without the Code:
else Code:
sub EVENT_SAY "Ahh, hello young $race, what brings you to the Orders Library? You wouldnt happen to be responding to one of the [flyers] I sent out now would you?" Id like it to say: "May you travel with the Fives blessing $name." Any help would be appreciated here. |
Code:
sub EVENT_SAY { |
you rock! thanks alot it works perfectly.
|
is there any problems with qglobal? Im trying to update the variable, and it doesnt work. heres example.
Code:
quest::setglobal("zavious",1,0,"M2"); Code:
quest::setglobal("zavious",2,0,"M2"); Code:
quest::delglobal("zavious"); Code:
quest::delglobal("zavious"); #by itself Sory for bothering you again btw.. I just dont understand why its not updating. |
|
yes.. Ive read that tutorial several times, however what Im saying is the
quest::setglobal([varname],[value],[options],[duration]); command, after used once, doesnt want to modify the value again.. like if it was originally 0.. then I change it to 1,.. when I change it to 1 it creates the variable and sets it to 1.. but when I try to use it again, and put in quest::setglobal("zavious",2,0,"M2"); for instance, it doesnt change the variable zavious to 2 like it says in that tutorial.. Ill quote: "setglobal quest::setglobal([varname],[value],[options],[duration]); (perl format) The setglobal command allows you to create or modify an existing global variable for the mob you are using the command on." If the variable exists, and its currently set at 1, this command will not modify the variable and change it to 2. Quote:
If I can figure out how to update a global variable up to like 5 different times on 1 npc I would be set. I need to make it where people can only do 1 step at a time, not skip steps and not do steps more than once in a single npc quest. I cant do that when quest::setglobal doesnt modify the variable like specified in the wiki..:( Is anyone else having problems with this? If so, is there any other way to do this if globals dont update more than 1 time? |
at the quest tutorial:
Quote:
|
Yea... that sucks.. Ive tried every possibility I could with $zavious = undef;.. nothing would update... tried quest::setglobal ($zavious = undef); Ive tried undef zavious, undef $zavious, quest::delglobal ("zavious"); wiht no sucess.. It was originally at 0, I used a coommannd to make it to 1 and it was sat at 1, and wont update to two.. with the commands specified by the program. I didnt knotice the part about $variable = undef; but Id like to see some sorta example here. Once I learn this, since there is very vague descriptions in all of this.. and no examples or documentation... well documentation that id like.. so I can learn this stuff.. but Ive spent 8+ hrs a day on this with no luc.. it wont go from 1 to 2.. Id be more tan willing to post both of my examples in order to help future people that come along that dont understand the stull that I didnt... I think it would be very helpful. So far heres what Im tryin to do. Its my last real step before I finally figure out the jist of qglobal. anyway, heres what i got. id like for someone to point out what Im doin wrong here, and ILl post alot more that you guys have helped with as well that I think a lot of newer scripters like me that catch on fast. I feel like a noob for not readin those few lines about $variable = undef; however Im catchin on pretty fast. for only learning this for about 2-3 weeks, Ive come prett yfar.At any rate, Im working on a smaller one first. Its pretty filled up with qglobals:P But like I said, I have some complex scripts, that I will utilate qglobal in once I get it sorted, that Im willing to share with the community... once I figure this one darn command out properly... Ive searched websites.. even non emu ones.. and have come up with stuff that doesnt work.. Ive read every script in peq quest database.. with little success.. they dont use $variable = undef; they use quest::delglobal("Zavious"), however.. delglobal wont delete it! very strange to me..at any rate Id like to thank everyone helping me fix this I need it to go from 0 to 1 to 2 to 3 to 4 in one script... I know thats extensive, but i need to make this part to where a player can only do this quest once.. well any player only do this quest once.. IM gonna go ahead and post my code here in hopes of some soultion someone can give me, because I am at a lose here.. Ive spend 8ish hours tryin to figure this out.. it seems like most of the peq quests dont use this function.. I saw 2 that used globals.. are they for advanced scripters? or is it new? Problem is our old coder is mia.. he said he would play, but wasnt gonna touch coding etc etc... so I decided to learn. IM a quick learner when it comes to this.. I think Ive got everything down pat now when it comes to quest npc's. But when my servers done, your more than welcome to come in and test any that wants to. Ill let come in and look. But anyway, I really hope Im not buggin you guys, and actually consider me as a new programmer keeping eqemu alive. So let me know what you think here
Code:
sub EVENT_SAY |
Code:
sub EVENT_SAY |
now when var is at first 0 like it starts with, you can hail fine, you hail a second time it says
Have you retrieved the four books that the Ambassador requested from Crushbone? Hello $name. I have been expecting you. Ambassador Dumont told me you would be arriving shortly. Do you have the four books that the Ambassador told you to retrieve from Crushbone? If so, hand them to me. #summonitem 51510 at the same time.. you turn in the 4 items and it says the normal message, but doesnt update the global_type from 1 to 2.. when you hail it says the same thing: Have you retrieved the four books that the Ambassador requested from Crushbone? Hello $name. I have been expecting you. Ambassador Dumont told me you would be arriving shortly. Do you have the four books that the Ambassador told you to retrieve from Crushbone? If so, hand them to me. #summonitem 51510 sigh.. |
All times are GMT -4. The time now is 05:28 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.