PDA

View Full Version : echo quest request


bufferofnewbies
12-08-2006, 10:17 AM
wow, try saying that 3x fast.

But anyway: I was wondering if quest::echo could be set in the standard files to provide the text without the "npc says" line in front of it, since the quest::say does that already.
Maybe even with an option line to change the text color.

my reasoning for quests:

quest::echo("An item falls to the floor as this fellow walks away.")

would change this:
random_mob says, "An item falls to the floor as this fellow walks away."
to
An item falls to the floor as this fellow walks away.


This is a small thing, and I'm sure there are alot more things that are more pressing that need to be worked on before, but this is my attempt at being lazy and not having to redo that line every time I download a new update.

Someone help me be lazy.. :)

site3op
12-08-2006, 02:59 PM
Doesn't quest::me do that?

bufferofnewbies
12-08-2006, 03:03 PM
quest:me does an emote from the mob.

quest:me("runs around in circles");

results in:
random_npc runs around in circles.

I was hoping to find a command that left the npc description completely out.

sfisque
12-08-2006, 05:08 PM
you actually did, but you also might have found a bug. according to the quest writing guide pdf , ::emote is supposed to do a proper emote and ::me is supposed to be a targetless emote.

== sfisque

bufferofnewbies
12-08-2006, 05:58 PM
just rechecked it to make sure.

quest::emote results in
random_npc dances around.

while quest::me results in
random_npc says 'dances around'

Now I guess it is time for me to dig into the code and see what I can do about makeing a diff of the changes. Going to pass out for the moment, but will look up the written differences between the three codes to make sure what is supposed to be doing what and where it is suposed to be doing it. I need to get used to working with the code more anyway. I consider it an opportunity to expand my confusion some.

sfisque
12-11-2006, 04:14 PM
i started looking into this. i'll share what i know.

zone/questmgr.cpp is where you will find the handlers for the quest functions (the C++ side that makes the quest::functions in PERL work). basically compare how that works (or fails to work) in comparison to the GM command #emote (handled by command.cpp) which works properly (try out "#emote zone 0 blah blah blah blah" inside the game, for example)

basically, #emote works correctly, and quest::me doesnt. we have to get quest:me to work similarly to #emote, except we need to preserver the "radius of effect" that quest::me obeys.

good luck and hope this helps

== sfisque

bufferofnewbies
12-11-2006, 04:36 PM
I have no clue what most of that stuff does, but I do see that:

on Line 185:
void QuestManager::me(const char *str) {
if (!initiator)
return;
entity_list.MessageClose(initiator, false, 200, 10, str);
} is listed where

on Line 351:
void QuestManager::emote(const char *str) {
npc->Emote(str);
} is used.

Not sure why there is a difference, but even if I did: my knowledge of how to rebuild the exe files are severly limited. My best bet atm is to just suck it up and go on with my other things until I get time to study c++ some.

Thanks for showing me where it was, I get lost looking for things when I don't know where Im going. Haha

Aerewen
12-15-2006, 02:50 PM
yeah actually... lol looking at the code... it *should* work properly...
maybe try downloading a new version of the binaries and overwriting them/replacing them... perhaps you are using an older binary that was compiled before that was fixed? (assuming it didnt used to work properly)

Angelox
12-15-2006, 03:06 PM
At one time, I went crazy trying to get all this to work, finally I had to settle for the "npc says," text and work with that.
Now, I'm trying to set up Gulf of Gunthak quests, and I run into a lot of this;
# You say, 'Hail, Vera'
# Vera nearly jumps out of her skin as you address her. She spins around wildly, spilling ink all down the front of her robe. 'Oh look what you've done! I had kept my robe so clean the entire trip here too!'
# Vera walks away mumbling while she tries to blot out the ink with an old rag.

Since nothing seems to work, all I can use is;
quest::say("Oh look what you've done! I had kept my robe so clean the entire trip here too!");
Keep the other text quoted out and hope for a fix one day.

I think all this must have been working at one time, else why would it be included in the old "manuals"? Must have gotten broken somehow during upgrades.

bufferofnewbies
12-15-2006, 03:26 PM
My actual intention with it is to provide some quest line replies after text (in a different color also if possible). I became used to the way it was implimented on SoD, and really do like their design.

That allows for some cleaner quest designs, as well as fewer 'who xxx? what xxx how could xxx? attempts at quest line catching from the [xxx] lines within the perl.

ie:
Random_guy says, "Blah! Blah, blah blah blah blah?"
[Blah blah choice one]
[Blah blah choice two]
etc..

Player says, "Blah blah choice two"

To which a player knows exaclty what the system will read to continue the quest series in a path. While still allowing options of choice without all the guesswork for players on what to attempt to say.

John Adams
12-15-2006, 03:32 PM
You sure you aren't thinking of EQ2? hehe... sounds like their text formatting. I had gone looking for a way to make all NPC quest text appear only in /tell to the player, but I couldn't find that either. I tried to write my own code, and failed miserably. Maybe I'll try again someday.

bufferofnewbies
12-15-2006, 03:38 PM
for a way to make all NPC quest text appear only in /tell to the player

actually ,now that I think about it. That is probably what SoD did, since the options dont show up to anyone except the questor.

Dang it, now I have to go digging another hole...