PDA

View Full Version : World Emotes and Animations


neiv2
04-30-2009, 05:22 PM
Can someone confirm this actually works?

quest::we(colorid, "Text") - Server wide emote.

I have not been able to get this to work on my server. Thanks.

trevius
04-30-2009, 05:59 PM
Try this example:

quest::we(15, "Testing!");

And you should see a yellow emote to the world. The 15 is a color. Just try different numbers for different colors.

neiv2
04-30-2009, 07:58 PM
My text is a bit longer, but otherwise identical:

quest::we(15, "You sense the ring has been found. It is now in the vicinity of $zoneln.");

Every other quest function in that block of script works fine. But this does not.

Justsomeguy
05-01-2009, 12:25 AM
it did work. maybe due to language being implemented with some things such as this not being updated.

nosfentora
05-01-2009, 03:08 PM
My text is a bit longer, but otherwise identical:

quest::we(15, "You sense the ring has been found. It is now in the vicinity of $zoneln.");Every other quest function in that block of script works fine. But this does not.

Did you get output:

You sense the ring has been found. It is now in the vicinity of $zoneln.?

at a quick glance, i think you need to have it

quest::we(15, "You sense the ring has been found. It is now in the vicinity of ".$zoneln.".");


the little i remember of quest scripting, the variables $zoneln need to be outside the text, and the '.' is the concatenator operator.

pls correct if i'm wrong.

joligario
05-01-2009, 05:52 PM
Variables work inside quotes.

nosfentora
05-01-2009, 11:05 PM
I stand corrected.
Thanks joligario.

neiv2
05-02-2009, 09:45 PM
I stand corrected.
Thanks joligario.
Yeah, I think I can confirm quest::we(colorid, "text"); does not work--at least not on my server.

Zeice
05-02-2009, 09:55 PM
I know this is sort of getting away from the topic of this post, but how are you calling the emote?

When I run it with a simple say event it works fine. I get the yellow text immediately. Granted I haven't tried it with anything else, but just curious as to how you are calling it.

sub EVENT_SAY {

if($text =~ /Hail/i) {
quest::we(15, "You sense the ring has been found. It is now in the vicinity of $zoneln.");

}}

neiv2
05-03-2009, 04:40 PM
I have tried it with both a simple EVENT_SAY and an EVENT_ENTERZONE. Each one contains other quest functions that are at the same level as the emote. They all work fine, just not the emote.

neiv2
05-03-2009, 07:09 PM
I experimented a bit with this, and it appears that the functions in the event work only up to the quest::we() function. Then functionality stops. E.g., in the following, the "say" function works (the "we" function does not):

sub EVENT_SAY
{
if($text=~/hail/i)
{
quest::say("Hi there");
quest::we(15, "Testing!");
}
}

But in the following example, neither one works (i.e., the "we" function prevents the rest of it from working):

sub EVENT_SAY
{
if($text=~/hail/i)
{
quest::we(15, "Testing!");
quest::say("Hi there");
}
}

trevius
05-03-2009, 07:34 PM
The new World and Zone emote quest commands were added quite a while ago and work fine. Which version of the server code are you running currently?

drakelord
05-03-2009, 08:32 PM
I experimented a bit with this, and it appears that the functions in the event work only up to the quest::we() function. Then functionality stops. E.g., in the following, the "say" function works (the "we" function does not):

sub EVENT_SAY
{
if($text=~/hail/i)
{
quest::say("Hi there");
quest::we(15, "Testing!");
}
}

But in the following example, neither one works (i.e., the "we" function prevents the rest of it from working):

sub EVENT_SAY
{
if($text=~/hail/i)
{
quest::we(15, "Testing!");
quest::say("Hi there");
}
}

Just tested these on my server and they worked fine, :/

neiv2
05-03-2009, 08:33 PM
Does Eqemu23 sound right?

trevius
05-03-2009, 08:50 PM
LOL no, it would be something like EQEmu 0.7.0.1129 Revision 559 for the current version.

