EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Complete perl function list (https://www.eqemulator.org/forums/showthread.php?t=16681)

fathernitwit 10-28-2004 04:59 PM

Complete perl function list
 
Hey,

I had to make this list for some work im doing on perl, and I figured you guys could use it.

Code:

        int ChooseRandom(int, int, int....);

        void echo(const char *str);
        void say(const char *str);
        void me(const char *str);
        void summonitem(int32 itemid, uint8 charges = 0);
        void write(const char *file, const char *str);
        void spawn2(int npc_type, int grid, int unused, float x, float y, float z, float heading);
        void setstat(int stat, int value);
        void castspell(int spell_id, int target_id);
        void selfcast(int spell_id);
        void addloot(int item_id, int charges = 0);
        void Zone(const char *zone_name);
        void settimer(const char *timer_name, int seconds);
        void stoptimer(const char *timer_name);
        void emote(const char *str);
        void shout(const char *str);
        void shout2(const char *str);
        void depop(int npc_type = 0);
        void settarget(const char *type, int target_id);
        void follow(int entity_id);
        void sfollow();
        void cumflag();
        void flagnpc(int32 flag_num, int8 flag_value);
        void flagcheck(int32 flag_to_check, int32 flag_to_set);
        void changedeity(int diety_id);
        void exp(int amt);
        void level(int newlevel);
        void traindisc(int discipline_tome_item_id);
        void safemove();
        void rain(int weather);
        void snow(int weather);
        void surname(const char *name);
        void permaclass(int class_id);
        void permarace(int race_id);
        void permagender(int gender_id);
        void scribespells();
        void givecash(int copper, int silver, int gold, int platinum);
        void pvp(const char *mode);
        void movepc(int zone_id, float x, float y, float z);
        void gmmove(float x, float y, float z);
        void movegrp(int zoneid, float x, float y, float z);
        void doanim(int anim_id);
        void addskill(int skill_id, int value);
        void setlanguage(int skill_id, int value);
        void setskill(int skill_id, int value);
        void setallskill(int value);
        void attack(const char *client_name);
        void save();
        void faction(int faction_id, int faction_value);
        void setsky(uint8 new_sky);
        void setguild(int32 new_guild_id, int8 new_rank);
        void settime(int8 new_hour, int8 new_min);
        void itemlink(int item_id);
        void signal(int npc_id);
        void setglobal(const char *varname, const char *newvalue, int options, const char *duration);
        void targlobal(const char *varname, const char *value, const char *duration, int npcid, int charid, int zoneid);
        void delglobal(const char *varname);
        void ding();
        void rebind(int zoneid, float x, float y, float z);
        void start(int wp);
        void stop();
        void pause(int duration);
        void moveto(float x, float y, float z);
        void resume();
        void addldonpoints(sint32 points, int32 theme);
        void setnexthpevent(int at);
        void respawn(int npc_type, int grid);


Z.Wylde 11-10-2004 08:29 AM

where do you type this stuff in? in game? in cmd? sorry i'm a noob, and have no clue

RangerDown 11-10-2004 09:14 AM

If you're going to code perl quests, and have the prerequisite quest scripting know-how (which is beyond the scope of this thread), then those are the perl functions you can use under that new perl system Father is making.

If you don't do perl quests, then you may disregard this entire thread :P

Darkened 11-10-2004 01:28 PM

i've searched high and low , but where is a thread detailing the new quest system? i'm making a quest pack for EQEmu (all official quests from live) and i don't want to write them in the old format if theres a new format.

fathernitwit 11-10-2004 01:49 PM

The format is exactly the same; the only thing that's changed is the format behind it.

If you're working on a quest pack, you might want to drop by #npcmovdb on irc, perhaps you'd like to join the official peq team

Darkened 11-10-2004 03:02 PM

sure , i'm interested in joining if thats acceptable by the staff :D

i'm in the irc chan now , also Cofruben or zordon can usually get ahold of me if i'm not in irc, as i'm involved in other projects with them as well.

mamba666 05-08-2007 06:06 AM

void changedeity(int diety_id);

Which is it Diety or Deity?


Is it possible to do something like

sub EVENT_SAY
{
if(($text=~/hail/i) && ($deity_id==1))
{
quest::say("Hello fellow Norrathian.");
}
}


I just want to be able to do some quests based on the characters deity.

I think that the deity implementation on live is so sparse. There are a couple of tradeskills and very few deity oriented quests. It is sad to see this go to waste.

gernblan 10-23-2007 02:30 PM

Just wondering if this is still up to date .. I mean, if someone knows offhand? I'd have to do research and stuff and am wondering if anyone just KNOWS :)

Thank you.

gernblan 10-23-2007 02:42 PM

Quote:

Originally Posted by mamba666 (Post 132588)
void changedeity(int diety_id);

Which is it Diety or Deity?


Is it possible to do something like

sub EVENT_SAY
{
if(($text=~/hail/i) && ($deity_id==1))
{
quest::say("Hello fellow Norrathian.");
}
}

.


Read those as a guide... not truly literal.

An example of how to "read" them...

Let's do yours:

void changedeity(int diety_id);

Ok...

First, scrap void. Change that to quest::

So...

quest::changedeity();

Now what?

Inside the parens are the TYPES of values you give the function.

So for follow it wants the deity_id which is of type integer (the list of values and Deitys they represent are probably on the wiki somewhere). So in the parens just give it the value you want.

So now it becomes:

quest::changedeity(4);

That changes the player to Deity #4 (whatever that is...).

Make sense?

The others, just work them out the same way. The definitions inside the parens simply tell you what the function WANTS in terms of the data type and stuff. The rest of it can be figured out in context to what the function actually is supposed to do.

KingMort 04-29-2009 07:24 AM

Could some one update this ?

drakelord 04-29-2009 09:05 AM

That would be nice. In fact, I'd say the entire perl lexicon needs an update, as there are a lot of new EVENT types and such that have been added along with plugins and the like.

cavedude 04-29-2009 09:07 AM

Use the wiki, it is kept up to date. http://www.eqemulator.net/wiki/wikka...=QuestTutorial

drakelord 04-29-2009 09:42 AM

Hoshi~ Thanks cavedude. Most of the stuff on the wiki hasn't been edited in a while, so I assumed the wrong thing.


All times are GMT -4. The time now is 12:10 AM.

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