summaryrefslogtreecommitdiff
path: root/npc/kafras
diff options
context:
space:
mode:
Diffstat (limited to 'npc/kafras')
-rw-r--r--npc/kafras/cool_event_corp.txt12
-rw-r--r--npc/kafras/dts_warper.txt62
-rw-r--r--npc/kafras/functions_kafras.txt50
-rw-r--r--npc/kafras/kafras.txt34
4 files changed, 84 insertions, 74 deletions
diff --git a/npc/kafras/cool_event_corp.txt b/npc/kafras/cool_event_corp.txt
index 4a8f8c188..ced4714f2 100644
--- a/npc/kafras/cool_event_corp.txt
+++ b/npc/kafras/cool_event_corp.txt
@@ -1,22 +1,22 @@
//===== Hercules Script ======================================
//= Cool Event Corp. Staff
-//===== By: ==================================================
+//===== By: ==================================================
//= Gepard
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.5
-//===== Description: =========================================
+//===== Description: =========================================
//= Cool Event Corp. Staff (Save, Storage & Pushcart Service)
//= in Arunafeltz Region.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.0 First version, iRO Sakray X.4 [Gepard]
//= 1.1 Optimized, fixed a conditional bug [Lupus]
//= 1.1a Redo back. It wasn't a bug [Lupus]
//= 1.2 Added Rachel Cool Event Corp. Staff [Playtester]
//= 1.3 Added cutins, closed Kafra Password exploit
-//= until we got a client/packet based password support [Lupus]
+//= until we got a client/packet based password support [Lupus]
//= 1.4 Added Veins Cool Event Corp. Staff. [L0ne_W0lf]
//= 1.5 Cool Event Corp staff is now more iRO like. [L0ne_W0lf]
-//============================================================
+//============================================================
hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
cutin "zonda_01",2;
diff --git a/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt
index b2fb64ba8..8819779d9 100644
--- a/npc/kafras/dts_warper.txt
+++ b/npc/kafras/dts_warper.txt
@@ -1,9 +1,9 @@
//===== Hercules Script ======================================
//= Dungeon Teleport Service
-//===== By: ==================================================
+//===== By: ==================================================
//= Evera
-//===== Current Version: =====================================
-//= 2.8
+//===== Current Version: =====================================
+//= 2.9
//===== Description: =========================================
//= [Official Conversion]
//= Cool Event Corp NPCs vs. Kafra Dungeon Teleport Service and voting system.
@@ -23,27 +23,27 @@
// For Detailed information on what each varibale does, see
// the "Vote Globalvar Girl#yuno" NPC at the end of the file.
// Character Variable in use: lhz_vote (how many times player has voted, keeps htem from re-voting.)
-//===== Additional Comments: =================================
-//= 1.0 Initial release [Evera]
-//= 1.1 SVN release, removed from major town (found true info after research),
-//= put more arg(2) parameters, fixed a few bugs [Evera]
+//===== Additional Comments: =================================
+//= 1.0 Initial release [Evera]
+//= 1.1 SVN release, removed from major town (found true info after research),
+//= put more arg(2) parameters, fixed a few bugs [Evera]
//= 1.2 Mushed some variables together, optimized a bit [Evera]
//= 1.3 Removed selfconfig [Evera]
//= 1.4 Changed global variables to read from 3 global variables, updated names,
-//= fixed array bug [Evera]
+//= fixed array bug [Evera]
//= 1.5 Mushed voting varialbes into 1 variable. [Evera]
//= 1.6 Removed Duplicates [Silent]
-//= 1.7 Fixed bug of DTS_Admin not running by itself [Evera]
-//= 1.8 Changed requirement to lvl 60 [Evera]
+//= 1.7 Fixed bug of DTS_Admin not running by itself [Evera]
+//= 1.8 Changed requirement to lvl 60 [Evera]
//= 1.9 Removed global eligibility option [Evera]
//= 2.0 Fixed zeny bug [Evera]
//= 2.1 Fixed headers with and updated with newer information [Evera]
//= 2.2 Changed dtseligible 2 to MISC_QUEST|128, to clean up variable usage. [Evera]
-//= Also added F_ClearGarbage function to the scripts. [Evera]
-//= 2.3 Changed dtseligible to be $dtsday when MISC_QUEST|128
-//= Added $dtsday for vote session counter
-//= Fixed bug that involved having both warpers enabled at the same time. [Evera]
-//= New $dtsday system and bug fix[Evera]
+//= Also added F_ClearGarbage function to the scripts. [Evera]
+//= 2.3 Changed dtseligible to be $dtsday when MISC_QUEST|128
+//= Added $dtsday for vote session counter
+//= Fixed bug that involved having both warpers enabled at the same time. [Evera]
+//= New $dtsday system and bug fix[Evera]
//= 2.3a fixed 2 bugs with comparision [Lupus]
//= 2.3b corrected Glast warp coords [Lupus] 2.3c Bailand -> Bayalan
//= 2.4 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
@@ -51,7 +51,8 @@
//= 2.6 Moved Morroc NPCs to Morroc Ruins. [L0ne_W0lf]
//= 2.7 Fixed a typo, a - to a +. Not sure how that happened. [L0ne_w0lf]
//= 2.8 Corrected another typo this time in a variable.
-//============================================================
+//= 2.9 Added GM management function. [Euphy]
+//============================================================
einbroch,246,70,0 script Vote Timer#ein -1,{
OnInit:
@@ -533,7 +534,7 @@ function script F_VoteKafra {
case 1:
if (Zeny >= 4000) {
cutin "",255;
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
warp "xmas_dun02",130,123;
end;
}
@@ -557,7 +558,7 @@ function script F_VoteKafra {
switch(select("Toy Factory, Level 2 -> 4,000 z:Clock Tower, Level 3 -> 4,000 z:Cancel")) {
case 1:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "kafra_09",255;
warp "xmas_dun02",130,123;
end;
@@ -573,7 +574,7 @@ function script F_VoteKafra {
break;
case 2:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "kafra_09",255;
warp "alde_dun03",265,22;
end;
@@ -598,7 +599,7 @@ function script F_VoteKafra {
switch(select("Toy Factory, Level 2 -> 4,000 z:Clock Tower, Level 3 -> 4,000 z:Lava Dungeon, Level 2 -> 4,000 z:Cancel")) {
case 1:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "kafra_09",255;
warp "xmas_dun02",130,123;
end;
@@ -614,7 +615,7 @@ function script F_VoteKafra {
break;
case 2:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "kafra_09",255;
warp "alde_dun03",265,22;
end;
@@ -630,7 +631,7 @@ function script F_VoteKafra {
break;
case 3:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "kafra_09",255;
warp "mag_dun02",47,40;
end;
@@ -932,7 +933,7 @@ lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Cancel")) {
case 1:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "zonda_01",255;
warp "iz_dun02",234,206;
end;
@@ -960,7 +961,7 @@ lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Clock Tower, 3rd Floor -> 4,000 z:Cancel")) {
case 1:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "zonda_01",255;
warp "iz_dun02",234,206;
end;
@@ -975,7 +976,7 @@ lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
break;
case 2:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "zonda_01",255;
warp "c_tower3",64,143;
end;
@@ -1010,7 +1011,7 @@ lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Clock Tower, 3rd Floor -> 4,000 z:Glast Heim Entrance -> 4,000 z:Cancel")) {
case 1:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "zonda_01",255;
warp "iz_dun02",234,206;
end;
@@ -1025,7 +1026,7 @@ lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
break;
case 2:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "zonda_01",255;
warp "c_tower3",64,143;
end;
@@ -1040,7 +1041,7 @@ lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
break;
case 3:
if (Zeny >= 4000) {
- set zeny,zeny-4000;
+ set Zeny, Zeny-4000;
cutin "zonda_01",255;
warp "glast_01",368,303;
end;
@@ -1173,12 +1174,13 @@ OnTimer15000:
/*
// GM only NPC used for modifying values related to the DTS system.
+// Disabled in official script.
sec_in02,17,160,4 script Vote Globalvar Girl#yuno 864,{
+ callfunc "F_GM_NPC";
mes "[Christy's Maid]";
mes "Lady Christy!";
next;
- input .@input,0,9000;
- if (.@input == 1854) {
+ if (callfunc("F_GM_NPC",1854,0) == 1) {
mes "[Christy's Maid]";
mes "I am Lady Christy's Maid.";
next;
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt
index d10c2fe2f..71675c11c 100644
--- a/npc/kafras/functions_kafras.txt
+++ b/npc/kafras/functions_kafras.txt
@@ -1,10 +1,10 @@
//===== Hercules Script ======================================
//= Kafra Functions
-//===== By: ==================================================
+//===== By: ==================================================
//= rAthena Dev Team
//= Darlskies, Darkchild, Syrus22, Lupus, kobra_k88 (2.0)
//= L0ne_W0lf
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 6.7
//===== Description: =========================================
//= These functions handle save, storage, cart rental, teleport,
@@ -13,9 +13,9 @@
//= Kafra's will need a lot of work. The Welcome Message argument
//= may become obsolete, as most kafras have a slightly differing
//= Welcome message.
-//===== Additional Comments: =================================
-//= v1.1 Now using functions v2.1 Added Cart Rent for Classes: Whitesmith, Professor.
-//= Replaced checkoption(x) into checkcart(0) [Lupus] v2.1b Added Fix Kafra Pass Func [Kobra_k88]
+//===== Additional Comments: =================================
+//= 1.1 Now using functions v2.1 Added Cart Rent for Classes: Whitesmith, Professor.
+//= Replaced checkoption(x) into checkcart(0) [Lupus] v2.1b Added Fix Kafra Pass Func [Kobra_k88]
//= 2.2 Final fix of the Kafra Pass Exploit! [Lupus] a -Izlude[4] fix
//= 2.2a Minor changes to function calls. Using agruments. Added Guild options. [kobra_k88]
//= 2.2b This version uses arrays for the teleport option. Rearranged next statements to make menu transitions smoother. [kobra_k88]
@@ -30,29 +30,29 @@
//= 3.1 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
//= 3.2 Fixed an exploit [Lupus]
//= 4.0 Added Kafra storage password protection. [Lupus]
-//= to block Kafra Password, read comments at 350 line
+//= to block Kafra Password, read comments at 350 line
//= 5.0 Fixed the close2;....close; end; lines. Who let them slip away? =/ [erKURITA]
-//= Also, the kafra upon warp was giving back the zeny. Removed. [erKURITA]
+//= Also, the kafra upon warp was giving back the zeny. Removed. [erKURITA]
//= 5.1 Optimized a little, added no tele/save arg's [Evera]
//= 5.1a Temporary? Added F_ClearGarbage to clear unused/outdated variables [Lupus]
//= 5.2 By default commented out custom Guilds Kafra's "Guild Storage". [Lupus]
//= 5.3 uncommented Guild Storage. Confirmed kRO feature. [Lupus]
//= 5.4 added -Guide option (Kafra shows you nearest Guide) Work in progress.
-//= Need all coords for all guides.. and somehow pass their coords to kafra.
-//= Removed universal Kafra Pass, added 3 new Kafra Tickets [Lupus]
+//= Need all coords for all guides.. and somehow pass their coords to kafra.
+//= Removed universal Kafra Pass, added 3 new Kafra Tickets [Lupus]
//= 5.4b temporary moved "-Guide" from the 1st menu punct [Lupus]
//= 5.5 Added proper Niflheim welcome message. [L0ne_W0lf]
-//= Cleaned up the menus a bit. Got rid of the proceeding "-" prefix.
+//= Cleaned up the menus a bit. Got rid of the proceeding "-" prefix.
//= 5.5b Missed a preceeding hyphen, which was screwing up teleporting. [L0ne_W0lf]
//= 5.6 Further dialog updates, added dynamic costs for cart and storage use. [L0ne_W0lf]
-//= Updated some functions to handle Guild Kafras the way they should.
+//= Updated some functions to handle Guild Kafras the way they should.
//= 5.6a Corrected a few wrong names in the teleport function. [L0ne_W0lf]
//= 5.7 Correced end message no longer displaying, and the duplicate names [L0ne_W0lf]
-//= Thanks to Barron-Monster for pointing out the issues.
+//= Thanks to Barron-Monster for pointing out the issues.
//= 5.8 Fixed another double name being shown when "saving" [L0ne_W0lf]
//= 5.9 Fixed the Kafra Welcome message for guilds. Thanks Barron-Monster. [L0ne_W0lf]
//= 6.0 Closed Kafra Password exploit in Cool Event Corp. Storages until we got a client/packet based password support.
-//= Added 2 args into F_SetKafCode to fit it in Cool Evnt Co. NPC [Lupus]
+//= Added 2 args into F_SetKafCode to fit it in Cool Evnt Co. NPC [Lupus]
//= 6.1 Added menu for Turbo Track Kafra Staff. [L0ne_W0lf]
//= 6.2 Updated/Fixed warp cords. [Kisuka]
//= 6.3 #kafra_code is now stored as is. [brianluau]
@@ -60,7 +60,7 @@
//= 6.5 Optimized. [Joseph]
//= 6.6 Added Warp Points / View Points Function. [Joseph]
//= 6.7 Added Rune Knight Kafra. [Euphy]
-//============================================================
+//============================================================
//=== Main Function ========================================================
//= arg(0): Used to determine which welcome message to show.
@@ -116,8 +116,8 @@ function script F_Kafra {
// NPC has it's own welcome message. (Display nothing)
break;
}
+ next;
while (1) {
- next;
deletearray @K_Menu0$[0],getarraysize(@K_Menu0$);
if (getarg(0) == 2) {
// Guild Kafra Menu override (free Teleport, free Storage, Free Cart)
@@ -159,6 +159,7 @@ function script F_Kafra {
callfunc "F_KafStor",2,0,0;
else
callfunc "F_KafStor",0,getarg(3),getarg(0);
+ next;
} else if (@K_Menu0$[.@j] == "Use Teleport Service") {
// Display Einbroch "No Teleport Service" notice.
if(getarg(1) != 4) callfunc "F_KafTele",getarg(0);
@@ -176,16 +177,19 @@ function script F_Kafra {
mes "instead. Thank you for your";
mes "understanding and cooperation.";
}
+ next;
} else if (@K_Menu0$[.@j] == "Rent a Pushcart") {
if(callfunc("F_KafCart",getarg(0),getarg(4)) == 1)
- next;
+ next;
} else if (@K_Menu0$[.@j] == "Check Other Information") {
callfunc "F_KafInfo",getarg(2);
+ next;
} else if (@K_Menu0$[.@j] == "Cancel"){
callfunc "F_KafEnd",getarg(0),0;
end;
} else if (@K_Menu0$[.@j] == "Use Guild Storage") {
callfunc "F_KafStor",1,0;
+ next;
}
}
}
@@ -381,7 +385,7 @@ function script F_KafInfo {
// Uncomment next line to block Kafra Storage Protection
// set .@block, 1;
setarray .@m$, "Check Special Reserve Points.","Storage Password Service","Kafra Employee Locations","Cancel";
- if (getarg(0) == 2) deletearray .@m$[1],2; // Rune Knight
+ if (getarg(0) == 2) deletearray .@m$[1],2; // Port Malaya, Rune Knight
else if (.@block) deletearray .@m$[1],1;
while (1) {
set .@j, select(implode(.@m$,":")) - 1;
@@ -472,7 +476,7 @@ function script F_SetKafCode {
mes "Your storage is protected with a password. What would you do now?";
next;
switch (select("Change old password -> 5000z:Remove storage password -> 1000z:Cancel")) {
- Case 1:
+ case 1:
mes getarg(0);
mes "At first, please enter your ^0000FFold password^000000.";
set @code,callfunc("F_EntKafCode");
@@ -484,7 +488,7 @@ function script F_SetKafCode {
next;
callsub S_SET,getarg(0),getarg(1);
break;
- Case 2:
+ case 2:
mes getarg(0);
mes "Please, enter your password before its removal.";
set @code,callfunc("F_EntKafCode");
@@ -512,7 +516,7 @@ function script F_SetKafCode {
emotion e_sry;
}
break;
- Case 3:
+ case 3:
break;
}
} else {
@@ -520,8 +524,8 @@ function script F_SetKafCode {
mes "Additional storage protection with a password.";
next;
switch (select("Set new password -> 5000z:Cancel")) {
- Case 1: callsub S_SET,getarg(0),getarg(1); break;
- Case 2: break;
+ case 1: callsub S_SET,getarg(0),getarg(1); break;
+ case 2: break;
}
}
close2;
@@ -634,4 +638,4 @@ function script F_KafSet {
setd "@wrpC$["+.@i+"]",getd("@wrpD$["+.@i+"]")+" -> "+getd("@wrpP["+.@i+"]");
setd "@wrpC$["+getarraysize(@wrpC$)+"]","Cancel";
return;
-}
+} \ No newline at end of file
diff --git a/npc/kafras/kafras.txt b/npc/kafras/kafras.txt
index 49562e3be..8b867f00d 100644
--- a/npc/kafras/kafras.txt
+++ b/npc/kafras/kafras.txt
@@ -1,9 +1,9 @@
//===== Hercules Script ======================================
//= Kafras (Cities/Dungeons/Fields)
-//===== By: ==================================================
+//===== By: ==================================================
//= Joseph
-//===== Current Version: =====================================
-//= 1.1
+//===== Current Version: =====================================
+//= 1.1b
//===== Description: =========================================
//= Argument settings for callfunc "F_Kafra":
//= arg(0): 0 - Default Kafra message
@@ -13,12 +13,14 @@
//= arg(2): 1 - Disable info menu
//= arg(3): Cost of Storage service
//= arg(4): Cost of Rent a Pushcart service
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 0.x Previous Authors:
//= - L0ne_W0lf, kobra_k88, Samuray22, Evera, Lupus
//= 1.0 Merged and cleaned up Kafras. [Joseph]
//= 1.1 Added Izlude RE coordinates. [Euphy]
-//============================================================
+//= 1.1a Fixed Pre-RE Call and some leftovers. [Lemongrass]
+//= 1.1b Enabled saving in Izlude duplicates (RE). [Euphy]
+//============================================================
// Aldebaran
//============================================================
@@ -49,7 +51,7 @@ aldeba_in,96,181,4 script Kafra Service 113,{
close2;
break;
case 2:
- if (zeny < 20) {
+ if (Zeny < 20) {
mes "[Kafra Leilah]";
mes "Excuse me, but it";
mes "seems that you don't";
@@ -64,7 +66,7 @@ aldeba_in,96,181,4 script Kafra Service 113,{
mes "and administrative functions,";
mes "I'll access your Storage for you.";
next;
- set zeny,zeny-20;
+ set Zeny, Zeny-20;
set RESRVPTS, RESRVPTS + (20/5);
mes "[Kafra Leilah]";
mes "In the future, please";
@@ -326,7 +328,7 @@ yuno,327,108,4 script Kafra Employee::kaf_yuno2 860,{
yuno,277,221,4 script Kafra Employee::kaf_yuno3 861,{
cutin "kafra_09",2;
- callfunc "F_KafSetYun";
+ callfunc "F_KafSet";
mes "[Kafra Employee]";
mes "The Kafra Corporation";
mes "is always working to provide";
@@ -400,7 +402,7 @@ cmd_fild07,136,134,4 script Kafra Employee::kaf_cmd_fild07 721,{
// Izlude
//============================================================
-- script kaf_izlude -1,{
+- script ::kaf_izlude -1,{
cutin "kafra_01",2;
callfunc "F_KafSet";
mes "[Kafra Employee]";
@@ -411,7 +413,7 @@ cmd_fild07,136,134,4 script Kafra Employee::kaf_cmd_fild07 721,{
mes "How may I assist you?";
callfunc "F_Kafra",5,0,1,40,820;
if (checkre(0))
- savepoint "izlude",129,97;
+ savepoint strnpcinfo(4),129,97;
else
savepoint "izlude",94,103;
callfunc "F_KafEnd",0,1,"in the city of Izlude";
@@ -596,7 +598,11 @@ niflheim,202,180,3 script Kafra Employee::kaf_niflheim 791,{
// - Byalan Island
izlu2dun,106,58,8 script Kafra Employee::kaf_izlu2dun 115,{
cutin "kafra_03",2;
- if(BaseJob==Job_Novice && job_merchant_q2>0) callfunc "F_MercKafra"; //F_MercKafra found in merchant.txt
+ if (!checkre(0) && BaseJob == Job_Novice && job_merchant_q2 > 0) {
+ // Merchant Job Change Quest
+ // function F_MercKafra is found in /pre-re/jobs/1-1/merchant.txt
+ callfunc "F_MercKafra";
+ }
mes "[Kafra Employee]";
mes "Welcome to the";
mes "Kafra Corporation.";
@@ -619,10 +625,8 @@ prt_fild05,290,224,3 script Kafra Employee::prt_fild05 114,{
mes "with its excellent service. So";
mes "what can I do for you today?";
callfunc "F_Kafra",5,1,1,40,0;
-
- M_Save:
- savepoint "prt_fild05",274,243;
- callfunc "F_KafEnd",0,1, "at the Prontera Culverts";
+ savepoint "prt_fild05",274,243;
+ callfunc "F_KafEnd",0,1, "at the Prontera Culverts";
}
// - Coal Mine (Dead Pitt)