123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- ---> PC Command List
- ------> Here's a list of scripts that can be triggered by PC actions and what they do.
- ------> Configuration is found at conf/script_athena.conf
- ------> There are two methods to define the script to be use (event_script_type)
- ------> 0 - By NPC. There has to be an NPC named in the same manner as the event
- ------> 1 - By Label. Every label from every NPC with the event name will be
- executed (note that in this case the event HAS to start with the
- word 'On', eg: 'OnPCBaseLvUpEvent:')
- + PCCommand: OnPCLoginEvent
- + Code by: (davidsiaw)
- + How it works:
- When a player logs in, the NPC will run as if he just clicked it. Which means
- if the script is like this:
- + Sample:
- prontera,0,0,0 script OnPCLoginEvent -1,{
- mes "lmao";
- close;
- }
- + Explaination:
- every player who logs in will receive a message 'lmao' in their face as soon
- as they can see the map.
- + Note:
- 1) The name of the NPC has to match the one specified in scripts_athena.conf
- 2) I made it invisible because you don't need to see it. Its an abstract NPC
- 3) If you don't want it, simply delete it
- 4) If you have more than one only the first found will be execute (when using
- event_script_type 0)
- 5) You can put this script in ANY file.
- 6) I put an end; there because that just makes it do nothing.
- 7) Modify this script to your liking and give your players a surprise
- 8) Remember: IT RUNS LIKE A NORMAL NPC. BUT THE ONLY WAY TO 'CLICK' IT IS BY
- LOGGING ON
- 9) There are 2 ways to use this - check the examples below!
- -----------------------------------------------------------------------------
- + PCCommand: OnPcBaseLvUpEvent
- + Code by: lordalfa
- + How it works:
- When a player Base level increases, the NPC will run as if he just clicked it. Which means
- if the script is like this:
- + Sample:
- - Script OnPCBaseLvUpEvent -1,{
- mes "zomfg....";
- close;
- }
- + Explanation:
- whenever a player level ups his/her base level, the words zomfg will pop up
- in his face.
- + Note:
- 1) This script runs every moment the player gains a level. It is adviced if
- you want to repeatedly use this script, to use a sort of filter.
- 2) If a player gains multiple levels from a single kill, the script will be
- only called once at the end.
- -----------------------------------------------------------------------------
- + PCCommand: OnPcJobLvUpEvent
- + Code by: lordalfa
- + How it works:
- It's exactly the same as OnPcBaseLvUpEvent, except it triggers when leveling job.
- -----------------------------------------------------------------------------
- + PCCommand: OnOnNPCKillEvent
- + Code by: lordalfa
- + How it works:
- When a player kills a monster, the NPC will run as if he just clicked it. Which means
- if the script is like this:
- + Sample:
- - script OnNPCKillEvent -1,{
- mes "Holy shit";
- close;
- }
- + Explaination:
- whenever a player kills a monster on the map, the words "Holy Shit" will appear
- on the guy's face.
- + Note:
- 1) This script runs everytime a player kills a monster It is adviced if
- you want to repeatedly use this script, to use a sort of filter.
- 2) The var "KilledRid" is set on the killer, this can be used in
- strmobinfo to find out info about the Monster that was killed
- -----------------------------------------------------------------------------
- + PCCommand: OnPCKillEvent
- + Code by: zbuffer aka Lance
- + How it works:
- It is exactly the same as OnNPCKillEvent, except it triggers when a player kills another player.
- -----------------------------------------------------------------------------
- + PCCommand: OnPCLoadMapEvent
- + Code by: zbuffer aka Lance
- + How it works:
- When a player logs in on the map, the NPC will run as if he just clicked it. Which means
- if the script is like this:
- + Sample:
- prontera,159,192,2 script OnPCLoadMapEvent 101,{
- mes "Holy shit";
- close;
- }
- ----or--->
- OnPCLoadMapEvent:
- announce " " strcharinfo(0) + " has changed map!", 16;
- end;
- + Note:
- 1) Both types will execute regardless of map.
- 2) The event will only trigger on maps where you enable the 'loadevent' mapflag.
- -----------------------------------------------------------------------------
- + PCCommand: OnPCDieEvent
- + Code by: Unknown
- + How it works:
- When a player dies, the event will be run as if a npc were clicked. The RID of the person killed
- will be attached. Simple. It can to be used as a floating npc or as a npc placed on a map.
- Notice that this event is server-wide if used as a floating npc, so if you try running it for
- more than one map, and want to make a single npc, you'll have to use some sort of filter, which
- can be getmapxy, something like this:
- - script PCDieEvent -1,{
- if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) goto L_Finish;
- if (@mapname$ == "valkyrie") || (@mapname$ == "amatsu") {
- killmonster "valkyrie","All";
- announce "Deep Voice: You have failed.... you have another opportunity though...",bc_self,0x660033;
- if (killtest != 0) enablenpc "Outern Voices";
- if (killedonce == 1) end;
- set killedonce,1;
- } else
- end;
- L_Finish:
- end;
- }
- ----or---->
- OnPCDieEvent:
- if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) goto L_Finish;
- if (@mapname$ == "valkyrie") || (@mapname$ == "amatsu") {
- killmonster "valkyrie","All";
- announce "Deep Voice: You have failed.... you have another opportunity though...",bc_self,0x660033;
- if (killtest != 0) enablenpc "Outern Voices";
- if (killedonce == 1) end;
- set killedonce,1;
- } else
- end;
- L_Finish:
- end;
- We're using getmapxy to obtain the mapname, then adjust our commands and actions depending on the
- map. We could also use the command to find if the player died inside a wished area.
- -----------------------------------------------------------------------------
|