* Script updates:

- Added new Renewal warpers for Satan Morroc maps.
- Updated "Succession of the Prince" quest with some new cases, and fixed checkquests.
- Updated portions of Ecology quest in 13.1 quests with new checks and cases.
- Added some missing 'disable_items' commands to 2004 Headgear quests.

* Other changes:
- Changed some strnpcinfo(1) -> strnpcinfo(0) in 13.2 quests. (bugreport:7853)
- Moved Rune Knight Kafra into main Kafras file.
- Revised documentation for 'addrid'. (follow-up 6572a9f)
- 'instance_id()' no longer throws an error upon failure.
- Fixed Desert Twilight/Sandstorm combo. (bugreport:7897, credits: Playtester)

Signed-off-by: Euphy <euphy@rathena.org>
This commit is contained in:
Euphy 2013-07-27 16:36:00 -04:00
parent 6572a9fc72
commit 20153af6e0
13 changed files with 297 additions and 364 deletions

View File

@ -163,5 +163,5 @@
//5359:5657,{ bonus bLongAtkRate,getequiprefinerycnt(EQI_HEAD_TOP); }
5401:5653,{ bonus bInt,1; bonus bMatkRate,2; }
//5470:5653,{ bonus bDex,1; bonus bLongAtkRate,3; }
13034:13035,{ bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; }
13034:13035,{ bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }
18507:18539,{ bonus bUseSPrate,-3; }

View File

@ -205,5 +205,5 @@
5401:5653,{ bonus bInt,1; bonus bMatkRate,2; }
//5470:5653,{ bonus bDex,1; bonus bLongAtkRate,3; }
13027:15044,{ bonus3 bAddMonsterDropItem,929,RC_Brute,100+(getrefine()*10); bonus3 bAddMonsterDropItem,929,RC_DemiHuman,100+(getrefine()*10); bonus3 bAddMonsterDropItem,970,RC_Brute,20+(getrefine()*2); bonus3 bAddMonsterDropItem,970,RC_DemiHuman,20+(getrefine()*2); }
13034:13035,{ bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; }
13034:13035,{ bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }
18507:18539,{ bonus bUseSPrate,-3; }

View File

