PDA

View Full Version : Allowing commas in perl quest text


m0oni9
04-02-2004, 12:07 PM
Commas haven't been able to be used in quest text because they are used as a delimiter for the command queue. The idea behind this is to always assume that quest::say and quest::echo take a single argument. Parser::ExCommands() seems to handle everything fine as long as num_args is set to 1 for these commands. Changes below:

zone/embparser.cpp, line 387, replace:
size_t num_args = std::count(args.begin(), args.end(), ',') + 1;with:
size_t num_args = 1;
if (!(!strcmp(cmd.c_str(), "say") ||
!strcmp(cmd.c_str(), "echo") ))
for (const char *c = args.c_str(); *c; c++)
if (*c == ',')
num_args++;I only did this for say and echo commands. If any others need this, they should be added easily. Also, as a side note, using std::count(), things were coming out funny (previous data hiding somewhere, don't know full details). Using the C-style delimiter count works.

Scorpious2k
04-02-2004, 01:59 PM
This was fixed quite a while ago... what version are you using?

m0oni9
04-02-2004, 02:08 PM
I am using 0.5.5-RC2, downloaded from http://cvs.biosprite.net yesterday. This post was in response to http://www.eqemulator.net/forums/viewtopic.php?t=13874 . I tested the script sandy had posted, and it crashed when used in conjunction with other things (handing items to NPCs, summoning items, ...).