* Fixed Elemental Sword database entry, bugreport:6134

* Clarified documentation for "doevent" and "donpcevent", as per bugreport:428 (doc\script_commands.txt)
* A major cleanup/rewrite of the "Whisper System" documentation (doc\whisper_sys.txt)
* A few other minor documentation corrections

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16358 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
euphyy 2012-07-01 02:39:47 +00:00
parent c922bf99a4
commit 727327df6f
6 changed files with 54 additions and 36 deletions

View File

@ -6049,7 +6049,7 @@
13411,BF_Sword2,Brave Gladiator Blade,4,20,,0,115,,1,0,0x000654E3,7,2,2,3,80,1,2,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; },{},{}
13412,Twin_Edge_B,Twin Edge of Naght Sieger,4,20,,1500,150,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Water; skill "MG_FROSTDIVER",5; autobonus "{ bonus bIgnoreDefRace,RC_NonBoss; }",50,5000; },{},{}
13413,Twin_Edge_R,Twin Edge of Naght Sieger,4,20,,1500,160,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Fire; skill "WZ_METEOR",3; autobonus "{ bonus bIgnoreDefRace,RC_NonBoss; }",50,5000; },{},{}
13414,Elemental_Sword,Elemental Sword,4,20,,1200,105,,1,3,0x000654E2,2,2,2,3,70,1,2,{ bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus bMatk,95; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,10000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,10000; },{},{}
13414,Elemental_Sword,Elemental Sword,4,20,,1200,105:95,,1,3,0x000654E2,2,2,2,3,70,1,2,{ bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,10000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,10000; },{},{}
13415,N_Falchion,Novice Falchion,4,0,,0,59,,1,3,0x000654E3,7,2,2,1,2,0,2,{},{},{}
13416,Krieger_Onehand_Sword1,Glorious Flamberge,4,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; if(getrefine() > 5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine() > 6) bonus bAspdRate,5; if(getrefine() > 8) { bonus bAspdRate,5; bonus4 bAutoSpellOnSkill,"SM_BASH","NPC_CRITICALWOUND",2,200; } },{},{}
13417,Krieger_Onehand_Sword2,Glorious Rapier,4,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; if(getrefine() > 5) bonus bUseSPrate,-10; if(getrefine() > 8) bonus bInt,5; },{},{}

View File

@ -1,5 +1,5 @@
//===== Athena Doc=== =====================================
//= rAthena Job System
//===== Athena Doc=========================================
//= eAthena Job System
//===== By ================================================
//= Skotlex
//===== Version ===========================================

View File

@ -7,7 +7,7 @@
//=========================================================
//= 1.0 - Standardized doc file
//===== Description =======================================
//= A reference description of eA's mob_db 'mode' field
//= A reference description of rAthena's mob_db 'mode' field
//=========================================================
Bit Legend:

View File

