* 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:
parent
c922bf99a4
commit
727327df6f
@ -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; },{},{}
|
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; },{},{}
|
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; },{},{}
|
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,{},{},{}
|
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; } },{},{}
|
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; },{},{}
|
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; },{},{}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
//===== Athena Doc=== =====================================
|
//===== Athena Doc=========================================
|
||||||
//= rAthena Job System
|
//= eAthena Job System
|
||||||
//===== By ================================================
|
//===== By ================================================
|
||||||
//= Skotlex
|
//= Skotlex
|
||||||
//===== Version ===========================================
|
//===== Version ===========================================
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
//=========================================================
|
//=========================================================
|
||||||
//= 1.0 - Standardized doc file
|
//= 1.0 - Standardized doc file
|
||||||
//===== Description =======================================
|
//===== Description =======================================
|
||||||
//= A reference description of eA's mob_db 'mode' field
|
//= A reference description of rAthena's mob_db 'mode' field
|
||||||
//=========================================================
|
//=========================================================
|
||||||
|
|
||||||
Bit Legend:
|
Bit Legend:
|
||||||
|
@ -5390,11 +5390,13 @@ while hidden then revealing.... you can wonder around =P
|
|||||||
*doevent "<NPC object name>::<event label>";
|
*doevent "<NPC object name>::<event label>";
|
||||||
|
|
||||||
This command will start a new execution thread in a specified NPC object at the
|
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.
|
specified label. The execution of the script running this command will not stop,
|
||||||
No parameters may be passed with a doevent call.
|
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
|
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,{
|
place,100,100,1%TAB%script%TAB%NPC%TAB%53,{
|
||||||
mes "This is what you will see when you click me";
|
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>";
|
*donpcevent "{NPC NAME}::<event label>";
|
||||||
|
|
||||||
This command invokes the event label code within an another NPC or NPCs. If
|
This command invokes the event label code within an another NPC or NPCs. It
|
||||||
event label has the form "NpcName::OnLabel", then only given NPC's event label
|
starts a separate instance of execution, and the invoking NPC will resume
|
||||||
will be invoked (much like 'goto' into another NPC). If the form is "::OnLabel"
|
execution its immediately.
|
||||||
(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
|
If the supplied event label has the form "NpcName::OnLabel", then only given
|
||||||
RID, whether or not the invoking script was attached to a player. The event
|
NPC's event label will be invoked (much like 'goto' into another NPC). If the
|
||||||
label name is required to start with On.
|
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
|
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.
|
the invoking NPC's actions, such as using an emotion or talking.
|
||||||
|
@ -1,29 +1,41 @@
|
|||||||
Adapted from: http://www.eathena.ws/board/index.php?showtopic=42659
|
//===== Athena Doc ========================================
|
||||||
Copied by: Massdriller
|
//= NPC Whisper System
|
||||||
Post made by: lordalfa
|
//===== 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}}}
|
||||||
|
|
||||||
Let's say you prepared a special NPC called NPCCommander.
|
The whispered strings are separated by the "#" character, and are each stored
|
||||||
You whisper to NPCCommander in Game with formatted instructions like these:
|
into separate temporary character string variables:
|
||||||
|
|
||||||
//============================================================
|
@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:
|
||||||
|
|
||||||
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.
|
NPC:NPCCommander Report#Killstealing#Lordalfa
|
||||||
|
|
||||||
Values will be passed into Temp string Variables called @whispervar0$, @whispervar1$ and so on..
|
The parameters are passed on to the "OnWhisperGlobal" label of the NPC, and can
|
||||||
In the example above:
|
be processed accordingly:
|
||||||
|
|
||||||
@whispervar0$ would contain the word "Report"
|
- script NPCCommander -1,{
|
||||||
@whispervar1$ would contain the word "KillStealing"
|
OnWhisperGlobal:
|
||||||
@whispervar2$ would contain the word "Lordalfa"
|
// The following code will inform player "Lordalfa" that he has been
|
||||||
|
// reported for killstealing.
|
||||||
so you might prepare the NPC Label to process these Variables and give Executing Character a Feedback ( via dispbottom "message" for example )
|
if (@whispervar0$ == "Report")
|
||||||
|
message @whispervar2$,"You have been reported for "+@whispervar1$+".";
|
||||||
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.
|
end;
|
||||||
|
}
|
@ -393,6 +393,7 @@ REPLACE INTO `item_db_re` VALUES (4302,'Tao_Gunka_Card','Tao Gunka Card',6,20,NU
|
|||||||
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);
|
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
|
# 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 (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);
|
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);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user