rathena/doc/whisper_sys.txt
euphyy 31d2fe26b3 * Follow-up r16742, revised quest sample (doc\sample\npc_test_quest.txt) and whisper system documentation (doc\whisper_sys.txt)
* Follow-up r16745, fixed a few typos in atcommand documentation (doc\atcommands.txt)
* Minor cleaning - spacing, tabulation, comments, dividers

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16746 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-09-05 02:42:20 +00:00

52 lines
1.7 KiB
Plaintext

//===== rAthena Documentation ================================
//= NPC Whisper System
//===== By: ==================================================
//= lordalfa
//===== Current Version: =====================================
//= 20120904
//===== Description: =========================================
//= A description of rAthena's NPC whispering system.
//============================================================
This piece of code to allows characters to execute events in NPCs by whispering
them up to ten parameters. The NPC must have an "OnWhisperGlobal" label, or an
"event not found" error will result.
NPC:<NPC Name> <String>{#String 2{#...{#String 10}}}
The whispered strings are separated by the "#" character, and are each stored
into separate temporary character string variables:
@whispervar0$, @whispervar1$, ... @whispervar9$
---------------------------------------------------------------------------------
Below is an example of how this feature might be used.
You whisper an NPC "NPCCommander" in-game with the following instructions:
NPC:NPCCommander Report#Killstealing#Lordalfa
The parameters are passed on to the "OnWhisperGlobal" label of the NPC, and can
be processed accordingly:
- script NPCCommander -1,{
OnWhisperGlobal:
// Inform player "Lordalfa" that he has been reported for killstealing.
if (@whispervar0$ == "Report")
message @whispervar2$,"You have been reported for "+@whispervar1$+".";
end;
}
This could also be used for hidden event triggers:
- script EventManager -1,{
OnWhisperGlobal:
if (getgmlevel() < 80) end;
if (@whispervar0$ == "pvp") {
// Script for a PVP event.
}
else if (@whispervar0$ == "mvp") {
// Script for an MVP summoning event.
}
end;
}