EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   New Perl System -> Requests (https://www.eqemulator.org/forums/showthread.php?t=16690)

m0oni9 10-31-2004 01:57 PM

Quote:

Originally Posted by fathernitwit
yes, everything is moving to XS

Awesome. I wanted to devote some time to converting stuff over, but it never happened. Keep up the good work, FNW.

Sarepean 10-31-2004 03:21 PM

Okay--- question. After the revamp, will the old perl quests that are already in existence work with little to no changes?

The reason I'm asking is because I spent all morning spitting up code in order to get the newbie armor quests for Ak'anon working (still working on the tradeskill thing... can't get the container to combine and trying to figure out what dictates which containers can combine the recipes when the recipes aren't tradeskill specific). I was planning on hitting this stuff every weekend until I had everything from EQ Classic (that I could get my hands on) done. Unfortunately, I don't have an EQ account, so some things are a little cheesy or not quite complete yet. =/ Which reminds me, when I do faction changes in a perl quest file, it apparently does the faction changes, but it doesn't give the messages that they changed. Is there a way to do that???

-Sarepean

killspree 10-31-2004 05:27 PM

I'd like to see a quest::message("text") added which only sends the message to the person triggering it. Sort of like a way to give that person the basic objective of the quest, without having to spam everyone with the message like emote does.

cofruben 11-01-2004 02:23 AM

you can use mob->CastToClient()->Message(0,"...."); for that

fathernitwit 11-01-2004 02:33 AM

Quote:

Originally Posted by cofruben
you can use mob->CastToClient()->Message(0,"...."); for that

not anymore, I wouldent advise using it, its not gunna be around long.... thats a total hack of a sub name, and I took it out. There will be several, more appropriate ways to do this when im done.

Cans 11-03-2004 04:17 PM

Sorry for not being too quick on this XS thing, but I'm just confused on something.

Does this change mean the whole quest::say(), etc, system is gone and no longer usable?

And if so, what exactly, besides the general XS term, is replacing it? I've been looking into XS and what it is generally, and what I found was not too good on my part:

Quote:

Learning XS is very difficult, for two reasons.

The first is that the core Perl docs, such as perlxs and perlguts, tacitly assume that you already understand XS. Accordingly, they omit or gloss over crucial assumptions and background information. This sounds bad, but it is actually rather common in the Unix world.

The second is that you can't learn XS. Not as such. Not from the top down. This problem is much more profound than the first, and it stems not from any inadequacy in the documentation, but from what XS is -- and isn't.

The Perl docs refer to XS as a language, but it isn't. XS is a collection of macros. The XS langauge processor is a program called xsubpp, where pp is short for PreProcessor, and PreProcessor is a polite term for macro expander. xsubpp expands XS macros into the bits of C code necessary to connect the Perl interpreter to your C-language subroutines.

Because XS isn't a language, it lacks structure. The underlying C code has structure, but you can't see it, because it is hidden behind the macros. This makes it virtually impossible to learn XS on its own terms.
That's only one of the many things I've read about XS :(

And as a person who is struggling to learn C++ in the first place, does this mean everyone who is not fluent in that language can no longer write quests for their server?

I certainly hope this isn't the case, and if it is, then maybe someone who is XS savvy could guide us who aren't too quick on this on how to do basic functions?

This is just me voicing my opinion and concern on the matter, though, and I might just be confused. Any clearing up on this would be greatly appreciated.

fathernitwit 11-03-2004 06:43 PM

Quote:

Originally Posted by Cans
Does this change mean the whole quest::say(), etc, system is gone and no longer usable?


please read the thread before posting:
Quote:

The new perl stuff I am doing will preserve old behaviors, but greatly enhance the system as a whole.

sdabbs65 11-03-2004 07:39 PM

XS is a (phonetic?) acronym for eXternal Subroutine,
where external means external to Perl, i.e. written in some other language, such as C or C++.

so we can think of it as an add on to the Existing perl system.

Cans 11-04-2004 04:34 AM

Quote:

Originally Posted by fathernitwit
Quote:

Originally Posted by Cans
Does this change mean the whole quest::say(), etc, system is gone and no longer usable?


please read the thread before posting:
Quote:

The new perl stuff I am doing will preserve old behaviors, but greatly enhance the system as a whole.

Yes, I read that...but then I read this:

Quote:

Originally Posted by fathernitwit
yes, everything is moving to XS, command queue is going away completely

So, I wasn't sure what was going away or what was staying. Thank you for clearing it up.


All times are GMT -4. The time now is 11:35 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.