diff options
Diffstat (limited to 'npc/kafras')
-rw-r--r-- | npc/kafras/cool_event_corp.txt | 12 | ||||
-rw-r--r-- | npc/kafras/dts_warper.txt | 62 | ||||
-rw-r--r-- | npc/kafras/functions_kafras.txt | 50 | ||||
-rw-r--r-- | npc/kafras/kafras.txt | 34 |
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) |