smogo |
02-08-2004 11:40 AM |
You guys talkin' a lot ; whatever the issues, hoppefully they will be addressed (is 1 or 2 d's and s's ?)
i've been trying to get this run, and :
there might be a thing in the setglobal code, where duration is arglist[3], and referd to as arglist[2]. This causes wrong expiry result
Quote:
Invalid duration for varname using default
|
Changed in parser.cpp : 1128
Code:
if (!database.RunQuery(query, MakeAnyLenString(&query,
"INSERT INTO quest_globals (charid,npcid,zoneid,name,value,expdate) VALUES (%i,%i,%i,'%s','%s',unix_timestamp(now())+%i)",
qgCharid,qgNpcid,qgZoneid,arglist[0],arglist[1],QGexpdate(arglist[0],arglist[3])
there might be a thing with the insert, where i get
Quote:
setglobal error inserting singer : DBcore::RunQuery: No Result
|
this does not seem to prevent insertion, but is confusing. Mybe this is an issue, i don't know what dbcore does exactly (and don't plan to check if possible). Any ideas ?
third, but not least :
next time the event is triggered, the variable is not defined (test with 'if defined $varname' returns false) and quest::say("value of varname is " . $varname); prints "value of varname is :". I'm in the tracing of this at the moment. Could it be $quest::varname, or $questNNNN::varname or even $main::varname or ... ?
BTW, when setting a variable, it is not yet available (requires to re-enter the event). Is it possible to modify the setglobal :
** edited **
Code:
"sub setglobal{push(@cmd_queue,{func=>'setglobal',args=>join(',',@_)}); eval "\$".$_[0]."= qw($_[1])";}"
would this work with the embedded parser (mean, it works in striaght perl, but ...) ?
|