EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Quest System (https://www.eqemulator.org/forums/showthread.php?t=16338)

Deimos 10-15-2004 12:06 PM

Quote:

, but, if people don't want to do it, that is alright. We can always all keep coding in our own functions, which is what a lot of people might like to do. Not sure, this might be a lousy idea, because EverQuest Emulator is supposed to encourage creativity for someone running their own server, as well as Creator in the staff that are working for those servers. Maybe updating the quest system is bad because it takes away from this creativity. People might want to name all of these functions by their own names. Some people I know will probably like it, but not enough of the population to where it will even be worth it. You guys are right and I see this now, it is not worth it, because it takes away some of the creativeness of EverQuest Emulator.

Cisyouc 10-16-2004 12:39 PM

...and we appreciate your input. However, if someone cannot understand the Perl system and find it a hassle, should they really be running a server?

Also, for quest::color("blah");, you can use this:

embparser.cpp line 500, add after:
Code:

"sub coloremote{push(@cmd_queue,{func=>'coloremote',args=>join(',',@_)});}"
parser.cpp line 960, add after:
Code:

else if (!strcmp(strlwr(command),"coloremote")) {
                        if(mob)mob->Message(atoi(arglist[0]),atoi(arglist[1]));
                      }

*crosses that one off the list*

Syntax:
Code:

quest::coloremote(15, "Hail, $name");
Will Produce:
Hail, Laeiin.

Cisyouc 10-16-2004 12:42 PM

Also,
Quote:

Originally Posted by Deimos
if($hppercent) and or if($hpamount)

could be easily written. I just came back from a party so I dont have the energy to go through it and write it, but its easily possible.

m0oni9 10-16-2004 04:11 PM

Quote:

Originally Posted by Cisyouc
Also,
Quote:

Originally Posted by Deimos
if($hppercent) and or if($hpamount)

could be easily written. I just came back from a party so I dont have the energy to go through it and write it, but its easily possible.

sandy was doing something with HP events a while back. At a glance, it looks like there is an EVENT_HP event. There is also a variable named $hpratio. I think that you have to call setnexthpevent(hp) in your perl script (in EVENT_SPAWN maybe?), and that will call EVENT_HP at the specified hp ratio. Not sure on this. Maybe it is in the docs.

Cisyouc 10-16-2004 04:27 PM

Quote:

Originally Posted by m0oni9
Quote:

Originally Posted by Cisyouc
Also,
Quote:

Originally Posted by Deimos
if($hppercent) and or if($hpamount)

could be easily written. I just came back from a party so I dont have the energy to go through it and write it, but its easily possible.

sandy was doing something with HP events a while back. At a glance, it looks like there is an EVENT_HP event. There is also a variable named $hpratio. I think that you have to call setnexthpevent(hp) in your perl script (in EVENT_SPAWN maybe?), and that will call EVENT_HP at the specified hp ratio. Not sure on this. Maybe it is in the docs.

If Im not mistaken thats for the mobs hps not the clients.

Scorpx725 10-17-2004 03:40 AM

I dont really see the point in writing a new system. As the others have said, adding more perl functions is easy. Theres no need to write a new system. Someone just adding them in would be easier, and less time consuming then writing an entire new system.

And as someone else said, if your having trouble with perl, Im not too sure you should be working on a server.

Deimos 10-18-2004 01:29 AM

Guys, once again, I know how to add them in, exc. Also, above, if you read the comment, I said I agree with you all... There is no need to keep replying or posting how to do certain things =|.

Lurker_005 10-18-2004 06:42 PM

Deimos, If you really want a new quest system, write it. If it is better I'm sure it will get added to the code and used.

But, what I think, and gather from the others posts is that they are at least content, if not happy with the perl system. That being so they would be happier if you put your tallents toward extending the existing system instead of writing a new one. If something can't be done or is not easy, identify it and if possible propose a way to get it done/make it easier.

RangerDown 10-19-2004 02:12 AM

Lurker said it best.

The two arguments you give for a redo are: (1) some functions aren't there you believe should be there, and you aren't happy with the what some variables are named, and (2) you believe it is too complicated for some server ops to use.

(1) It's unreasonable to expect to predict everything a server op might want to do in quests. If you find some quest functionality in EQlive quests/encounters that we don't have Perl functions for, then point them out. Perhaps write the hooks in yourself and submit them for CVS consideration. Wanting to flag GM rank via quest is the first time I've heard of that, and for obvious security reasons there is no quest to do that in EQlive. But since our goal is to emulate EQlive, I'm quite certain that objective carries over into the quest system -- if EQlive does it, then eventually our quest system will do it too.

Nobody is going to want to overhaul the system based purely on semantics. You want $gmrank, I want it kept at $status. Either way, I don't think any variable names are worth overhauling. Too many quests have been written among the various servers to up and change variable names at this point and break all those quests.

(2) Perl was chosen because we wanted the flexibility and power of a scripting engine. We need to be able to evaluate complex conditions, take an indefinite number of actions, and be triggered from a variety of events. That's a pretty powerful scripting engine that would have to do that... and we have it, and best of all, we didn't have to mess around with the scripting engine itself, Larry Wall did that work for us :)

There are quest editors out there whose design is to present a more friendly interface to the user, and allow the user to design quests with said friendly interface, while the editor does the dirty work of making perl code behind the scenes. Having these editors is a great way to make quests easy enough for the perl-unsavvy, without compromising the power of the underlying quest engine. If you attempt to dumb down the quest engine itself, I guarantee what you're proposing will not be accepted by the user base.

Deimos 10-19-2004 09:30 AM

Last time I am going to say this, you all seem not to be reading what I am saying at all....


I do not see it necessary anymore to make a new quest system. You are all still commenting like I think what I first thuoght, but if you read what I am typing, you will see that I am agreeing with you all....

Jeezes, tx.

(Doesn't want anymore posts where people think I see that this is necessary. Told you all a long time ago and am still getting posts.)

Quote:

You guys are right and I see this now, it is not worth it, because it takes away some of the creativeness of EverQuest Emulator.

sotonin 10-19-2004 09:38 AM

You opened the pandora's box. It's too late to close it :lol:

Deimos 10-19-2004 11:32 AM

lol

killspree 10-19-2004 05:18 PM

Lets not get sidetracked. I'll agree that some aspects of the perl system are...odd, to new users(mainly the names of variables, etc).

The guide could also use an update, which I'll try to do soon since I don't think monrezz is around anymore to keep it updated.


All times are GMT -4. The time now is 06:16 PM.

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