@ -5390,11 +5390,13 @@ while hidden then revealing.... you can wonder around =P
*doevent "<NPC object name>::<event label>";
This command will start a new execution thread in a specified NPC object at the
specified label. The execution of the script running this command will not stop.
No parameters may be passed with a doevent call.
specified label. The execution of the script running this command will not stop,
and the event called by the 'doevent' command will not run until the invoking
script has terminated. No parameters may be passed with a doevent call.
The script of the NPC object invoked in this manner will run as if it's been
invoked by the RID that was active in the script that issued a 'doevent'.
invoked by the RID that was active in the script that issued a 'doevent'. As
such, the command will not work if an RID is not attached.
place,100,100,1%TAB%script%TAB%NPC%TAB%53,{
mes "This is what you will see when you click me";
@ -5412,13 +5414,16 @@ invoked by the RID that was active in the script that issued a 'doevent'.
*donpcevent "{NPC NAME}::<event label>";
This command invokes the event label code within an another NPC or NPCs. If
event label has the form "NpcName::OnLabel", then only given NPC's event label
will be invoked (much like 'goto' into another NPC). If the form is "::OnLabel"
(NpcName omitted), the event code of all NPCs with given label will be invoked,
one after another. In both cases the invoked script will run without an attached
RID, whether or not the invoking script was attached to a player. The event
label name is required to start with On.
This command invokes the event label code within an another NPC or NPCs. It
starts a separate instance of execution, and the invoking NPC will resume
execution its immediately.
If the supplied event label has the form "NpcName::OnLabel", then only given
NPC's event label will be invoked (much like 'goto' into another NPC). If the
form is "::OnLabel" (NPC name omitted), the event code of all NPCs with given
label will be invoked, one after another. In both cases the invoked script
will run without an attached RID, whether or not the invoking script was
attached to a player. The event label name is required to start with "On".
This command can be used to make other NPCs act, as if they were responding to
the invoking NPC's actions, such as using an emotion or talking.

View File

@ -1,29 +1,41 @@
Adapted from: http://www.eathena.ws/board/index.php?showtopic=42659
Copied by: Massdriller
Post made by: lordalfa
//===== Athena Doc ========================================
//= NPC Whisper System
//===== By ================================================
//= lordalfa, Massdriller
//===== Version ===========================================
//= 1.1
//=========================================================
//= 1.1 - Cleanup. [Euphy]
//===== Description =======================================
//= A description of rAthena's NPC whispering system.
//=========================================================
As requested by MassDriller, I made this piece of code to allow you to whisper your NPCS and let them execute some commands for you.
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.
An example of what you can do with it, before you eventually go on reading.
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:
Let's say you prepared a special NPC called NPCCommander.
You whisper to NPCCommander in Game with formatted instructions like these:
@whispervar0$, @whispervar1$, ... @whispervar9$
//============================================================
---------------------------------------------------------------------------------
[To NPC:NPCCommander] Report#Killstealing#Lordalfa
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
Now what happens is that this code allows you to trigger a Label called "OnWhisperGlobal" into that NPC and execute some code, passing it The values you just input.
The parameters are passed on to the "OnWhisperGlobal" label of the NPC, and can
be processed accordingly:
Values will be passed into Temp string Variables called @whispervar0$, @whispervar1$ and so on..
In the example above:
@whispervar0$ would contain the word "Report"
@whispervar1$ would contain the word "KillStealing"
@whispervar2$ would contain the word "Lordalfa"
so you might prepare the NPC Label to process these Variables and give Executing Character a Feedback ( via dispbottom "message" for example )
Now , it's allowed to use up to 10 commands in a Row, separed by "#" character, they will be splitted and passed to the NPC Label in their respective variables, for you to process them.
- script NPCCommander -1,{
OnWhisperGlobal:
// The following code will inform player "Lordalfa" that he has been
// reported for killstealing.
if (@whispervar0$ == "Report")
message @whispervar2$,"You have been reported for "+@whispervar1$+".";
end;
}

View File

@ -386,13 +386,14 @@ REPLACE INTO `item_db_re` VALUES (2564,'Feral_Tail','Feral Tail',5,20,NULL,0,NUL
# Accessories
REPLACE INTO `item_db_re` VALUES (2629,'Magingiorde','Megingjard',5,20,NULL,8000,NULL,2,NULL,0,0xFFFFFFFF,7,2,136,NULL,94,0,0,'bonus bStr,40+BaseLevel/5; bonus bMdef,7; if(readparam(bStr)==120) bonus2 bAddRace,RC_Boss,10;',NULL,NULL);
#Cards
# Cards
REPLACE INTO `item_db_re` VALUES (4302,'Tao_Gunka_Card','Tao Gunka Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,100; bonus bDefRate,-50; bonus bMdefRate,-50;',NULL,NULL);
# More Armors
REPLACE INTO `item_db_re` VALUES (15000,'Bone_Plate','Bone Plate',5,20,NULL,1000,NULL,60,NULL,1,0x000654E2,2,2,16,NULL,85,1,0,'bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiHuman,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,\"NPC_WIDEBLEEDING\",1,10;',NULL,NULL);
# Weapons
REPLACE INTO `item_db_re` VALUES (13414,'Elemental_Sword','Elemental Sword',4,20,NULL,1200,'105:95',NULL,1,3,0x000654E2,2,2,2,3,70,1,2,'bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,\"MG_COLDBOLT\",3,50; bonus4 bAutoSpellOnSkill,\"MG_COLDBOLT\",\"MG_FIREBOLT\",3,1000; bonus4 bAutoSpellOnSkill,\"MG_FIREBOLT\",\"MG_LIGHTNINGBOLT\",3,10000; bonus4 bAutoSpellOnSkill,\"MG_LIGHTNINGBOLT\",\"WZ_EARTHSPIKE\",3,10000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16010,'Red_Ether_Bag','Red Ether Bag',4,20,NULL,0,'15:100',NULL,1,1,0x0004C5B2,7,2,2,3,102,1,8,' if(getrefine()>=6){ bonus2 bSkillAtk,\"GN_CRAZYWEED\",20+((getrefine()-5)*2); bonus2 bSkillAtk,\"GN_DEMONIC_FIRE\",20+((getrefine()-5)*2); } else { bonus2 bSkillAtk,\"GN_CRAZYWEED\",20; bonus2 bSkillAtk,\"GN_DEMONIC_FIRE\",20; } ',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16013,'Judgement_Mace1','Judgement Mace I',4,20,NULL,1200,'140:180',NULL,1,2,0x00000100,2,2,2,3,100,1,8,' bonus bStr,1; bonus bInt,1; autobonus \"{ bonus2 bAddRace,RC_Demon,20; }\",10,7000,BF_WEAPON|BF_MAGIC,\"{ specialeffect2 EF_BLOODDRAIN; }\"; if (isequipped(2472,2570,15030)) { bonus2 bAddRace,RC_Undead,15; bonus2 bMagicAddRace,RC_Undead,15; bonus2 bSkillAtk,\"AB_ADORAMUS\",100; };',NULL,NULL);