Zeice
05-03-2009, 09:42 PM
You mean revision 459. ;)

trevius
05-03-2009, 10:07 PM
Yeah, sorry, typo. But I think it still gives the info he is supposed to be looking for :P

neiv2
05-03-2009, 10:49 PM
Where would I look to find the version number?

trevius
05-03-2009, 11:00 PM
Do you remember where you got the server code from? It will say right where you got it at.

Either that, or look in the changelog.txt file and post the last update in that file. The date there should make it possible to figure out which version you are running.

neiv2
05-04-2009, 12:18 AM
The server code came with my PEQ DB I believe. The latest change code is:

EQEMu Changelog (Started on Sept 24, 2003 15:50)
-------------------------------------------------------

==10/12/2008
Derision: No more binding wounds while feigning death.
Derision: (Rocker8956) Movegrp quest command fix.
Derision: (LeftRoad) TEMPORARY(NORENT) items in a character inventory will be retained if you log back into that character within 30 minutes.

trevius
05-04-2009, 07:02 AM
That explains why you are missing a ton of the newer stuff. That is revision 89 here:

http://code.google.com/p/projecteqemu/source/browse/trunk/EQEmuServer/changelog.txt?spec=svn89&r=89

We are at revision 460+ atm, so you are missing at least a few hundred changes :P

neiv2
05-04-2009, 09:31 PM
So then, is this the latest server code?

http://code.google.com/p/projecteqemu/downloads/list

trevius
05-04-2009, 09:51 PM
Yeah, that is the latest version. You could also just get the binaries that were updated today here:

http://code.google.com/p/projecteqemu/downloads/list

If you are running Windows, this will keep you from having to compile it yourself if that is an issue for you.

neiv2
05-04-2009, 10:35 PM
I may not be doing this correctly. The server code I installed before was part of the PEQ install kit, so this is a bit different procedure than I have used before. So, from the linked page, I downloaded Rev460-Bots.zip, unzipped it, and it appeared to contain folders and files that should go directly in the root or my EQEMU folder, so that's where I put them (overwriting the old ones). But this made no difference in the quest::we(); issue I am having.

trevius
05-04-2009, 11:54 PM
When you update your server code, you also have to make sure to update all of the required SQL changes to be current as well. I am surprised your server would start at all without doing that.

Yeah, you basically just overwrite anything existing in that folder with the new files. But, if your server isn't having other issues after doing that, then maybe you didn't do something correctly. Those quest commands shouldn't require any SQL changes for them to work, but the server itself definitely will. If you are starting with a fresh PEQ DB, you can just update to the latest one by using their new SVN as described on their forums. If you are using a database that you have already made some changes to, then you will want to update all of the SQL updates yourself. You can find most of the SQL update stuff mentioned in the changelog.txt file. Just start from the date where your server code was from before and read upwards and add the SQL noted in each change in chronological order.

Either that, or PEQ may have more updated server packs, but I don't really know much about that as I have never used them.

neiv2
05-05-2009, 01:01 AM
Quick question: the changelog makes many references to sql stated in this way:

Required SQL: utils/sql/svn/*.sql

Where are these located? I've done searches of my computer can can find them nowhere.

trevius
05-05-2009, 03:30 AM
You can get them from the SVN if you download the source code using TortoiseSVN. Here is a link to the source code page:

http://code.google.com/p/projecteqemu/source/list

And here are instructions to setup the SVN download of the source:

http://code.google.com/p/projecteqemu/source/checkout

And some info about getting Tortoise setup if you want to use that for checking out:

http://code.google.com/p/projecteqemu/wiki/CommittingwithSVN

neiv2
05-05-2009, 07:56 PM
Thanks Trevius. It looks like I've got my work cut out for me. I ran all the SQL statements that were in the changelog, but skipped the SVN ones. I guess I'll need to re-do everything in order because the server can no longer locate the zones when I try to enter the world from the character-select screen.