diff options
Diffstat (limited to 'npc/custom')
22 files changed, 191 insertions, 211 deletions
diff --git a/npc/custom/battleground/bg_common.txt b/npc/custom/battleground/bg_common.txt index 8b99deb39..54b13bb28 100644 --- a/npc/custom/battleground/bg_common.txt +++ b/npc/custom/battleground/bg_common.txt @@ -137,14 +137,14 @@ bat_room,160,140,3 script Prince Croix 4_M_CRU_CRUA,{ // ********************************************************************* function script Time2Str { set .@time_left, getarg(0) - gettimetick(2); - + set .@Days, .@time_left / 86400; set .@time_left, .@time_left - (.@Days * 86400); set .@Hours, .@time_left / 3600; set .@time_left, .@time_left - (.@Hours * 3600); set .@Minutes, .@time_left / 60; set .@time_left, .@time_left - (.@Minutes * 60); - + set .@Time$, ""; if( .@Days > 1 ) set .@Time$, .@Time$ + .@Days + " days, "; @@ -165,7 +165,7 @@ function script Time2Str { set .@Time$, .@Time$ + .@time_left + " seconds."; else if( .@time_left == 1 ) set .@Time$, .@Time$ + .@time_left + " second."; - + return .@Time$; } @@ -203,7 +203,7 @@ bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{ mes "Please sign up for an army with Prince Croix or General Guillaume!"; close; } - + mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; next; if( select("I want to join your army!:End Conversation") == 2 ) @@ -226,7 +226,7 @@ bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{ mes "Stand-by for Tierra Gorge Battle until the time limit passes."; close; } - + if( BaseLevel < 80 ) { mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; @@ -343,7 +343,7 @@ bat_room,164,178,5 script Tierra Valley Officer#3 4_M_KY_KNT,{ mes "Please sign up for an army with Prince Croix or General Guillaume!"; close; } - + mes "Hello " + strcharinfo(0) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; next; if( select("I want to join your army!:End Conversation") == 2 ) @@ -1260,7 +1260,7 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{ case 4: setarray .@Item_DB[0],2376,2377,2378,2379,2380,2381,2382; set .@Value, 80; break; case 5: setarray .@Item_DB[0],2720,2721,2722,2723,2724,2725,2733; set .@Value, 500; break; } - + break; case 3: // Valor Badges mes "[Erundek]"; @@ -1278,7 +1278,7 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{ case 4: setarray .@Item_DB[0],2376,2377,2378,2379,2380,2381,2382; set .@Value, 80; break; case 5: setarray .@Item_DB[0],2720,2721,2722,2723,2724,2725,2733; set .@Value, 500; break; } - + break; case 4: // Heroism Badge mes "[Erundek]"; @@ -1286,7 +1286,7 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{ mes "This shop is not available at the moment."; close; } - + mes "[Erundek]"; mes "What item do you want to exchange?"; mes "If you are not sure, check the catalog."; @@ -1305,21 +1305,21 @@ bat_room,160,150,3 script Erundek 4_M_MANAGER,{ mes "Remember, Battleground Reward Items are ^FF0000Character Bound^000000."; mes "Are you sure you want this item?"; next; - + if( select("Yes:No") == 2 ) { mes "[Erundek]"; mes "Do you need more time to check the items?"; close; } - + if( countitem(.@Badge) < .@Value ) { mes "[Erundek]"; mes "I'm sorry, but you don't have enough badges to exchange."; close; } - + delitem .@Badge,.@Value; getitem .@Item_ID,1; mes "[Erundek]"; diff --git a/npc/custom/battleground/bg_flavius_01.txt b/npc/custom/battleground/bg_flavius_01.txt index fd0cf9112..30693da21 100644 --- a/npc/custom/battleground/bg_flavius_01.txt +++ b/npc/custom/battleground/bg_flavius_01.txt @@ -54,7 +54,7 @@ OnReadyCheck: end; set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume"); set .@Croix, getwaitingroomstate(0,"Fl1R_Croix"); - + if( .@Guillaume < 10 || .@Croix < 10 ) { mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x006400; diff --git a/npc/custom/battleground/bg_flavius_02.txt b/npc/custom/battleground/bg_flavius_02.txt index f7b7756f4..c735614c1 100644 --- a/npc/custom/battleground/bg_flavius_02.txt +++ b/npc/custom/battleground/bg_flavius_02.txt @@ -54,7 +54,7 @@ OnReadyCheck: end; set .@Guillaume, getwaitingroomstate(0,"Fl2R_Guillaume"); set .@Croix, getwaitingroomstate(0,"Fl2R_Croix"); - + if( .@Guillaume < 10 || .@Croix < 10 ) { mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x808000; diff --git a/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt index aa12759b9..be826215e 100644 --- a/npc/custom/battleground/bg_kvm01.txt +++ b/npc/custom/battleground/bg_kvm01.txt @@ -11,7 +11,7 @@ bat_room,253,227,4 script Registration::KvM01R_Guillaume 4_M_KY_KNT,{ // KvM Gui OnInit: waitingroom "Battle Station 5 Players",5,"KvM01_BG::OnGuillaumeJoin",1; end; - + OnEnterBG: set $@KvM01BG_id1, waitingroom2bg("bat_c01",53,128,"KvM01_BG::OnGuillaumeQuit","KvM01_BG::OnGuillaumeDie"); end; @@ -150,7 +150,7 @@ OnTimer27000: OnTimer28000: donpcevent "::OnKvM01LightB"; end; - + OnTimer29000: donpcevent "::OnKvM01LightC"; end; @@ -205,7 +205,7 @@ OnTimer330000: OnGuillaumeWin: set $@KvM01BG, 3; set $@KvM01BG_Victory, 1; - + stopnpctimer; sleep 2000; mapannounce "bat_c01","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF; diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt index f2f5f7ca1..91e594a90 100644 --- a/npc/custom/battleground/bg_kvm02.txt +++ b/npc/custom/battleground/bg_kvm02.txt @@ -11,7 +11,7 @@ bat_room,225,227,4 script Registration::KvM02R_Guillaume 4_M_KY_KNT,{ // KvM Gui OnInit: waitingroom "Battle Station 5 Players",5,"KvM02_BG::OnGuillaumeJoin",1; end; - + OnEnterBG: set $@KvM02BG_id1, waitingroom2bg("bat_c02",53,128,"KvM02_BG::OnGuillaumeQuit","KvM02_BG::OnGuillaumeDie"); end; @@ -150,7 +150,7 @@ OnTimer27000: OnTimer28000: donpcevent "::OnKvM02LightB"; end; - + OnTimer29000: donpcevent "::OnKvM02LightC"; end; @@ -205,7 +205,7 @@ OnTimer330000: OnGuillaumeWin: set $@KvM02BG, 3; set $@KvM02BG_Victory, 1; - + stopnpctimer; sleep 2000; mapannounce "bat_c02","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF; diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt index f38e81bd1..33edb0be7 100644 --- a/npc/custom/battleground/bg_kvm03.txt +++ b/npc/custom/battleground/bg_kvm03.txt @@ -11,7 +11,7 @@ bat_room,197,227,4 script Registration::KvM03R_Guillaume 4_M_KY_KNT,{ // KvM Gui OnInit: waitingroom "Battle Station 5 Players",5,"KvM03_BG::OnGuillaumeJoin",1; end; - + OnEnterBG: set $@KvM03BG_id1, waitingroom2bg("bat_c03",53,128,"KvM03_BG::OnGuillaumeQuit","KvM03_BG::OnGuillaumeDie"); end; @@ -150,7 +150,7 @@ OnTimer27000: OnTimer28000: donpcevent "::OnKvM03LightB"; end; - + OnTimer29000: donpcevent "::OnKvM03LightC"; end; @@ -205,7 +205,7 @@ OnTimer330000: OnGuillaumeWin: set $@KvM03BG, 3; set $@KvM03BG_Victory, 1; - + stopnpctimer; sleep 2000; mapannounce "bat_c03","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF; diff --git a/npc/custom/battleground/bg_tierra_01.txt b/npc/custom/battleground/bg_tierra_01.txt index 671c2d929..797b3a389 100644 --- a/npc/custom/battleground/bg_tierra_01.txt +++ b/npc/custom/battleground/bg_tierra_01.txt @@ -69,7 +69,7 @@ OnReadyCheck: bg_monster $@TierraBG1_id1,"bat_a01",176,345,"Food Depot",1909,"Tierra_BG1::OnGuillaumeBreak"; bg_monster $@TierraBG1_id2,"bat_a01",167,50,"Food Storage",1910,"Tierra_BG1::OnCroixBreak"; bg_monster 0,"bat_a01",273,204,"Neutrality Flag",1911,"Tierra_BG1::OnNeutralBreak"; - + set .Neutral_Base, 0; set $@TierraBG1_Victory, 0; @@ -94,7 +94,7 @@ OnReadyCheck: mapannounce "bat_a01","Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's food storage",1,0x0000FF; sleep 2000; mapannounce "bat_a01","Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage",1,0xFF0000; - + initnpctimer; end; @@ -120,7 +120,7 @@ OnNeutralBreak: set .Guardian_1, bg_monster(.Neutral_Base,"bat_a01",280,233,"Guardian",1949,"Tierra_BG1::OnGuardian1"); else bg_monster_set_team .Guardian_1, .Neutral_Base; - + if( .Guardian_2 == 0 ) set .Guardian_2, bg_monster(.Neutral_Base,"bat_a01",287,203,"Guardian",1950,"Tierra_BG1::OnGuardian2"); else @@ -294,7 +294,7 @@ OnWall: OnBuild: for( set .@i, 0; .@i < 16; set .@i, .@i + 1 ) bg_monster 0,"bat_a01",186+.@i,266,"Barricade",1906,"Croix_TV1B::OnWall"; - + setwall "bat_a01",186,266,16,6,1,"bat_a01_c1"; set .MyMobCount,16; end; diff --git a/npc/custom/battleground/bg_tierra_02.txt b/npc/custom/battleground/bg_tierra_02.txt index c6cebf581..f18d60769 100644 --- a/npc/custom/battleground/bg_tierra_02.txt +++ b/npc/custom/battleground/bg_tierra_02.txt @@ -69,7 +69,7 @@ OnReadyCheck: bg_monster $@TierraBG2_id1,"bat_a02",176,345,"Food Depot",1909,"Tierra_BG2::OnGuillaumeBreak"; bg_monster $@TierraBG2_id2,"bat_a02",167,50,"Food Storage",1910,"Tierra_BG2::OnCroixBreak"; bg_monster 0,"bat_a02",273,204,"Neutrality Flag",1911,"Tierra_BG2::OnNeutralBreak"; - + set .Neutral_Base, 0; set $@TierraBG2_Victory, 0; @@ -94,7 +94,7 @@ OnReadyCheck: mapannounce "bat_a02","Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's food storage",1,0x0000FF; sleep 2000; mapannounce "bat_a02","Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage",1,0xFF0000; - + initnpctimer; end; @@ -120,7 +120,7 @@ OnNeutralBreak: set .Guardian_1, bg_monster(.Neutral_Base,"bat_a02",280,233,"Guardian",1949,"Tierra_BG2::OnGuardian1"); else bg_monster_set_team .Guardian_1, .Neutral_Base; - + if( .Guardian_2 == 0 ) set .Guardian_2, bg_monster(.Neutral_Base,"bat_a02",287,203,"Guardian",1950,"Tierra_BG2::OnGuardian2"); else @@ -294,7 +294,7 @@ OnWall: OnBuild: for( set .@i, 0; .@i < 16; set .@i, .@i + 1 ) bg_monster 0,"bat_a02",186+.@i,266,"Barricade",1906,"Croix_TV2B::OnWall"; - + setwall "bat_a02",186,266,16,6,1,"bat_a02_c1"; set .MyMobCount,16; end; diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt index 8112be12e..f93821264 100644 --- a/npc/custom/bgqueue/flavius.txt +++ b/npc/custom/bgqueue/flavius.txt @@ -19,7 +19,6 @@ //= 1.5b Adjustments to the team-splitting algorithm [Haruna] //============================================================ - //Tacham, while the script is under testings the original will remain, meaning if you wanna test this you need to disable the other, or they'll conflict. bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{ OnInit: @@ -28,22 +27,21 @@ OnInit: //$@bg_queue_id is cleared after this event ends OnPlayerListReady: - - set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290); + set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290); set $@FlaviusBG1_id2, bg_create_team("bat_b01",390,10); set $@Croix_QueueBG1, queue(); set $@Guill_QueueBG1, queue(); - + queueopt($@Guill_QueueBG1,HQO_OnLogout,"start#bat_b01::OnGuillaumeQuit"); queueopt($@Croix_QueueBG1,HQO_OnLogout,"start#bat_b01::OnCroixQuit"); - + set .@i, 0; - + copyarray .@bg_member[0],$@bg_member[0],$@bg_member_size; copyarray .@bg_member_group[0],$@bg_member_group[0],$@bg_member_size; copyarray .@bg_member_type[0],$@bg_member_type[0],$@bg_member_size; - + freeloop(1); // Counting all participants and determining sizes, condensing .@bg_member_group set .@nogroupcount, 0; @@ -66,7 +64,7 @@ OnPlayerListReady: set .@bg_count[.@j], 1; } } - + // Now, sorting the group arrays from amount of population descending! Bubble sort powers, I call upon thee! // Type doesn't matter here for precedence checks, but also needs to be sorted the same way along with groups for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1) { @@ -84,7 +82,7 @@ OnPlayerListReady: } } } - + // Add the groups to the queues! :D for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1){ if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)){ // Catch'em all and add to the queue! @@ -123,7 +121,7 @@ OnPlayerListReady: set $@FlaviusBG1_Victory, 0; set $@Croix_ScoreBG1, 0; set $@Guill_ScoreBG1, 0; - + bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; donpcevent "OBJ#bat_b01_a::OnKill"; @@ -143,11 +141,11 @@ OnPlayerListReady: disablenpc "Vintenar#bat_b01_bover"; bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; - + /* after warp */ queueopt($@Guill_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnGuillaumeQuit"); queueopt($@Croix_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnCroixQuit"); - + donpcevent "countdown#bat_b01::OnEnable"; end; @@ -180,14 +178,14 @@ OnGuillaumeQuit: queueremove($@Guill_QueueBG1,getcharid(3)); callsub L_OnPlayerQuit; end; - + L_OnPlayerQuit: bg_leave; setd $@bg_delay_var$,gettimetick(2); if( queuesize($@Guill_QueueBG1) == 0 || queuesize($@Croix_QueueBG1) == 0 ) /* todo check score and decide a winner if anyone left */ callsub OnMatchOver; end; - + OnMatchOver: if( $@FlaviusBG1_id1 || $@FlaviusBG1_id2 ) { queuedel($@Croix_QueueBG1); diff --git a/npc/custom/card_remover.txt b/npc/custom/card_remover.txt index e3aa2bb5b..dace8cac0 100644 --- a/npc/custom/card_remover.txt +++ b/npc/custom/card_remover.txt @@ -49,7 +49,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{ close; } set .@cardcount,getequipcardcnt(.@part); - + if (!checkweight(1202,(.@cardcount+1))) { mes "^3355FFJust a minute!"; mes "I can't offer any of my"; @@ -91,7 +91,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{ Zeny -= (.zenycost+(.@cardcount * .percardcost)); delitem 1000,1; delitem 715,1; - + // Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt // First value = Total failure chance (item and cards destroyed) // Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe) diff --git a/npc/custom/etc/floating_rates.txt b/npc/custom/etc/floating_rates.txt index ff3b6e8fa..c207c6275 100644 --- a/npc/custom/etc/floating_rates.txt +++ b/npc/custom/etc/floating_rates.txt @@ -35,7 +35,7 @@ OnHour18: setbattleflag("item_rate_equip",$@drate); //we don't change card drops rate, because these values won't change them anyway atcommand "@reloadmobdb"; - + announce "Current Rune-Midgard rates are: 1."+($@brate-100)+"x 1."+($@jrate-100)+"x 1."+($@drate-100)+"x",bc_all,0xFF6060; end; } diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt index 0d25be9d5..ab1b48c30 100644 --- a/npc/custom/etc/marriage.txt +++ b/npc/custom/etc/marriage.txt @@ -65,7 +65,7 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{ function SF_RetrieveRingF; function SF_RingsAccepted; function SF_StartCeremony; - + if (getpartnerid() > 0) { mes "["+@name$+"]"; mes "You have my blessings, have a wonderful married life."; @@ -81,7 +81,7 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{ mes "to prepare for marriage"; close; } // End official iRO dialog - + if (strcharinfo(0) == $wed_groom$) { SF_Groom(); end; @@ -278,7 +278,7 @@ function SF_RetrieveRingM { mes "Here's the wedding ring for your bride."; if ($@wed_ring) delitem $@wed_ring,1; set $wed_groom_progress,4; - + if ($wed_bride_progress == 4) SF_StartCeremony(); else { @@ -336,7 +336,7 @@ function SF_StartCeremony { OnTimer1000: npctalk "Ladies and Gentlemen, We will now join in holy matrimony these two lovers."; end; - + OnTimer5000: npctalk "Now more than ever, will both of your lives be entwined together as so will be your souls."; end; @@ -344,31 +344,31 @@ OnTimer5000: OnTimer10000: npctalk "You will both honor and cherish each other through the best and worst of times."; end; - + OnTimer15000: npctalk "The safety and well being of your other will now also be your responsibility."; end; - + OnTimer20000: npctalk "May in sickness or good health, your love burn bright like no force can extinguish it."; end; - + OnTimer25000: npctalk "Those here stand witness to these vows bestowed upon you, you must act accordingly to them."; end; - + OnTimer30000: npctalk "Understanding that, we are nothing more but mortals on this earth, but this is our triumph."; end; - + OnTimer35000: npctalk "We here will now join these two mortal entities, and create an immortal love."; end; - + OnTimer40000: npctalk $wed_groom$+", you have accepted to take "+$wed_bride$+" as your lawfully wedded wife,"; end; - + OnTimer45000: npctalk "and you, "+$wed_bride$+", have accepted take "+$wed_groom$+" as your lawfully wedded husband."; end; @@ -440,7 +440,7 @@ prt_church,106,99,3 script Happy Marry 1_F_02,{ mes "Isn't marriage beautiful?"; close; } - + function SF_WedProgress; function SF_Principles; function SF_Procedure; @@ -451,7 +451,7 @@ prt_church,106,99,3 script Happy Marry 1_F_02,{ SF_WedProgress(); end; } - + do { mes "["+@name$+"]"; mes "Marriage... is such a beautiful thing."; @@ -529,7 +529,7 @@ function SF_Register { close; } } - + function SF_WedProgress { if (strcharinfo(0) == $wed_groom$) { mes "["+@name$+"]"; @@ -658,7 +658,7 @@ OnTimer60000: npctalk "Registration timed out. Is it that noone wants to marry "+$@msg$+"..?"; emotion e_hmm; - + set $wed_groom$,""; set $wed_groom_sex, 0; set $wed_bride$,""; @@ -675,7 +675,7 @@ function SF_TryRegister { set @type$, "groom"; if (@bride) set @type$, "bride"; - + mes "["+@name$+"]"; mes "Before registering as "+@type$+", let me check if you meet all the requirements..."; next; @@ -689,7 +689,7 @@ function SF_TryRegister { set @item, 7170; else set @item, 2338; - + if (getequipid(2) != @item) { mes "["+@name$+"]"; mes "You should be wearing a "+getitemname(@item)+" if you want to get married."; @@ -814,12 +814,12 @@ prt_church,94,99,4 script Sister Lisa 1_F_PRIEST,{ function SF_DivorceEnd; function SF_InProgress; - + if ($@divorce_progress==1) { goto SF_InProgress; end; } - + do { mes "["+@name$+"]"; mes "Divorcing can be such a sad event..."; diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt index 82f764977..9c00b67a5 100644 --- a/npc/custom/etc/monster_arena.txt +++ b/npc/custom/etc/monster_arena.txt @@ -195,7 +195,6 @@ L_Exit: } gon_test,56,91,6 duplicate(monsterreferee) Referee#01 1_M_PUBMASTER - // Usher // gon_test,58,94,6 script Usher 4_M_04,{ set @marena,1; @@ -332,7 +331,6 @@ L_Sell: mes "You earned ^0000FF" + @sellearn + "^000000z."; close; - L_NoExp: mes "[Monster Trainer]"; mes "You do not have enough experience."; @@ -761,8 +759,6 @@ OnTouch: gon_test,43,87,5 duplicate(SummonPad) Summon Pad 2 HIDDEN_NPC,2,2 gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 HIDDEN_NPC,2,2 - - // Skill Disabler // gon_test mapflag noskill diff --git a/npc/custom/etc/penal_servitude.txt b/npc/custom/etc/penal_servitude.txt index b83bf3f83..30aaf17e2 100644 --- a/npc/custom/etc/penal_servitude.txt +++ b/npc/custom/etc/penal_servitude.txt @@ -134,7 +134,7 @@ sec_in02,137,57,1 script Overseer 4_M_PAY_SOLDIER,{ delitem 4009,countitem(4009);//Items: Chonchon_Card, delitem 4022,countitem(4022);//Items: Spore_Card, delitem 4048,countitem(4048);//Items: Poison_Spore_Card, - + if (PRISON_Q <= 0 ) goto L_GET_Q; mes "I want you to gather ^FF0000"+PRISON_Q+" Orange Net Mushroom^000000."; @@ -170,7 +170,6 @@ L_GET_Q: close; } - sec_in02 mapflag nomemo sec_in02 mapflag nosave SavePoint sec_in02 mapflag noteleport diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt index 3526cde5c..fd6865a54 100644 --- a/npc/custom/etc/quest_warper.txt +++ b/npc/custom/etc/quest_warper.txt @@ -71,10 +71,10 @@ function script Q_Warpra { mes "Hello,"; mes "I can warp you to any town or dungeon, but you need to unlock them first by visiting us."; mes "What do you need?"; - + if(getarg(0) == 0) callfunc "QWS_MMarray",0; if(getarg(0) == 1) callfunc "QWS_MMarray",1; - + set @MMenu,select(@Mmenulist$[0],@Mmenulist$[1],@Mmenulist$[2],@Mmenulist$[3],@Mmenulist$[4],@Mmenulist$[5],@Mmenulist$[6],@Mmenulist$[7],@Mmenulist$[8],@Mmenulist$[9],@Mmenulist$[10],@Mmenulist$[11]); switch(@Mmenuref[@MMenu-1]+1){ @@ -167,7 +167,7 @@ Setprice: if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000"; if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000"; mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000"; - + switch(select("Basic - Warps","Advanced - Warps","Overseas - Warps","Basic Dungeon warp fee","Advanced Dungeon warp fee","Overseas Dungeon warp fee","Full Healing","Part Healing","Storage","Guild Storage","Back","Exit")) { case 1: next; @@ -388,7 +388,7 @@ L_heal_Part: if (@healchoice == 2) callsub PHeal,1,0; if (@healchoice == 3) callsub PHeal,0,1; goto L_End; - + PHeal: next; set @Hp, MaxHp-Hp; @@ -499,7 +499,7 @@ L_GStorage: close2; guildopenstorage; end; - + L_End: close; end; @@ -523,7 +523,7 @@ L_NoUnlock: mes "I don't unlock this location, my assistant deeper in the dungeon will unlock this place."; close; end; - + //=========================Short=On=Zeny=========================== L_Short_on_zeny: next; @@ -536,7 +536,7 @@ L_Short_on_zeny: } close; end; - + //===========================Stamp=Card============================ stampcard: // Counting of the ammount of places you have unlocked @@ -978,7 +978,6 @@ function script QWS_Tarray { set @Tmenuref[@Tj],57005; // 57005='dead' in hex return; - //----------------Make Town Menu Function function QWS_Make_Town_Menu { @@ -1450,7 +1449,6 @@ function script QWS_Darray { set @Dmenuref[@Dj],57005; // 57005='dead' in hex return; - //----------------Make Dungeon Menu Function function QWS_Make_Dungeon_Menu { @@ -1525,7 +1523,7 @@ function script QWS_DLarray { function script QWS_Dungeon_Warpra { function QWS_D_getbin; function QWS_D_setbin; - + if ((QWS_D_getbin(getarg(0)) == 0) && (getarg(1) != "")) { mes "[Warpra]"; mes getarg(1)+" unlocked!"; @@ -1538,7 +1536,6 @@ function script QWS_Dungeon_Warpra { debugmes "QWS_Dungeon_Warpra error, improper syntax?"; return; - function QWS_D_setbin { set @tempsetbindata,1; if (getarg(0) == 0) goto binset; @@ -1571,7 +1568,7 @@ binget: function script QWS_Town_Warpra { function QWS_T_getbin; function QWS_T_setbin; - + if ((QWS_T_getbin(getarg(0)) == 0) && (getarg(1) != "")) { mes "[Warpra]"; mes getarg(1)+" unlocked!"; diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt index 060228317..078ce5137 100644 --- a/npc/custom/etc/stock_market.txt +++ b/npc/custom/etc/stock_market.txt @@ -431,7 +431,7 @@ S_Buy: mes $S10N$; next; menu "Continue",-,"Cancel",S_Start; - + mes "Enter the name of the share company"; mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply."; set @buyname$,"0"; @@ -645,7 +645,6 @@ ACCS11: next; goto S_Start; - // GM MENU // GM_Menu: mes "[Stock Market]"; diff --git a/npc/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt index 5a94bc913..4ed24012d 100644 --- a/npc/custom/events/valentinesdayexp.txt +++ b/npc/custom/events/valentinesdayexp.txt @@ -200,7 +200,7 @@ prt_castle,54,34,4 script Carl Orleans#val1 1_M_01,{ mes "Yes? What can I cook for you?"; next; menu "Black handmade Chocolate, please",-,"I want a White handmade Chocolate...",M_WHITE,"I'm lost, sorry to bother you.",M_End; - + mes "[Carl Orleans]"; mes "Well, I just might be able to fulfill your needs..."; next; diff --git a/npc/custom/item_signer.txt b/npc/custom/item_signer.txt index 243ca29c2..ee03c16eb 100644 --- a/npc/custom/item_signer.txt +++ b/npc/custom/item_signer.txt @@ -12,7 +12,6 @@ //============================================================ prt_in,24,61,7 script Perchik 1_M_01,{ - setarray .@item[0],644,3; // Item requirements: <ID>,<Count>{,...} (0 to disable) setarray .@cost[0],0,5000; // Zeny requirements: <base price>,<price per refine> diff --git a/npc/custom/quests/kaho_balmung.txt b/npc/custom/quests/kaho_balmung.txt index 4e598922d..ff581825b 100644 --- a/npc/custom/quests/kaho_balmung.txt +++ b/npc/custom/quests/kaho_balmung.txt @@ -12,10 +12,9 @@ //============================================================ prontera,158,356,4 script Royal Messenger 8W_SOLDIER,{ - setarray .@Req1[0],1161,999,120,984,10,996,10,994,10,995,10,997,10; setarray .@Req2[0],5013,2298,1,1001,10,996,10,994,10,995,10,997,10; - + mes "[Royal Messenger]"; mes "Welcome to Prontera."; mes "I am the messenger in charge of the Royal Quests."; diff --git a/npc/custom/quests/questboard.txt b/npc/custom/quests/questboard.txt index 3e7a90d9d..e4336a67a 100644 --- a/npc/custom/quests/questboard.txt +++ b/npc/custom/quests/questboard.txt @@ -16,7 +16,6 @@ //============================================================ prontera,129,215,5 script Questboard 4_BOARD3,{ - if(c_run==1){ mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + currentquest$ + "_collectionname$")+"^000000"; @@ -40,7 +39,7 @@ prontera,129,215,5 script Questboard 4_BOARD3,{ } goto L_checkitems; } - + if(h_run==1){ mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + currentquest$ + "_huntingname$")+"^000000"; @@ -69,114 +68,112 @@ prontera,129,215,5 script Questboard 4_BOARD3,{ } goto L_checkmobs; } - + L_questmenu: mes "[^FF7700Questboard^000000]"; mes "Select category:"; next; - + switch(select((.collection)?"Collection Quests":"", - (.hunting)?"Hunting Quests":"", - "Exit")) { - -case 1: - set .@collectmenu$, ""; - for( set .@i,0; .@i < .collectionquestcount; set .@i,.@i+1) { - if (.@i) set .@collectmenu$,.@collectmenu$+":"; - set .@collectmenu$, .@collectmenu$ + "[" + getd("." +(.@i+1)+"_collectionmin") + " - " + getd("." +(.@i+1)+"_collectionmax") + "] " + getd("." + (.@i+1) + "_collectionname$"); - } - set .@selection,select(.@collectmenu$); - if(gettimetick(2) < getd(.@selection + "_collection_delay")){ - set .@time_left, getd(.@selection + "_collection_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_collectionname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_collectionitem")); set .@j,.@j+2) { - mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_collectionprize"))?getitemname(getd("." +.@selection+"_collectionprize"))+" - "+getd("." +.@selection+"_collectionamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_collectionzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+1+"]")+"^000000"; - next; - if(select("Accept:Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set c_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - -case 2: - set .@huntmenu$, ""; - for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) { - if (.@i) set .@huntmenu$,.@huntmenu$+":"; - set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$"); - } - set .@selection,select(.@huntmenu$); - if(gettimetick(2) < getd(.@selection + "_hunting_delay")){ - set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) { - mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000"; - next; - if(select("Accept:Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax")) - { + (.hunting)?"Hunting Quests":"", + "Exit")) { + case 1: + set .@collectmenu$, ""; + for( set .@i,0; .@i < .collectionquestcount; set .@i,.@i+1) { + if (.@i) set .@collectmenu$,.@collectmenu$+":"; + set .@collectmenu$, .@collectmenu$ + "[" + getd("." +(.@i+1)+"_collectionmin") + " - " + getd("." +(.@i+1)+"_collectionmax") + "] " + getd("." + (.@i+1) + "_collectionname$"); + } + set .@selection,select(.@collectmenu$); + if(gettimetick(2) < getd(.@selection + "_collection_delay")){ + set .@time_left, getd(.@selection + "_collection_delay")-gettimetick(2); + mes "[^FF7700Questboard^000000]"; + if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; + if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; + mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; + close; + } mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set h_run, 1; - set currentquest$, .@selection; - close; - } - else - { + mes "^0000FF"+getd("." + .@selection + "_collectionname$")+"^000000"; + mes "--------------------------------"; + for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_collectionitem")); set .@j,.@j+2) { + mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000"; + } + mes "--------------------------------"; + mes "[Reward]"; + mes "Item: ^0000FF"+((getd("." +.@selection+"_collectionprize"))?getitemname(getd("." +.@selection+"_collectionprize"))+" - "+getd("." +.@selection+"_collectionamount")+" ea.^000000":"Nothing^000000"); + mes "Zeny: ^0000FF"+getd("." +.@selection+"_collectionzeny")+"^000000"; + mes "Base EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+0+"]")+"^000000"; + mes "Job EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+1+"]")+"^000000"; + next; + if(select("Accept:Decline") == 2){ + close; + } + if(BaseLevel >= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax")) + { + mes "[^FF7700Questboard^000000]"; + mes "Quest accepted."; + set c_run, 1; + set currentquest$, .@selection; + close; + } + else + { + mes "[^FF7700Questboard^000000]"; + mes "You don't have the required"; + mes "level to do this quest."; + close; + } + + case 2: + set .@huntmenu$, ""; + for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) { + if (.@i) set .@huntmenu$,.@huntmenu$+":"; + set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$"); + } + set .@selection,select(.@huntmenu$); + if(gettimetick(2) < getd(.@selection + "_hunting_delay")){ + set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2); + mes "[^FF7700Questboard^000000]"; + if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; + if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; + mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; + close; + } mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; + mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000"; + mes "--------------------------------"; + for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) { + mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; + } + mes "--------------------------------"; + mes "[Reward]"; + mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000"); + mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000"; + mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000"; + mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000"; + next; + if(select("Accept:Decline") == 2){ + close; + } + if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax")) + { + mes "[^FF7700Questboard^000000]"; + mes "Quest accepted."; + set h_run, 1; + set currentquest$, .@selection; + close; + } + else + { + mes "[^FF7700Questboard^000000]"; + mes "You don't have the required"; + mes "level to do this quest."; + close; + } + case 3: close; } - -case 3: - close; - } - + L_checkitems: for( set .@k,0; .@k < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@k,.@k+2) { if(countitem(getd("."+currentquest$+"_collectionitem["+.@k+"]"))>=getd("."+currentquest$+"_collectionitem["+(.@k+1)+"]")){ @@ -200,7 +197,7 @@ L_checkitems: set currentquest$, ""; set c_run, 0; close; - + L_checkmobs: set .@goal, (getarraysize(getd("."+currentquest$+"_huntingmob"))/2); for(set .@i, 1; .@i < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@i,.@i+2){ @@ -214,7 +211,7 @@ L_checkmobs: } goto L_checkmobs2; } - + L_checkmobs2: if(.@checkmonster<.@goal){ mes "[^FF7700Questboard^000000]"; @@ -248,33 +245,30 @@ OnNPCKillEvent: continue; } end; - -OnInit: +OnInit: function AddCollection; function AddHunting; //Activate/Deactive quest categories here set .collection, 1; set .hunting, 1; - + //Quest Delay (seconds) //24 hours = 86400 seconds set .quest_delay, 0; - + //Checks if quests are loaded (prevents out of index) if(.questsloaded==1) end; - set .questsloaded, 1; - - //Add Collection Quests here - //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...); - - - //Add Hunting Quests here - //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...); - - end; - + set .questsloaded, 1; + + //Add Collection Quests here + //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...); + + //Add Hunting Quests here + //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...); + + end; function AddCollection { set .collectionquestcount,.collectionquestcount+1; diff --git a/npc/custom/quests/tha_statues.txt b/npc/custom/quests/tha_statues.txt index c4787fcd3..00a7c9a8f 100644 --- a/npc/custom/quests/tha_statues.txt +++ b/npc/custom/quests/tha_statues.txt @@ -38,7 +38,6 @@ done: mes "[Thalos]"; mes "Go search the 2nd Statue!"; close; - } tha_t09,84,99,4 script Mediane HIDDEN_NPC,{ diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt index 76790221b..d4e058fb4 100644 --- a/npc/custom/quests/thq/THQS_QuestNPC.txt +++ b/npc/custom/quests/thq/THQS_QuestNPC.txt @@ -66,7 +66,7 @@ N_NewQuest: mes "Would you like me to asign you a Quest?"; next; menu "Yes I would like a Quest Please.",-,"Sorry Guy no time today.",N_NoTime; - + mes "[Guy]"; mes "Ok lets see what quest we can give you today."; mes "The quest names in ^FF0000This Colour^000000 mean that they are more challanging then the rest, but have better rewards."; |