@ -1,4 +1,4 @@
//===== rAthena Documentation ================================
//===== rAthena Documentation ================================
//= rAthena Script Commands
//===== By: ==================================================
//= rAthena Dev Team
@ -3532,23 +3532,25 @@ or does not exist), and 1 upon success.
-------------------------
*addrid(<type> or <rid>{,<forced>{,<parameters>}})
*addrid(<type>{,<flag>{,<parameters>}});
Allows to attach multiple RIDs to one script at a time.
This command will attach other RIDs to the current script without detaching the
invoking RID. It returns 1 if successful and 0 upon failure.
<type>:
Account ID -> attach player with acc_id if he's online. Returns 1 if player is offline, 0 if online
0 -> attach entire server
1 -> attach everyone currently on the map of the player if a player runs addrid/else of the npcs map
2 -> attach entire party(party id has to be entered at supportid)
3 -> attach entire guild(guild id has to be entered at supportid)
4 -> attach all players in an area at the map where the person running addrid is located/no person=use npcs map
Note: 4 uses addrid(4,Forced,x0,y0,x1,y1)
<type> determines what RIDs are attached:
0: All players in the server.
1: All players in the map of the invoking player, or the invoking NPC if no player is attached.
2: Party members of a specified party ID.
[ Parameters: <party id> ]
3: Guild members of a specified guild ID.
[ Parameters: <guild id> ]
4: All players in a specified area of the map of the invoking player (or NPC).
[ Parameters: <x0>,<y0>,<x1>,<y1> ]
Account ID: The specified account ID.
<forced>:
0 or left out -> force attachment of the player even if he runs a script already
1 -> don't attach if player is currently running a script(only needed when you use things like mes"" close next so it seems
<flag> can prevent certain players from being attached:
0: Players are always attached. (default)
1: Players currently running another script will not be attached.
---------------------------------------

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Dj-Yhn
//===== Current Version: =====================================
//= 1.6a
//= 1.6b
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -34,11 +34,13 @@
//= 1.5 Vito'd function call for checkweight. [L0ne_W0lf]
//= 1.6 Replaced effect numerics with constants. [L0ne_W0lf]
//= 1.6a Added 'disable_items' command. [Euphy]
//= 1.6b Added more 'disable_items' commands. [Euphy]
//============================================================
// Black Cat Ears
//============================================================
payon,115,131,3 script Neko Neko#1 725,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -106,6 +108,7 @@ payon,115,131,3 script Neko Neko#1 725,{
// X Hairpin, Band Aid, Flower Hairpin
//============================================================
geffen,129,148,3 script Argen#1 779,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "[Argen]";
mes "Hey~ why are you carrying so many items?";
@ -295,6 +298,7 @@ geffen,129,148,3 script Argen#1 779,{
// Hot-blooded Headband
//============================================================
yuno,300,188,5 script Zhenbolt#1 753,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -390,6 +394,7 @@ yuno,300,188,5 script Zhenbolt#1 753,{
// Red Ribbon
//============================================================
prontera,165,232,3 script Nephia#1 744,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -686,8 +691,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 813,{
mes "I don't care how many times you've upgraded the items you brought, but please ^4d4dff carry only items that you need to create this item.^000000 I can't mess up my artwork because of some mistake you might make.";
next;
if (select("I am ready.:Okay, let me go store my other items first.") == 1) {
set .@now_weight,MaxWeight-Weight;
if (.@now_weight < 2000) {
if (MaxWeight - Weight < 2000) {
mes "[Hatbyr Mhore]";
mes "Ouch...!";
mes "Why are you carrying so many items with you? Leave all your extra baggage somewhere else and come back.";
@ -745,8 +749,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 813,{
mes "I don't care how many times you've upgraded the items you brought, but please ^4d4dff carry only items that you need to create this item.^000000 I can't mess up my artwork because of some mistake you might make.";
next;
if (select("I am ready.:Okay, let me go store my other items first.") == 1) {
set .@now_weight,MaxWeight-Weight;
if (.@now_weight < 2000) {
if (MaxWeight - Weight < 2000) {
mes "[Hatbyr Mhore]";
mes "Ouch...!";
mes "Why are you carrying so many items with you? Leave all your extra baggage somewhere else and come back.";
@ -813,8 +816,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 813,{
mes "I don't care how many times you've upgraded the items you brought, but please ^4d4dff carry only items that you need to create this item. I can't mess up my artwork because of some mistake you might make. ^000000";
next;
if (select("I am ready.:Okay, let me go store my other items first.") == 1) {
set .@now_weight,MaxWeight-Weight;
if (.@now_weight < 2000) {
if (MaxWeight - Weight < 2000) {
mes "[Hatbyr Mhore]";
mes "Ouch, why are you carrying";
mes "so many items with you?";
@ -869,8 +871,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 813,{
mes "I don't care how many times you've upgraded the items you brought, but please ^4d4dff carry only items that you need to create this item.^000000 I can't mess up my artwork because of some mistake you might make.";
next;
if (select("I am ready.:Okay, let me go store my other items first.") == 1) {
set .@now_weight,MaxWeight-Weight;
if (.@now_weight < 2000) {
if (MaxWeight - Weight < 2000) {
mes "[Hatbyr Mhore]";
mes "Ouch, why are you carrying";
mes "so many items with you?";
@ -963,6 +964,7 @@ yuno,241,52,3 script Old Blacksmith#hgear 813,{
// Sea-Otter Hat
//============================================================
xmas,183,267,3 script Pretty Lindsay#1 793,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -971,8 +973,7 @@ xmas,183,267,3 script Pretty Lindsay#1 793,{
mes "- you put some items into Kafra Storage. -";
close;
}
set .@now_weight,MaxWeight-Weight;
if (.@now_weight < 2000) {
if (MaxWeight-Weight < 2000) {
mes "[Pretty Lindsay]";
mes "I know you brought everything you need for me to make you a hat, but you're carrying too much stuff. Why don't you put some of your things in Kafra Storage?";
close;
@ -1078,6 +1079,7 @@ xmas,183,267,3 script Pretty Lindsay#1 793,{
// Teddybear Hat
//============================================================
xmas,175,156,3 script Fuzzy Fuzz#1 712,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -1165,6 +1167,7 @@ xmas,175,156,3 script Fuzzy Fuzz#1 712,{
// Model Training Hat
//============================================================
payon_in03,8,193,4 script Nanhyang#1 77,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -1325,6 +1328,7 @@ payon_in03,8,193,4 script Nanhyang#1 77,{
// Tulip Hairpin
//============================================================
geffen,83,189,5 script Seth#1 716,{
disable_items;
if (checkweight(1201,1) == 0) {
mes " [Seth]";
mes "Whoa, why are you carrying so many items with you?";
@ -1378,7 +1382,7 @@ geffen,83,189,5 script Seth#1 716,{
mes "I'm done!";
mes "I did a good job, didn't I?";
next;
if (BaseJob == Job_Novice && Upper != 1) {
if (BaseJob == Job_Novice || BaseJob == Job_SuperNovice) {
mes "[Seth]";
mes "Oh, here's the leftovers. Mommy says that we should always save things. Heh heh~";
getitem 935,1; //Shell
@ -1443,6 +1447,7 @@ geffen,83,189,5 script Seth#1 716,{
// Party Hat, Straw Hat, Cowboy Hat, Sombrero, Beanie
//============================================================
xmas_in,35,30,3 script Hat Merchant#zero 797,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
@ -1733,6 +1738,7 @@ xmas_in,35,30,3 script Hat Merchant#zero 797,{
// Decorative Golden Bell, Crown of Ancient Queen, Crown of Mistress
//============================================================
yuno_in03,20,18,6 script Nehris#1 726,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're carrying -";
@ -2070,6 +2076,7 @@ OnInit:
// Drooping Cat, Smokie Leaf, Lazy Smokie, Blue Fish
//============================================================
morocc,273,79,4 script Educated Traveller 99,{
disable_items;
if ((MaxWeight-Weight) < 5000 || checkweight(1201,1) == 0) {
mes "- Wait a minute! -";
mes "- Currently you're over weight -";
@ -2506,6 +2513,7 @@ OnTouch:
}
pay_dun03,48,84,4 script Nine Tails#Kitsune Man 762,{
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a moment! -";
mes "- Currently you are carrying -";
@ -2627,6 +2635,7 @@ OnMyMobDead2:
//============================================================
in_orcs01,31,93,1 script Orc Warrior#1 1023,2,2,{
OnTouch:
disable_items;
if (checkweight(1201,1) == 0) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 3.2
//= 3.3
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -48,6 +48,7 @@
//= 3.0 Fixed a missing variable check. [Joseph]
//= 3.1 Updated RE/Pre-RE EXP. [Euphy]
//= 3.2 Updated ep13_start and dialog to match official script. [Joseph]
//= 3.3 Updated to match the latest official script. [Euphy]
//============================================================
// Onward to the New World
@ -3674,7 +3675,7 @@ mid_camp,267,258,0 script Post#ep13bs2 111,{
// Attitude to the New
//============================================================
mid_camp,188,254,3 script Monster Scholar#ep13 883,{
if (ep13_ryu < 100) {
if (ep13_ryu < 100 && ep13_start < 100) {
mes "[Monster Scholar]";
mes "Who... Who are you?";
mes "Are you from the other";
@ -4254,7 +4255,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 883,{
mes "I'm extremely frustrated. I feel helpless because I wasn't able to go back home last time...";
next;
mes "["+strcharinfo(0)+"]";
mes "I found this horm from a monster in the Splendide Area.";
mes "I've found this horn from a monster in the Splendide Area.";
mes "That monster was very mysterious, and its body was covered with grass.";
next;
mes "[Rumis Block]";
@ -4355,7 +4356,7 @@ mid_camp,188,254,3 script Monster Scholar#ep13 883,{
}
mid_camp,240,270,3 script Botanist#ep13 750,{
if (ep13_ryu < 100) {
if (ep13_ryu < 100 && ep13_start < 100) {
mes "[Botanist]";
mes "This new land!";
mes "Undiscovered life!";
@ -4636,201 +4637,41 @@ mid_camp,240,270,3 script Botanist#ep13 750,{
}
mid_camp,336,171,1 script Camp Guard#man1 852,{
if (ep13_newbs == 6 || ep13_newbs == 19)
callsub OnHalt,(ep13_newbs == 6?"Diego.":"Lugen.");
if (ep13_animal == 0) {
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
close;
}
else if (ep13_animal == 1) {
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
next;
switch(select("I've come to help with some research.:I want to stay.")) {
case 1:
mes "["+strcharinfo(0)+"]";
mes "Hi, my name is "+strcharinfo(0)+". I'm the assistant of Monster Scholar Rumis Block.";
next;
mes "[Camp Guard]";
mes "That 'fraidy-- Wah! I'm sorry!";
mes "I didn't mean to say that... And I completely understand that he hasn't been able to adapt himself to new surroundings.";
next;
mes "[Camp Guard]";
mes "So, you're here to assist Mr. Rumis Block, huh?";
mes "You may pass. If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
set ep13_animal,2;
close2;
warp "man_fild01",36,235;
end;
case 2:
mes "[Camp Guard]";
mes "No, you can't. Please return to the expedition camp.";
close;
}
}
else {
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
switch(select("Let me move to the next zone.:I want to stay here.")) {
case 1:
mes "[Camp Guard]";
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
warp "man_fild01",36,235;
end;
case 2:
mes "[Camp Guard]";
mes "No, you can't. Please return to the expedition camp.";
close;
}
}
OnHalt:
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
next;
mes "[Camp Guard]";
mes "Oh, I was informed of your arrival by Mr. "+getarg(0);
mes "You may pass.";
next;
mes "[Camp Guard]";
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
warp "man_fild01",36,235;
end;
}
mid_camp,13,143,5 script Camp Guard#man2 852,{
if (ep13_newbs == 6 || ep13_newbs == 19)
callsub OnHalt,(ep13_newbs == 6?"Diego.":"Lugen.");
if (ep13_animal == 0) {
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
if (ep13_ryu < 100 && ep13_start < 100)
close;
}
else if (ep13_animal == 5)
callsub OnHalt,"Terris.";
else {
next;
switch(select("I want to enter the next area.:I want to stay.")) {
case 1:
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
switch(select("Let me move to the next zone.:I want to stay here.")) {
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
switch(atoi(charat(strnpcinfo(2),3))) {
case 1:
mes "[Camp Guard]";
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
if (ep13_animal == 1)
set ep13_animal,2;
warp "man_fild01",36,235;
break;
case 2:
warp "spl_fild02",379,143;
end;
case 2:
mes "[Camp Guard]";
mes "No, you can't. Please return to the expedition camp.";
close;
break;
case 3:
warp "spl_fild02",380,217;
break;
}
}
OnHalt:
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
next;
mes "[Camp Guard]";
mes "Oh, I was informed of your arrival by Mr. "+getarg(0);
mes "You may pass.";
next;
mes "[Camp Guard]";
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
warp "spl_fild02",379,143;
end;
}
mid_camp,9,215,5 script Camp Guard#man3 852,{
if (ep13_newbs == 6 || ep13_newbs == 19)
callsub OnHalt,(ep13_newbs == 6?"Diego.":"Lugen.");
if (ep13_animal == 0) {
end;
case 2:
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
mes "No, you can't. Please return to the expedition camp.";
close;
}
else if (ep13_animal == 5)
callsub OnHalt,"Terris.";
else {
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
switch(select("Let me move to the next zone.:I want to stay here.")) {
case 1:
mes "[Camp Guard]";
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
warp "spl_fild02",380,217;
end;
case 2:
mes "[Camp Guard]";
mes "No, you can't. Please return to the expedition camp.";
close;
}
}
OnHalt:
mes "[Camp Guard]";
mes "Stop!";
mes "You're about to enter an area that has not been fully explored.";
mes "Only personnel--researchers and explorers--authorized by United Midgard and the garrison are allowed to enter the danger zone.";
next;
mes "[Camp Guard]";
mes "Your cooperation is appreciated.";
next;
mes "[Camp Guard]";
mes "Oh, I was informed of your arrival by Mr. "+getarg(0);
mes "You may pass.";
next;
mes "[Camp Guard]";
mes "Please be careful out there.";
mes "If you encounter any threats or strange phenomenon, then please don't hesitate to report to us at the garrison.";
close2;
warp "spl_fild02",380,217;
end;
}
mid_camp,13,143,5 duplicate(Camp Guard#man1) Camp Guard#man2 852
mid_camp,9,215,5 duplicate(Camp Guard#man1) Camp Guard#man3 852
mid_camp,49,154,0 script #env_clear -1,3,3,{
OnTouch:
@ -4960,15 +4801,15 @@ man_fild01,92,230,3 script Frozen Tree#evt_lumis 111,1,1,{
next;
mes "[Rumis Block]";
mes "Their horns might possess a special power. And I want to have them for further research.";
mes "...20 horns will be enough.";
mes "...5 horns will be enough.";
set ep13_animal,12;
changequest 2154,2155;
close;
}
else if (ep13_animal == 12) {
if (countitem(6032) < 20) {
if (countitem(6032) < 5) {
mes "[Rumis Block]";
mes "I'd like to study Hillsrion's Horns. Please bring 20 of them for me, okay.";
mes "I'd like to study Hillsrion's Horns. Please bring 5 of them for me, okay.";
close;
}
else {
@ -5018,7 +4859,7 @@ man_fild01,92,230,3 script Frozen Tree#evt_lumis 111,1,1,{
mes "[Rumis Block]";
mes "Let's go back to the camp. Shall we? I have something to discuss with you.";
set ep13_animal,13;
delitem 6032,20; //Horn_Of_Hilsrion
delitem 6032,5; //Horn_Of_Hilsrion
changequest 2155,2156;
close;
}
@ -5035,7 +4876,7 @@ spl_fild02,34,223,5 script Small Fairy#spl 442,{
mes "It has tiny wings on the back...";
mes "It's a fairy!";
next;
emotion 6;
emotion e_an;
mes "[Small Fairy]";
mes "RLGHLRXLA TKANTLFDMS";
mes "WJACK TNAHRDNJSDMFH";
@ -5049,19 +4890,9 @@ spl_fild02,34,223,5 script Small Fairy#spl 442,{
setquest 2158;
close;
}
else {
emotion 6;
mes "[Small Fairy]";
mes "RLGHLRXLA TKANTLFDMS";
mes "WJACK TNAHRDNJSDMFH";
mes "WLSGHKWND !!";
next;
mes "The surprised fairy is saying something to you, but you cannot understand fairy language.";
close;
}
}
else {
emotion 6;
emotion e_an;
if (!isequipped(2782) && ep13_2_rhea < 100) {
mes "[Small Fairy]";
mes "RLGHLRXLA TKANTLFDMS";
mes "WJACK TNAHRDNJSDMFH";
@ -5069,6 +4900,10 @@ spl_fild02,34,223,5 script Small Fairy#spl 442,{
next;
mes "The surprised fairy is saying something to you, but you cannot understand fairy language.";
close;
} else {
mes "[Small Fairy]";
mes "Who are you?! Are you looking for the Sapha!?";
close;
}
}
@ -5092,19 +4927,9 @@ man_fild03,236,105,3 script Tree Giant#man 454,{
setquest 2159;
close;
}
else {
emotion e_dots;
mes "[Tree Giant]";
mes "TJDTMFJDNS CJFDI";
mes "TKADLFDMF QKATOS";
mes "EKDTLSDML DLFMADMS..";
next;
mes "The surprised giant is saying something to you, but you cannot understand.";
close;
}
}
else {
emotion e_dots;
emotion e_dots;
if (!isequipped(2782) && ep13_2_rhea < 100) {
mes "[Tree Giant]";
mes "TJDTMFJDNS CJFDI";
mes "TKADLFDMF QKATOS";
@ -5112,6 +4937,10 @@ man_fild03,236,105,3 script Tree Giant#man 454,{
next;
mes "The surprised giant is saying something to you, but you cannot understand.";
close;
} else {
mes "[Tree Giant]";
mes "Where are the Laphine reinforcements? I might have a problem.";
close;
}
}

View File

@ -3316,26 +3316,25 @@ nyd_dun02,68,256,0 script Dragon Egg#ep13_degg_1 463,{
if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) {
mes "We just got fresh eggs from the dragon nest.";
getitem 6093,1; //Egg_Of_Draco
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
initnpctimer;
close;
}
end;
OnTimer240000:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
stopnpctimer;
end;
OnEnable:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
end;
OnDisable:
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
}
nyd_dun02,68,256,0 duplicate(Dragon Egg#ep13_degg_1) Dragon Egg#ep13_degg11 463
nyd_dun02,202,166,0 duplicate(Dragon Egg#ep13_degg_1) Dragon Egg#ep13_degg12 463
nyd_dun02,200,165,0 duplicate(Dragon Egg#ep13_degg_1) Dragon Egg#ep13_degg13 463
@ -3348,26 +3347,25 @@ nyd_dun02,201,166,0 script Dragon Egg#ep13_degg_2 463,{
if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) {
mes "We just got fresh eggs from the dragon nest.";
getitem 6093,1; //Egg_Of_Draco
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
initnpctimer;
close;
}
end;
OnTimer120000:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
stopnpctimer;
end;
OnEnable:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
end;
OnDisable:
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
}
nyd_dun02,201,166,0 duplicate(Dragon Egg#ep13_degg_2) Dragon Egg#ep13_degg16 463
nyd_dun02,203,167,0 duplicate(Dragon Egg#ep13_degg_2) Dragon Egg#ep13_degg17 463
nyd_dun02,201,164,0 duplicate(Dragon Egg#ep13_degg_2) Dragon Egg#ep13_degg18 463
@ -6976,7 +6974,7 @@ OnTouch:
- script ep13_warp_s_0 -1,{
OnEnable:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
initnpctimer;
OnTimer2000:
OnTimer4000:
@ -6990,18 +6988,18 @@ OnTimer8000:
OnTimer10000:
specialeffect EF_STEAL;
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
OnDisable:
specialeffect EF_WIND;
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
}
- script ep13_warp_s_1 -1,{
OnEnable:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
initnpctimer;
OnTimer2000:
OnTimer4000:
@ -7016,18 +7014,18 @@ OnTimer10000:
OnTimer12000:
specialeffect EF_STEAL;
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
OnDisable:
specialeffect EF_WIND;
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
}
- script ep13_warp_s_2 -1,{
OnEnable:
enablenpc strnpcinfo(1);
enablenpc strnpcinfo(0);
initnpctimer;
OnTimer2000:
OnTimer4000:
@ -7043,12 +7041,12 @@ OnTimer12000:
OnTimer15000:
specialeffect EF_STEAL;
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
OnDisable:
specialeffect EF_WIND;
disablenpc strnpcinfo(1);
disablenpc strnpcinfo(0);
end;
}

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
//= 3.0
//= 3.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -44,6 +44,7 @@
//= 2.9 Fixed player dying/logging out during conversation could prevent
//= summoning of Satan Morroc until server reboot. [Gepard]
//= 3.0 Updated RE/Pre-RE EXP. [Euphy]
//= 3.1 Updated to match the latest official scripts. [Euphy]
//============================================================
// Stop Post Quest
@ -4375,7 +4376,7 @@ prontera,153,353,4 script Messenger#prince1 105,{
}
prt_castle,117,163,5 script Inspector#prince 755,{
if (checkquest(10004) == 1) {
if (checkquest(10004) == 0 || checkquest(10004) == 1) {
mes "[Inspector]";
mes "Judge!";
mes "How goes it? I don't think it is easy to meet seven candidates and appraise them.";
@ -4414,7 +4415,7 @@ prt_castle,117,163,5 script Inspector#prince 755,{
setquest 10022;
close;
}
if (nk_prince == 1) {
if (nk_prince < 2) {
mes "[Inspector]";
mes "What's wrong with you?";
mes "This is not an open area!";
@ -4427,6 +4428,12 @@ prt_castle,117,163,5 script Inspector#prince 755,{
warp "prontera",155,353;
end;
case 2:
if (nk_prince == 0) {
mes "[Inspector]";
mes "I don't think";
mes "that he is an experienced appraiser...";
close;
}
mes "[Inspector]";
mes "......";
next;
@ -5159,7 +5166,7 @@ prt_castle,117,163,5 script Inspector#prince 755,{
mes "How is it going?";
mes "Grading someone is not a piece of cake. It's real hard work indeed. You do the hard work for our country.";
next;
if ((nkprince_eisen == 15) && (checkquest(10025) == 1)) {
if ((nkprince_eisen == 15) && (checkquest(10025) == 0 || checkquest(10025) == 1)) {
mes "-I tell him about the Ahrum and Ernst accident.-";
next;
mes "[Inspector]";
@ -5219,19 +5226,49 @@ prt_castle,117,163,5 script Inspector#prince 755,{
mes "[Inspector]";
mes "Hello, appraiser.";
mes "I hope you are able to finish your mission perfectly. Have you met with all the princes, like I told you to?";
if (nkprince_eisen != 10)
close;
next;
switch(select("Yes.:No.")) {
case 1:
mes "[Inspector]";
mes "Very well.";
mes "I like hearing about the princes.";
set .@prin1,checkquest(10005);
set .@prin2,checkquest(10006);
set .@prin3,checkquest(10007);
set .@prin4,checkquest(10008);
set .@prin5,checkquest(10009);
set .@prin6,checkquest(10010);
set .@prin7,checkquest(10011);
if (.@prin1 + .@prin2 + .@prin3 + .@prin4 + .@prin5 + .@prin6 + .@prin7 == 14) {
mes "[Inspector]";
mes "Very well.";
mes "I like hearing about the princes.";
completequest 10004;
setquest 10004;
} else {
mes "[Inspector]";
mes "Are you sure?";
mes "Please check on all the princes.";
}
close;
case 2:
mes "[Inspector]";
mes "Don't be coy. I'm sure you have done it already.";
set .@prin1,checkquest(10005);
set .@prin2,checkquest(10006);
set .@prin3,checkquest(10007);
set .@prin4,checkquest(10008);
set .@prin5,checkquest(10009);
set .@prin6,checkquest(10010);
set .@prin7,checkquest(10011);
if (.@prin1 + .@prin2 + .@prin3 + .@prin4 + .@prin5 + .@prin6 + .@prin7 == 14) {
mes "[Inspector]";
mes "Don't be coy. I'm sure you have done it already.";
completequest 10004;
setquest 10004;
} else {
mes "[Inspector]";
mes "My investigations on all the princes are done.";
}
close;
}
close;
}
}
@ -5247,7 +5284,7 @@ prt_castle,272,375,4 script Prince 881,{
mes "But he insists me to be corrupted, knowing how it would be...";
close;
}
else if (checkquest(10020) == 1) {
else if (checkquest(10020) == 0 || checkquest(10020) == 1) {
mes "[Erich]";
mes "These days, I have bad luck... Only harrassments happen to me...";
close;
@ -5313,7 +5350,7 @@ prt_castle,274,372,4 script Servant#hans 48,{
mes "My prince didn't do anything wrong but, anyways, I apologize for anything to you!";
close;
}
else if (checkquest(10020) == 1) {
else if (checkquest(10020) == 0 || checkquest(10020) == 1) {
mes "Incessantly...-";
mes "-He has jitters whenever I react to him. His actions give me a feeling of pity.-";
close;
@ -5401,7 +5438,7 @@ prt_castle,339,202,3 script Prince#urgen 989,{
mes "My beautiful body isn't in perfect condition right now. I don't want to show it to anyone today.";
close;
}
else if (checkquest(10021) == 1) {
else if (checkquest(10021) == 0 || checkquest(10021) == 1) {
mes "[Urugen]";
mes "...What? What did you...";
mes "just say to me?... Huh?";
@ -5502,7 +5539,7 @@ prt_castle,289,201,3 script Prince#helmut 991,{
mes "How can I deal with this stress? Damn! Hell!";
close;
}
else if (checkquest(10022) == 1) {
else if (checkquest(10022) == 0 || checkquest(10022) == 1) {
mes "-He is so blushed,";
mes "evidently shown on his face.-";
close;
@ -5697,7 +5734,7 @@ prt_castle,391,205,3 script Prince#poe 993,{
mes "He gave up without any challenge. That's not what the man has to do. He is not as good as me. But okay. I am disappointed in him. Eigen Ahrum.";
close;
}
else if (checkquest(10018) == 1) {
else if (checkquest(10018) == 0 || checkquest(10018) == 1) {
mes "[Poe]";
mes "......";
close;
@ -5918,10 +5955,32 @@ prt_castle,364,375,4 script Prince#peter 987,{
next;
switch(select("Yes, I saw her for you.:No, I don't want to.")) {
case 1:
if (checkquest(10014) == 0 || checkquest(10014) == 1) {
mes "[Peter]";
mes "I am glad that the girl liked it. Once I got cured, I wanted to go meet with her.";
next;
mes "[Peter]";
mes "Anyhow, thanks for your good work. I really feel sorry about bothering you with trifle things. This is my sense of gratitude. Don't feel so much burden and take this.";
completequest 10014;
getitem 644,1; //Gift_Box
close;
}
mes "[Peter]";
mes "Thinking about the little girl calms me. I still can't believe my eyes. My prince Ahrum who just passed away...~";
close;
case 2:
if (checkquest(10014) == 0 || checkquest(10014) == 1) {
mes "[Peter]";
mes "As you said.";
mes "I've heard that her life is like a flower when I lost it.";
mes "I will go see her on my own.";
next;
mes "[Peter]";
mes "I really feel sorry about bothering you with trifle things. Please take this.";
completequest 10014;
getitem 644,1; //Gift_Box
close;
}
mes "[Peter]";
mes "Never mind.";
mes "I still can't believe my eyes. My prince Ahrum who just passed away...~~";
@ -5933,19 +5992,20 @@ prt_castle,364,375,4 script Prince#peter 987,{
mes "Child... What the heck happened to you?...";
close;
}
else if (checkquest(10019)== 1) {
else if (checkquest(10019) == 0 || checkquest(10019) == 1) {
mes "[Peter]";
mes "......";
close;
}
if (checkquest(10008) == 2) {
if (checkquest(10014) == 2) {
set .@quest, checkquest(10014);
if (.@quest == 2) {
mes "[Peter]";
mes "I really appreciate it.";
mes "You are so kind.";
close;
}
else if (checkquest(10014) == 1) {
else if (.@quest == 0 || .@quest == 1) {
mes "[Peter]";
mes "I am glad that the girl liked it. Once I got cured, I wanted to go meet with her.";
next;
@ -6071,9 +6131,8 @@ prt_castle,364,375,4 script Prince#peter 987,{
}
aldebaran,132,184,3 script Girl#prince 96,{
if (checkquest(10013) == 1) {
if (checkquest(10013) == 0 || checkquest(10013) == 1) {
if (countitem(744) > 0) {
// Missed
mes "[Girl]";
mes "Wooah, Uncle Peter sent these flowers";
mes "for me?";
@ -6317,12 +6376,13 @@ prt_castle,314,373,4 script Prince#eisen 983,{
close;
}
else if (nkprince_eisen == 14) {
mes "[Ernst]";
mes "Bbb... Brother?... You... told me ";
mes "you would kill me... You just wanted to be killed";
mes "by me?... Bbb...brother?...";
next;
mes "[Ahrum]";
mes "Huhu... Not at all. I just wanted to kill you... That's it... Good job, Ern... This is legal, self-defense; killing a villain... right?";
mes "Huhu... Not at all. I just wanted to kill you... That's it... Good job, Ern... This is legal self-defense, killing a villain... right?";
next;
mes "[Ernst]";
mes "B..Brother... even now it is not too late! If you go to a medic, you can be restored!";
@ -6568,7 +6628,7 @@ prt_castle,368,312,4 script Prince#ern 985,{
mes "I don't want to see anyone.";
close;
}
else if (checkquest(01024) == 1) {
else if (checkquest(10024) == 0 || checkquest(10024) == 1) {
mes "[Ernst]";
mes "...Brother Ahrum...";
close;
@ -6757,8 +6817,8 @@ prt_castle,163,319,0 script #twonoble -1,3,3,{
//OnTouch2:
OnTouch:
if (nkprince_eisen == 7) {
donpcevent "Aged Noble 1#valter::OnEnable";
donpcevent "Aged Noble 2#rihart::OnEnable";
donpcevent "Young Noble#valter::OnEnable";
donpcevent "Aged Noble#rihart::OnEnable";
mes "[Aged Noble]";
mes "You don't have to worry.";
mes "Once my Eigen Ahrum is chosen to be king, the Richard family will be a second magnate.";
@ -6813,8 +6873,8 @@ OnTouch:
next;
mes "[A man of Riehart Family]";
mes "Never mind...";
donpcevent "Aged Noble 1#valter::OnDisable";
donpcevent "Aged Noble 2#rihart::OnDisable";
donpcevent "YoungNoble#valter::OnDisable";
donpcevent "Aged Noble#rihart::OnDisable";
next;
mes "[" + strcharinfo(0) + "]";
mes "(Walter is the name of Ahrum.";
@ -6828,41 +6888,41 @@ OnTouch:
}
}
prt_castle,156,325,4 script Aged Noble 1#valter 86,{
mes "[Aged Noble]";
prt_castle,156,325,4 script Young Noble#valter 86,{
mes "[Young Noble Walter]";
mes "Step aside.";
mes "How dare you talk to him.";
close;
OnInit:
disablenpc "Aged Noble 1#valter";
disablenpc "Young Noble#valter";
end;
OnEnable:
enablenpc "Aged Noble 1#valter";
enablenpc "Young Noble#valter";
end;
OnDisable:
disablenpc "Aged Noble 1#valter";
disablenpc "Young Noble#valter";
end;
}
prt_castle,157,323,3 script Aged Noble 2#rihart 880,{
mes "[Aged Noble]";
prt_castle,157,323,3 script Aged Noble#rihart 880,{
mes "[Aged Noble Richard]";
mes "Hmm-hmm.";
mes "What an indecorous person!";
close;
OnInit:
disablenpc "Aged Noble 2#rihart";
disablenpc "Aged Noble#rihart";
end;
OnEnable:
enablenpc "Aged Noble 2#rihart";
enablenpc "Aged Noble#rihart";
end;
OnDisable:
disablenpc "Aged Noble 2#rihart";
disablenpc "Aged Noble#rihart";
end;
}
@ -7600,7 +7660,7 @@ OnTouch:
prt_castle,336,276,0 script #ern 45,1,1,{
OnTouch:
if (checkquest(10023) == 1) {
if (checkquest(10023) == 0 || checkquest(10023) == 1) {
donpcevent "Prince#eisen6::OnEnable";
}
warp "prt_castle",368,308;
@ -7609,7 +7669,7 @@ OnTouch:
prt_castle,300,276,0 script #erich 45,1,1,{
OnTouch:
if (checkquest(10020) == 1) {
if (checkquest(10020) == 0 || checkquest(10020) == 1) {
donpcevent "Prince#eisen1::OnEnable";
}
warp "prt_castle",274,368;
@ -7618,7 +7678,7 @@ OnTouch:
prt_castle,330,271,0 script #helmut 45,1,1,{
OnTouch:
if (checkquest(10022) == 1) {
if (checkquest(10022) == 0 || checkquest(10022) == 1) {
donpcevent "Prince#eisen3::OnEnable";
}
warp "prt_castle",290,208;
@ -7627,7 +7687,7 @@ OnTouch:
prt_castle,348,271,0 script #poe 45,1,1,{
OnTouch:
if (checkquest(10018) == 1) {
if (checkquest(10018) == 0 || checkquest(10018) == 1) {
donpcevent "Prince#eisen4::OnEnable";
}
warp "prt_castle",390,208;
@ -7636,7 +7696,7 @@ OnTouch:
prt_castle,354,276,0 script #peter 45,1,1,{
OnTouch:;
if (checkquest(10019) == 1) {
if (checkquest(10019) == 0 || checkquest(10019) == 1) {
donpcevent "Prince#eisen5::OnEnable";
}
warp "prt_castle",366,368;
@ -7645,7 +7705,7 @@ OnTouch:;
prt_castle,310,271,0 script #urgen 45,1,1,{
OnTouch:
if (checkquest(10021) == 1) {
if (checkquest(10021) == 0 || checkquest(10021) == 1) {
donpcevent "Prince#eisen2::OnEnable";
}
warp "prt_castle",340,208;

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf, Muad_Dib
//===== Current Version: =====================================
//= 1.4
//= 1.4a
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -15,6 +15,7 @@
//= 1.3 Updated script, optimized. [Euphy]
//= 1.3a Added 'npcskill' command. [Euphy]
//= 1.4 Fixed a few bugs. [Euphy]
//= 1.4a Moved Kafra to main file. [Euphy]
//============================================================
prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{
@ -2134,13 +2135,6 @@ OnMyMobDead:
end;
}
job3_rune01,92,62,3 script Kafra Employee::kaf_rune 114,{
cutin "kafra_04",2;
callfunc "F_KafSet";
callfunc "F_Kafra",0,9,2,80,700;
callfunc "F_KafEnd",0,0;
}
/*
sec_in02,34,167,3 script R.Knight Job Manager 470,1,1,{
mes "Enter the Password.";

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Joseph
//===== Current Version: =====================================
//= 1.3
//= 1.3a
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -22,6 +22,7 @@
//= 1.1 Added Dewata Kafra. [Lemongrass]
//= 1.2 Added Port Malaya Kafras. [Euphy]
//= 1.3 Added Eden Group Kafra. [Euphy]
//= 1.3a Moved Rune Knight Kafra from job file. [Euphy]
//============================================================
// Brasilis
@ -70,3 +71,11 @@ malaya,234,204,4 script Kafra Employee::kaf_malaya2 581,{
savepoint "malaya",281,212;
callfunc "F_KafEnd",0,1,"in Port Malaya";
}
// Rune Knight
//============================================================
job3_rune01,92,62,3 script Kafra Employee::kaf_rune 114,{
cutin "kafra_04",2;
callfunc "F_KafSet";
callfunc "F_Kafra",0,9,2,80,700;
}

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.0a
//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@ -12,8 +12,43 @@
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.0a Gathered remaining dialogues. [Euphy]
//= 1.1 Added new warpers for Satan Morroc maps. [Euphy]
//============================================================
// Resurrection of Satan Morroc
// ============================================================
- script Continental Guard#man -1,{
mes "[Continental Guard]";
mes "We've received orders from Headquarters to block access to this area since an unusual space-time phenomenon has been detected.";
next;
mes "[Continental Guard]";
mes "If you really want to go to the next area, you'll be responsible for your own safety.";
next;
switch(select("Nevermind.:Enter the Field.")) {
case 1:
mes "[Continental Guard]";
mes "Wise choice.";
mes "Have a safe journey.";
close;
case 2:
mes "[Continental Guard]";
mes "I see.";
mes "I'll send you to the field shortly.";
close2;
warp "moc_fild20",208,207;
end;
}
}
moc_fild07,380,202,1 duplicate(Continental Guard#man) Continental Guard#man1 852
moc_fild11,189,360,6 duplicate(Continental Guard#man) Continental Guard#man2 852
prt_fild10,263,23,1 duplicate(Continental Guard#man) Continental Guard#man3 852
prt_fild09,95,19,1 duplicate(Continental Guard#man) Continental Guard#man4 852
prt_fild09,246,17,1 duplicate(Continental Guard#man) Continental Guard#man5 852
moc_fild13,32,171,6 duplicate(Continental Guard#man) Continental Guard#man6 852
moc_fild16,124,381,4 duplicate(Continental Guard#man) Continental Guard#man7 852
moc_fild16,333,380,4 duplicate(Continental Guard#man) Continental Guard#man8 852
moc_fild01,84,19,1 duplicate(Continental Guard#man) Continental Guard#man9 852
// Pyramids Nightmare Mode
//============================================================
moc_prydb1,103,54,3 script Suspicious Cat#night 547,{

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.4b
//= 1.5
//===== Compatible With: =====================================
//= Any Athena Version
//===== Description: =========================================
@ -15,11 +15,12 @@
//= 1.4 Uncommented warp that shouldn't have been commented. [L0ne_W0lf]
//= 1.4a Uncommented yet ANOTHER warp that was taken out. [L0ne_W0lf]
//= 1.4b Uncommented ANOTHER warp! Yay! :D [L0ne_W0lf]
//= 1.5 Commented moc_fild20 warps replaced with new NPCs. [Euphy]
//============================================================
//= Sograt Dessert ===========================================
//moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild04,317,376
moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild20,210,342
//moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild20,210,342
moc_fild01,22,242,0 warp mocf005 2,2,prt_fild09,380,237
moc_fild01,239,382,0 warp mocf006 12,1,prt_fild08,233,20
moc_fild01,301,16,0 warp mocf02 10,1,moc_fild02,77,338
@ -64,7 +65,7 @@ moc_fild03,70,341,0 warp mocf04-1 5,2,moc_fild02,332,23
//moc_fild06,377,316,0 warp mocf10-3 1,15,moc_fild05,24,153
moc_fild07,198,21,0 warp mocf001 2,2,morocc,160,294
//moc_fild07,381,201,0 warp mocf13-1 2,16,moc_fild06,28,201
moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177
//moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177
//moc_fild08,16,207,0 warp mocf15 2,4,moc_fild09,371,195
//moc_fild08,170,383,0 warp mocf08-1 3,2,moc_fild04,175,21
//moc_fild08,204,16,0 warp mocf16 4,2,moc_fild14,196,379
@ -79,7 +80,7 @@ moc_fild07,380,201,0 warp mocf13-1 2,16,moc_fild20,36,177
//moc_fild10,208,298,0 warp mocf14-1 10,2,moc_fild06,207,21
//moc_fild10,384,258,0 warp mocf19-1 2,3,moc_fild09,33,162
//moc_fild11,189,363,0 warp mocf20-1 3,2,moc_fild10,189,26
moc_fild11,189,360,0 warp mocf20-1 3,2,moc_fild20,197,24
//moc_fild11,189,360,0 warp mocf20-1 3,2,moc_fild20,197,24
moc_fild11,212,29,0 warp mocf21 4,2,moc_fild17,218,366
moc_fild11,26,161,0 warp mocf22 2,10,moc_fild12,286,168
//moc_fild11,379,197,0 warp mocf23 2,6,moc_fild15,41,105
@ -89,7 +90,7 @@ moc_fild12,159,381,0 warp mocf003 2,2,morocc,160,20
moc_fild12,289,168,0 warp mocf22-1 2,3,moc_fild11,29,161
moc_fild13,146,368,0 warp mocf05-1 5,2,moc_fild02,71,21
//moc_fild13,29,171,0 warp mocf17-1 2,4,moc_fild08,380,211
moc_fild13,32,171,0 warp mocf17-1 2,4,moc_fild20,349,179
//moc_fild13,32,171,0 warp mocf17-1 2,4,moc_fild20,349,179
moc_fild13,298,370,0 warp mocf03-1 4,2,moc_fild02,228,32
moc_fild13,308,49,0 warp mocf06-1 2,4,moc_fild03,20,37
//moc_fild14,16,278,0 warp mocf25 2,6,moc_fild15,364,276
@ -101,10 +102,10 @@ moc_fild13,308,49,0 warp mocf06-1 2,4,moc_fild03,20,37
//moc_fild15,367,276,0 warp mocf25-1 2,4,moc_fild14,19,278
//moc_fild15,38,105,0 warp mocf23-1 2,4,moc_fild11,376,197
//moc_fild16,125,383,0 warp mocf26-1 5,2,moc_fild15,104,19
moc_fild16,124,381,0 warp mocf26-1 5,2,moc_fild20,197,24
//moc_fild16,124,381,0 warp mocf26-1 5,2,moc_fild20,197,24
moc_fild16,16,179,0 warp mocf28 2,6,moc_fild17,366,272
//moc_fild16,334,382,0 warp mocf27-1 4,2,moc_fild15,348,21
moc_fild16,333,380,0 warp mocf27-1 4,2,moc_fild20,197,24
//moc_fild16,333,380,0 warp mocf27-1 4,2,moc_fild20,197,24
moc_fild17,218,369,0 warp mocf21-1 5,2,moc_fild11,212,32
moc_fild17,30,300,0 warp moc29 2,5,moc_fild18,379,305
moc_fild17,369,272,0 warp mocf28-1 2,3,moc_fild16,19,179

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Nana (1.0)
//===== Current Version: =====================================
//= 1.3a
//= 1.4
//===== Compatible With: =====================================
//= Any Athena Version
//===== Description: =========================================
@ -13,6 +13,7 @@
//= 1.2 Updated warps for episode 12.1 [L0ne_W0lf]
//= 1.3 Updated to match the new Izlude Map. [Masao]
//= 1.3a Moved Izlude warp to other file. [Euphy]
//= 1.4 Commented moc_fild20 warps replaced with new NPCs. [Euphy]
//============================================================
//= Prontera Fields ==========================================
@ -71,17 +72,17 @@ prt_fild09,14,124,0 warp prtf17 2,6,prt_fild10,336,126
prt_fild09,14,139,0 warp prtf17-1 2,8,prt_fild10,336,126
prt_fild09,224,380,0 warp prtf13-1 4,2,prt_fild07,206,15
//prt_fild09,246,16,0 warp prtf025 7,2,moc_fild04,92,378
prt_fild09,246,17,0 warp prtf025 7,2,moc_fild20,209,333
//prt_fild09,246,17,0 warp prtf025 7,2,moc_fild20,209,333
prt_fild09,383,223,0 warp prtf026 2,15,moc_fild01,25,242
prt_fild09,383,251,0 warp prtf027 2,15,moc_fild01,25,242
prt_fild09,87,380,0 warp prtf16-1 5,2,prt_fild07,84,16
//prt_fild09,95,16,0 warp prtf028 7,2,moc_fild05,325,379
prt_fild09,95,19,0 warp prtf028 7,2,moc_fild20,209,333
//prt_fild09,95,19,0 warp prtf028 7,2,moc_fild20,209,333
prt_fild10,20,122,0 warp prtf19 2,4,prt_fild11,359,111
prt_fild10,20,196,0 warp prtf20 2,4,prt_fild11,358,184
prt_fild10,227,299,0 warp prtf020 5,2,gef_fild02,266,21
//prt_fild10,263,20,0 warp prtf029 6,2,moc_fild05,144,372
prt_fild10,263,22,0 warp prtf029 6,2,moc_fild20,209,333
//prt_fild10,263,22,0 warp prtf029 6,2,moc_fild20,209,333
prt_fild10,339,126,0 warp prtf17-2 2,8,prt_fild09,17,133
prt_fild11,17,281,0 warp prtf021 2,4,gef_fild11,374,293
prt_fild11,302,301,0 warp prtf022 5,2,gef_fild03,312,19

View File

@ -10570,27 +10570,27 @@ static void script_detach_rid(struct script_state* st)
}
}
/*
Made by digitalhamster
addrid(parameter{,forced{,supportid}})
parameter:
account id -> attach player with acc_id if he's online /returns 1 if he's not online, 0 if he is
0 -> attach entire server
1 -> attach everyone currently on the map of the player if a player runs addrid/else of the npcs map
2 -> attach entire party(party id has to be entered at supportid)
3 -> attach entire guild(guild id has to be entered at supportid)
4 -> attach all players in an area at the map where the person running addrid is located/no person=use npcs map
Note: 4 uses addrid(4,Forced,x0,y0,x1,y1)
forced:
0 or left out -> force attachment of the player even if he runs a script already
1 -> don't attach if player is currently running a script(only needed when you use things like mes"" close next so it seems
*/
/*=========================================================================
* Attaches a set of RIDs to the current script. [digitalhamster]
* addrid(<type>{,<flag>{,<parameters>}});
* <type>:
* 0 : All players in the server.
* 1 : All players in the map of the invoking player, or the invoking NPC if no player is attached.
* 2 : Party members of a specified party ID.
* [ Parameters: <party id> ]
* 3 : Guild members of a specified guild ID.
* [ Parameters: <guild id> ]
* 4 : All players in a specified area of the map of the invoking player (or NPC).
* [ Parameters: <x0>,<y0>,<x1>,<y1> ]
* Account ID: The specified account ID.
* <flag>:
* 0 : Players are always attached. (default)
* 1 : Players currently running another script will not be attached.
*-------------------------------------------------------------------------*/
static int buildin_addrid_sub(struct block_list *bl,va_list ap)
{
{
int forceflag;
struct map_session_data *sd = (TBL_PC *)bl;
struct script_state* st;
@ -10604,17 +10604,17 @@ static int buildin_addrid_sub(struct block_list *bl,va_list ap)
}
BUILDIN_FUNC(addrid)
{
{
struct s_mapiterator* iter;
struct block_list *bl;
TBL_PC *sd;
if(st->rid<1){
st->state = END;
st->state = END;
bl=map_id2bl(st->oid);
} else
} else
bl=map_id2bl(st->rid); //if run without rid it'd error,also oid if npc, else rid for map
iter = mapit_getallusers();
switch(script_getnum(st,2)){
switch(script_getnum(st,2)){
case 0:
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter)){
if(!script_getnum(st,3)||!sd->st)
@ -10622,7 +10622,6 @@ BUILDIN_FUNC(addrid)
run_script(st->script,st->pos,sd->status.account_id,st->oid);
}
break;
case 1:
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter)){
if(!script_getnum(st,3)||!sd->st)
@ -10630,10 +10629,9 @@ BUILDIN_FUNC(addrid)
run_script(st->script,st->pos,sd->status.account_id,st->oid);
}
break;
case 2:
if(script_getnum(st,4)==0){
script_pushint(st,1);
script_pushint(st,0);
return 0;
}
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter)){
@ -10642,38 +10640,35 @@ BUILDIN_FUNC(addrid)
run_script(st->script,st->pos,sd->status.account_id,st->oid);
}
break;
case 3:
if(script_getnum(st,4)==0){
script_pushint(st,1);
script_pushint(st,0);
return 0;
}
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter)){
if(!script_getnum(st,3)||!sd->st)
if((sd->status.account_id!=st->rid)&&(sd->status.guild_id==script_getnum(st,4))) //attached player already runs.
run_script(st->script,st->pos,sd->status.account_id,st->oid);
}break;
}
break;
case 4:
map_foreachinarea(buildin_addrid_sub,
bl->m,script_getnum(st,4),script_getnum(st,5),script_getnum(st,6),script_getnum(st,7),BL_PC,
st,script_getnum(st,3));//4-x0 , 5-y0 , 6-x1, 7-y1
break;
default:
if((map_id2sd(script_getnum(st,2)))==NULL){
script_pushint(st,1);
if((map_id2sd(script_getnum(st,2)))==NULL){ // Player not found.
script_pushint(st,0);
return 0;
} //player not online.
}
if(!script_getnum(st,3)||!map_id2sd(script_getnum(st,2))->st) {
run_script(st->script,st->pos,script_getnum(st,2),st->oid);
script_pushint(st,0);
script_pushint(st,1);
}
return 0;
}
}
mapit_free(iter);
script_pushint(st,0);
script_pushint(st,1);
return 0;
}
@ -16704,7 +16699,7 @@ BUILDIN_FUNC(instance_id)
instance_id = script_instancegetid(st);
if(!instance_id) {
ShowError("script:instance_id: No instance attached to NPC or player");
//ShowError("script:instance_id: No instance attached to NPC or player");
script_pushint(st, 0);
return 1;
}