//===== Hercules Script ====================================== //= Dungeon Teleport Service //===== By: ================================================== //= Evera //===== Current Version: ===================================== //= 2.9 //===== Description: ========================================= //= [Official Conversion] //= Cool Event Corp NPCs vs. Kafra Dungeon Teleport Service and voting system. //= This is a special event on official servers where there's a //= big competition between Kafra Corp. and Cool Event Corp. //= To warp to selected levels of certain dungeons. // // Global Variables in use: // Voting Time check: $DTS_Time // Cool Event Corp. Vote Numbers: $DTS_JondaVotes // Kafra Vote Numbers: $DTS_KafraVotes // Winner: $DTS_Result // Teleport Service Period Check: $DTS_PeriodCheck // Kafra Points: $DTS_KafraWins // Cool Event Corp. Points: $DTS_JondaWins // Setitem Check: $DTS_VoteCount // 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] //= 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] //= 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.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] //= 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] //= 2.5 Converted from Aegis file. (11.3) [L0ne_W0lf] //= 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: if ($dts) { set $dts,0; set $dtsvote,0; set $dtsday,0; } initnpctimer; end; OnEnable: initnpctimer; end; OnTimer60000: // A part that keeps the same status even after a server shut down if ($DTS_Result == 1) { if ($DTS_JondaWins == 0) { donpcevent "Vote Timer2#ein::OnEnable"; } else if ($DTS_JondaWins == 1) { if ($DTS_KafraWins < 2) { donpcevent "Vote Timer2#ein::OnEnable"; } else { donpcevent "Vote Timer3#ein::OnEnable"; } } else { if ($DTS_KafraWins < 2) { donpcevent "Vote Timer2#ein::OnEnable"; } else { donpcevent "Vote Timer3#ein::OnEnable"; } } stopnpctimer; } else if ($DTS_Result == 2) { if ($DTS_JondaWins == 0) { donpcevent "Vote Timer2#ein::OnEnable"; } else if ($DTS_JondaWins == 1) { if ($DTS_KafraWins < 2) { donpcevent "Vote Timer2#ein::OnEnable"; } else { donpcevent "Vote Timer4#ein::OnEnable"; } } else { if ($DTS_KafraWins < 2) { donpcevent "Vote Timer2#ein::OnEnable"; } else { donpcevent "Vote Timer4#ein::OnEnable"; } } stopnpctimer; } else { if ($DTS_Time == 1440) { if (($DTS_JondaVotes >= 20) || ($DTS_KafraVotes >= 20)) { if ($DTS_JondaVotes > $DTS_KafraVotes) { if ($DTS_JondaWins == 0) { if ($DTS_KafraWins < 2) { set $DTS_KafraWins,$DTS_KafraWins+1; set $DTS_Result,1; set $DTS_Time,0; donpcevent "Scrutiny Association#6::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } else if ($DTS_KafraWins == 2) { set $DTS_Result,1; set $DTS_Time,0; donpcevent "Scrutiny Association#6::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } } else if ($DTS_JondaWins == 1) { if ($DTS_KafraWins < 2) { set $DTS_KafraWins,$DTS_KafraWins+1; set $DTS_Result,1; set $DTS_Time,0; donpcevent "Scrutiny Association#6::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } else { set $DTS_Time,0; set $DTS_Result,1; donpcevent "Scrutiny Association#6::OnEnable"; donpcevent "Vote Timer3#ein::OnEnable"; } } else { if ($DTS_KafraWins < 2) { set $DTS_KafraWins,$DTS_KafraWins+1; set $DTS_Result,1; set $DTS_Time,0; donpcevent "Scrutiny Association#6::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } else { set $DTS_Result,1; set $DTS_Time,0; donpcevent "Scrutiny Association#6::OnEnable"; donpcevent "Vote Timer3#ein::OnEnable"; } } } else { if ($DTS_KafraWins == 0) { if ($DTS_JondaWins < 2) { set $DTS_JondaWins,$DTS_JondaWins+1; set $DTS_Result,2; set $DTS_Time,0; donpcevent "Scrutiny Association#7::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } else { set $DTS_Result,2; set $DTS_Time,0; donpcevent "Scrutiny Association#7::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } } else if ($DTS_KafraWins == 1) { if ($DTS_JondaWins < 2) { set $DTS_JondaWins,$DTS_JondaWins+1; set $DTS_Result,2; set $DTS_Time,0; donpcevent "Scrutiny Association#7::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } else { set $DTS_Result,2; set $DTS_Time,0; donpcevent "Scrutiny Association#7::OnEnable"; donpcevent "Vote Timer4#ein::OnEnable"; } } else { if ($DTS_JondaWins < 2) { set $DTS_JondaWins,$DTS_JondaWins+1; set $DTS_Result,2; set $DTS_Time,0; donpcevent "Scrutiny Association#7::OnEnable"; donpcevent "Vote Timer2#ein::OnEnable"; } else { set $DTS_Result,2; set $DTS_Time,0; donpcevent "Scrutiny Association#7::OnEnable"; donpcevent "Vote Timer4#ein::OnEnable"; } } } } else { set $DTS_Result,3; set $DTS_Time,0; donpcevent "Vote Timer#ein::OnEnable"; } } else { set $DTS_Time,$DTS_Time+1; donpcevent "Vote Timer#ein::OnEnable"; } } end; } einbroch,245,71,0 script Vote Timer2#ein -1,{ OnEnable: initnpctimer; end; OnTimer60000: stopnpctimer; if ($DTS_PeriodCheck == 8640) { set $DTS_PeriodCheck,0; set $DTS_Result,0; set $DTS_KafraVotes,0; set $DTS_JondaVotes,0; set $DTS_VoteCount,$DTS_VoteCount+1; donpcevent "Vote Timer#ein::OnEnable"; } else { set $DTS_PeriodCheck,$DTS_PeriodCheck+1; donpcevent "Vote Timer2#ein::OnEnable"; } end; } einbroch,246,71,0 script Vote Timer3#ein -1,{ OnEnable: initnpctimer; end; OnTimer60000: stopnpctimer; if ($DTS_PeriodCheck == 8640) { set $DTS_PeriodCheck,0; //Global Variable set $DTS_Result,0; //Global Variable set $DTS_KafraVotes,0; //Global Variable set $DTS_JondaVotes,0; //Global Variable set $DTS_JondaWins,$DTS_JondaWins-1; set $DTS_VoteCount,$DTS_VoteCount+1; donpcevent "Vote Timer#ein::OnEnable"; } else { set $DTS_PeriodCheck,$DTS_PeriodCheck+1; //Global Variable donpcevent "Vote Timer3#ein::OnEnable"; } end; } einbroch,247,71,0 script Vote Timer4#ein -1,{ OnEnable: initnpctimer; end; OnTimer60000: stopnpctimer; if ($DTS_PeriodCheck == 8640) { set $DTS_PeriodCheck,0; //Global Variable set $DTS_Result,0; //Global Variable set $DTS_KafraVotes,0; //Global Variable set $DTS_JondaVotes,0; //Global Variable set $DTS_KafraWins,$DTS_KafraWins-1; set $DTS_VoteCount,$DTS_VoteCount+1; donpcevent "Vote Timer#ein::OnEnable"; } else { set $DTS_PeriodCheck,$DTS_PeriodCheck+1; //Global Variable donpcevent "Vote Timer4#ein::OnEnable"; } end; } // Voting Poll NPCs Kafras and Cool Corp. // Cool Event Staff should actually be Cool Event Voting Staff // names had to be shortened to keep them unique. function script F_VoteKafra { callfunc "F_ClearGarbage"; //Clear outdated, unused variables switch(getarg(0)){ case 1: cutin "kafra_01",2; break; case 2: cutin "kafra_02",2; break; case 3: cutin "kafra_03",2; break; case 4: cutin "kafra_04",2; break; case 5: cutin "kafra_05",2; break; case 6: cutin "kafra_06",2; break; case 7: cutin "kafra_07",2; break; case 8: cutin "kafra_08",2; break; case 9: cutin "kafra_09",2; break; } mes "[Kafra Voting Staff]"; mes "Greetings, adventurer."; mes "As you may be aware, we"; mes "are holding an election to"; mes "determine which company will"; mes "provide the Dungeon Teleport"; mes "Service. How may I help you?"; next; switch(select("Reason for Election:Cast a Vote:Use Teleport Service:Cancel")) { case 1: mes "[Kafra Voting Staff]"; mes "Cool Event Corp and the"; mes "Kafra Corporation have both"; mes "been planning to provide a"; mes "Teleport Service to dungeons."; next; mes "[Kafra Voting Staff]"; mes "But due to technological"; mes "limitations, only one company"; mes "can serve as provider for this"; mes "Dungeon Teleport Service at a"; mes "time. There, both companies have agreed to hold special elections."; next; mes "[Kafra Voting Staff]"; mes "Each company has its own"; mes "policies and guarantees in"; mes "regards to the Dungeon Teleport Service, and in this election, the"; mes "customers will ultimately decide and choose what's best for them."; next; mes "[Kafra Voting Staff]"; mes "For now, the Dungeon"; mes "Teleport Service will be"; mes "provided in a series of trial periods. This way, customers can"; mes "see the benefits of both companies before making the final decision."; next; mes "[Kafra Voting Staff]"; mes "If you are qualified,"; mes "please vote in each election"; mes "to decide which company will"; mes "provide the Dungeon Teleport"; mes "Service for the next trial period. Thank you for your support~"; break; case 2: //if (lhz_boss < 17) { // mes "[Kafra Voting Staff]"; // mes "Oh, I'm so sorry, but you"; // mes "are currently not qualified to"; // mes "vote. For voting qualification"; // mes "information, please visit the"; // mes "Al De Baran Kafra Headquarters."; // mes "Thank you and have a nice day."; // close2; // cutin "",255; // end; //} //else { if ($DTS_Result == 0) { if (lhz_vote <= $DTS_VoteCount) { mes "[Kafra Voting Staff]"; mes "We, the Kafra Corporation,"; mes "are planning to provide the"; mes "Dungeon Teleport Service"; mes "to the following dungeons..."; next; mes " "; mes " "; if ($DTS_KafraWins == 0) { mes "^FF0000Toy Factory, Level 2^000000"; } else if ($DTS_KafraWins == 1) { mes "^FF0000Toy Factory, Level 2^000000"; mes "^FF0000Al De Baran Clock Tower, Level 3 ^000000"; } else { mes "^FF0000Toy Factory, Level 2^000000"; mes "^FF0000Al De Baran Clock Tower, Level 3 Lava Dungeon, Level 2^000000"; } next; mes "[Kafra Voting Staff]"; mes "If you are interested in"; mes "a Teleport Service to this"; mes "area, then please vote for"; mes "us. Would you like to vote"; mes "for the Kafra Corporation?"; next; switch(select("No:Yes")) { case 1: mes "[Kafra Voting Staff]"; mes "I understand. But if you"; mes "happen to change your mind,"; mes "you are welcome to come back"; mes "at any time. Thank you and"; mes "have a good day, adventurer."; break; case 2: set lhz_vote,$DTS_VoteCount+1; set $DTS_KafraVotes,$DTS_KafraVotes+1; mes "[Kafra Voting Staff]"; mes "Thanks for your vote!"; mes "We'll continue to do our best"; mes "to provide the highest quality"; mes "service to our customers. Have"; mes "a good day and remember that the Kafra service is on your side~"; break; } } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you've "; mes "already participated in"; mes "this election. When the next"; mes "election comes, you will be"; mes "able to vote once again."; mes "Thank you for your support~"; } } else if ($DTS_Result == 3) { if (lhz_vote <= $DTS_VoteCount) { mes "[Kafra Voting Staff]"; mes "After totalling the number of"; mes "votes from the last election,"; mes "we have concluded that the"; mes "minimum voter participation"; mes "condition was not satisfied."; next; mes "[Kafra Voting Staff]"; mes "Therefore, another election to"; mes "determine which company will"; mes "provide the Dungeon Teleport"; mes "Service will be held. The Kafra"; mes "Corporation will teleport to"; mes "the following dungeons..."; next; mes " "; mes " "; if ($DTS_KafraWins == 0) { mes "FF0000Toy Factory, Level 2^000000"; } else if ($DTS_KafraWins == 1) { mes "^FF0000Toy Factory, Level 2^000000"; mes "^FF0000Al De Baran Clock Tower, Level 3 ^000000"; } else { mes "^FF0000Toy Factory, Level 2^000000"; mes "^FF0000Al De Baran Clock Tower, Level 3 Lava Dungeon, Level 2^000000"; } next; mes "[Kafra Voting Staff]"; mes "If you are interested in"; mes "a Teleport Service to these"; mes "areas, then please vote for"; mes "us. Would you like to vote"; mes "for the Kafra Corporation?"; next; switch(select("No:Yes")) { case 1: mes "[Kafra Voting Staff]"; mes "I understand. But if you"; mes "happen to change your mind,"; mes "you are welcome to come back"; mes "at any time. Thank you and"; mes "have a good day, adventurer."; break; case 2: set lhz_vote,$DTS_VoteCount+1; set $DTS_KafraVotes,$DTS_KafraVotes+1; mes "[Kafra Voting Staff]"; mes "Thanks for your vote!"; mes "We'll continue to do our best"; mes "to provide the highest quality"; mes "service to our customers. Have"; mes "a good day and remember that the Kafra service is on your side~"; break; } } else { mes "[Kafra Voting Staff]"; mes "After totalling the number of"; mes "votes from the last election,"; mes "we have concluded that the"; mes "minimum voter participation"; mes "condition was not satisfied."; next; mes "[Kafra Voting Staff]"; mes "Therefore, another election to"; mes "determine which company will"; mes "provide the Dungeon Teleport"; mes "Service will be held. However,"; mes "since you've already voted, you cannot vote again in this election."; next; mes "[Kafra Voting Staff]"; mes "Your participation in these"; mes "elections is much appreciated,"; mes "and we encourage you to vote"; mes "again during the next election."; mes "Thank you and have a nice day~"; } } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but there are"; mes "no elections taking place at"; mes "this time. When the polls are"; mes "open, we encourage you to take"; mes "part and voice your opinions."; mes "Thank you for your support~"; } //} break; case 3: if ($DTS_Result == 2) { mes "[Kafra Voting Staff]"; mes "Thank you for choosing the"; mes "Dungeon Teleport Service."; mes "Please keep in mind that the"; mes "Free Warp Tickets and Kafra"; mes "Special Reserve Points do not"; mes "apply in this special service."; next; if ($DTS_KafraWins == 0) { switch(select("Toy Factory, Level 2 -> 4,000 z:Cancel")) { case 1: if (Zeny >= 4000) { cutin "",255; Zeny -= 4000; warp "xmas_dun02",130,123; end; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you don't"; mes "have enough money to pay"; mes "the 4,000 zeny fee to teleport"; mes "to the Toy Factory. Please"; mes "check your funds again."; } break; case 2: mes "[Kafra Voting Staff]"; mes "We, here at Kafra Corporation,"; mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; break; } } else if ($DTS_KafraWins == 1) { switch(select("Toy Factory, Level 2 -> 4,000 z:Clock Tower, Level 3 -> 4,000 z:Cancel")) { case 1: if (Zeny >= 4000) { Zeny -= 4000; cutin "kafra_09",255; warp "xmas_dun02",130,123; end; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you don't"; mes "have enough money to pay"; mes "the 4,000 zeny fee to teleport"; mes "to the Toy Factory. Please"; mes "check your funds again."; } break; case 2: if (Zeny >= 4000) { Zeny -= 4000; cutin "kafra_09",255; warp "alde_dun03",265,22; end; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you don't"; mes "have enough money to pay"; mes "the 4,000 zeny fee to teleport"; mes "to the Clock Tower. Please"; mes "check your funds again."; } break; case 3: mes "[Kafra Voting Staff]"; mes "We, here at Kafra Corporation,"; mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; break; } } else { 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) { Zeny -= 4000; cutin "kafra_09",255; warp "xmas_dun02",130,123; end; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you don't"; mes "have enough money to pay"; mes "the 4,000 zeny fee to teleport"; mes "to the Toy Factory. Please"; mes "check your funds again."; } break; case 2: if (Zeny >= 4000) { Zeny -= 4000; cutin "kafra_09",255; warp "alde_dun03",265,22; end; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you don't"; mes "have enough money to pay"; mes "the 4,000 zeny fee to teleport"; mes "to the Clock Tower. Please"; mes "check your funds again."; } break; case 3: if (Zeny >= 4000) { Zeny -= 4000; cutin "kafra_09",255; warp "mag_dun02",47,40; end; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but you don't"; mes "have enough money to pay"; mes "the 4,000 zeny fee to teleport"; mes "to the Lava Dungeon. Please"; mes "check your funds again."; } break; case 4: mes "[Kafra Voting Staff]"; mes "We, here at Kafra Corporation,"; mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; break; } } } else if ($DTS_Result == 1) { mes "[Kafra Voting Staff]"; mes "I'm sorry, but because of"; mes "the results from the most"; mes "recent election, Cool Event"; mes "Corp. is currently handling"; mes "the Dungeon Teleport Service. We apologize for the inconvenience."; } else { mes "[Kafra Voting Staff]"; mes "I'm sorry, but the"; mes "Dungeon Teleport Service"; mes "is not active during the voting"; mes "period. Once the election is"; mes "over, the Dungeon Teleport"; mes "Service will become available."; } break; case 4: mes "[Kafra Voting Staff]"; mes "We, here at Kafra Corporation,"; mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; break; } close2; cutin "",255; end; } yuno,162,191,4 script Kafra Voting Staff#yuno 4_F_KAFRA9,{ callfunc "F_VoteKafra",9; } prontera,164,125,4 script Kafra Voting Staff#prt 4_F_KAFRA2,{ callfunc "F_VoteKafra",2; } moc_ruins,97,133,4 script Kafra Voting Staff#moc 4_F_KAFRA2,{ callfunc "F_VoteKafra",2; } geffen,122,37,4 script Kafra Voting Staff#gef 4_F_KAFRA2,{ callfunc "F_VoteKafra",2; } payon,158,182,4 script Kafra Voting Staff#pay 4_F_KAFRA2,{ callfunc "F_VoteKafra",2; } alberta,119,70,4 script Kafra Voting Staff#alb 4_F_KAFRA2,{ callfunc "F_VoteKafra",2; } aldebaran,145,102,4 script Kafra Voting Staff#alde 4_F_KAFRA2,{ callfunc "F_VoteKafra",2; } lighthalzen,163,60,4 script Kafra Voting Staff#lght 4_F_KAFRA9,{ callfunc "F_VoteKafra",9; } - script Cool Event Staff::VotingStaffCCE 4_M_ZONDAMAN,{ callfunc "F_ClearGarbage"; //Clear outdated, unused variables cutin "zonda_01",2; mes "[Cool Event Corp. Voting Staff]"; mes "Hello! Don't forget to make"; mes "your voice be heard and make"; mes "sure you vote in the elections"; mes "between Cool Event Corp. and"; mes "Kafra Corporation for control of the Dungeon Teleport Service!"; next; switch(select("Reason for Election:Cast a Vote:Use Teleport Service:Cancel")) { case 1: mes "[Cool Event Corp. Voting Staff]"; mes "Cool Event Corp. has been"; mes "planning to provide a new"; mes "Dungeon Teleport Service to"; mes "its customers, a service not"; mes "already provided by the Kafra"; mes "Corporation. However..."; next; mes "[Cool Event Corp. Voting Staff]"; mes "Kafra Corporation, which"; mes "already monopolizes the"; mes "public teleportation market,"; mes "actually also had plans to"; mes "provide a similar service."; next; mes "[Cool Event Corp. Voting Staff]"; mes "Because of technological"; mes "limitations, only one company"; mes "can be chosen as the provider"; mes "of this Dungeon Teleport Service. Hence, we will let the customers"; mes "decide through these elections."; next; mes "[Cool Event Corp. Voting Staff]"; mes "Multiple elections will be"; mes "held so that our customers"; mes "can test out the special services of each company for themselves."; mes "However, keep in mind that you must be eligible in order to vote."; next; mes "[Cool Event Corp. Voting Staff]"; mes "For voter eligibility"; mes "details, please visit our"; mes "headquarters in the city of"; mes "Lighthalzen located in the"; mes "Schwaltzvalt Republic."; mes "Thank you for your time."; break; case 2: //if (lhz_boss < 17) { // mes "[Cool Event Corp. Voting Staff]"; // mes "I'm sorry, but you are not"; // mes "eligible to vote at this time."; // mes "Please visit our headquarters"; // mes "in Lighthalzen for information"; // mes "related to acquiring voting rights. Thank you for your time."; // close2; // cutin "zonda_01",255; // end; //} //else { if ($DTS_Result == 0) { if (lhz_vote <= $DTS_VoteCount) { mes "[Cool Event Corp. Voting Staff]"; mes "Cool Event Corp.,"; mes "if chosen to provide the"; mes "Dungeon Teleport Service,"; mes "will teleport adventurers to"; mes "the following dungeons..."; next; mes " "; mes " "; if ($DTS_JondaWins == 0) { mes "^FF0000Byalan Dungeon, Level 3^000000"; } else if ($DTS_JondaWins == 1) { mes "^FF0000Byalan Dungeon, Level 3^000000"; mes "^FF0000Clock Tower, 3rd Floor^000000"; } else { mes "^FF0000Byalan Dungeon, Level 3^000000"; mes "^FF0000Clock Tower, 3rd Floor^000000"; mes "^FF0000Glast Heim Entrance^000000"; } next; mes "[Cool Event Corp. Voting Staff]"; mes "If you are interested in"; mes "these destinations, then"; mes "it would be in your best"; mes "interest to vote for us."; mes "Would you like to vote"; mes "for Cool Event Corp.?"; next; switch(select("No:Yes")) { case 1: mes "[Cool Event Corp. Voting Staff]"; mes "Ah, I see... Well, if you"; mes "happen to change your mind,"; mes "feel free to come back and"; mes "cast your vote for Cool Event"; mes "Corp, alright? Have a nice day~"; break; case 2: set lhz_vote,$DTS_VoteCount+1; set $DTS_JondaVotes,$DTS_JondaVotes+1; mes "[Cool Event Corp. Voting Staff]"; mes "Thank you for your vote!"; mes "It's customers like you who"; mes "ensure the success and great"; mes "service that you have come to"; mes "expect from Cool Event Corp."; mes "Thank you and have a nice day~"; break; } } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you've"; mes "already cast your vote"; mes "in this election. However,"; mes "please don't let that stop you"; mes "from voting for Cool Event"; mes "Corp. in the next election~"; } } else if ($DTS_Result == 3) { if (lhz_vote <= $DTS_VoteCount) { mes "[Cool Event Corp. Voting Staff]"; mes "Unfortunately, there wasn't"; mes "enough voter turnout in the"; mes "last election, so we're holding"; mes "another election to determine"; mes "which company will provide the"; mes "Dungeon Teleport Service."; next; mes "[Cool Event Corp. Voting Staff]"; mes "Cool Event Corp.,"; mes "if chosen to provide the"; mes "Dungeon Teleport Service,"; mes "will teleport adventurers to"; mes "the following dungeons..."; next; mes " "; mes " "; if ($DTS_JondaWins == 0) { mes "^FF0000Byalan Dungeon, Level 3^000000"; } else if ($DTS_JondaWins == 1) { mes "^FF0000Byalan Dungeon, Level 3^000000"; mes "^FF0000Clock Tower, 3rd Floor^000000"; } else { mes "^FF0000Byalan Dungeon, Level 3^000000"; mes "^FF0000Clock Tower, 3rd Floor^000000"; mes "^FF0000Glast Heim Entrance^000000"; } next; mes "[Cool Event Corp. Voting Staff]"; mes "If you are interested in"; mes "these destinations, then"; mes "it would be in your best"; mes "interest to vote for us."; mes "Would you like to vote"; mes "for Cool Event Corp.?"; next; switch(select("No:Yes")) { case 1: mes "[Cool Event Corp. Voting Staff]"; mes "Ah, I see... Well, if you"; mes "happen to change your mind,"; mes "feel free to come back and"; mes "cast your vote for Cool Event"; mes "Corp, alright? Have a nice day~"; break; case 2: set lhz_vote,$DTS_VoteCount+1; set $DTS_JondaVotes,$DTS_JondaVotes+1; mes "[Cool Event Corp. Voting Staff]"; mes "Thank you for your vote!"; mes "It's customers like you who"; mes "ensure the success and great"; mes "service that you have come to"; mes "expect from Cool Event Corp."; mes "Thank you and have a nice day~"; break; } } else { mes "[Cool Event Corp. Voting Staff]"; mes "Unfortunately, there wasn't"; mes "enough voter turnout in the"; mes "last election, so we're holding"; mes "another election to determine"; mes "which company will provide the"; mes "Dungeon Teleport Service."; next; mes "[Cool Event Corp. Voting Staff]"; mes "We appreciate that"; mes "you've already participated"; mes "in this second election by"; mes "casting your vote. Thank"; mes "you for your support~"; } } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but an election is"; mes "not currently being held at this time. Please come and cast your"; mes "vote at the next election to decide which company will provide the"; mes "Dungeon Teleport Service."; } //} break; case 3: if ($DTS_Result == 1) { mes "[Cool Event Corp. Voting Staff]"; mes "Please remember that we"; mes "cannot accept Free Warp Tickets"; mes "or award Special Reserve Points"; mes "for this service. Now, please"; mes "choose your destination."; next; if ($DTS_JondaWins == 0) { switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Cancel")) { case 1: if (Zeny >= 4000) { Zeny -= 4000; cutin "zonda_01",255; warp "iz_dun02",234,206; end; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you do"; mes "not have enough zeny to"; mes "teleport to this destination."; mes "The teleport fee is 4,000 zeny."; } break; case 2: mes "[Cool Event Corp. Voting Staff]"; mes "Always be assured that"; mes "Cool Event Corp. will do"; mes "everything in its power to"; mes "ensure the satisfaction of"; mes "its customers, young and old"; mes "and big and small. Thank you~"; break; } } else if ($DTS_JondaWins == 1) { switch(select("Byalan Dungeon, Level 3 -> 4,000 z:Clock Tower, 3rd Floor -> 4,000 z:Cancel")) { case 1: if (Zeny >= 4000) { Zeny -= 4000; cutin "zonda_01",255; warp "iz_dun02",234,206; end; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you do"; mes "not have enough zeny to"; mes "teleport to this destination."; mes "The teleport fee is 4,000 zeny."; } break; case 2: if (Zeny >= 4000) { Zeny -= 4000; cutin "zonda_01",255; warp "c_tower3",64,143; end; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you do"; mes "not have enough zeny to"; mes "teleport to this destination."; mes "The teleport fee is 4,000 zeny."; } break; case 3: mes "[Cool Event Corp. Voting Staff]"; mes "Always be assured that"; mes "Cool Event Corp. will do"; mes "everything in its power to"; mes "ensure the satisfaction of"; mes "its customers, young and old"; mes "and big and small. Thank you~"; break; } } else { mes "[Cool Event Corp. Voting Staff]"; mes "Please remember that we"; mes "cannot accept Free Warp Tickets"; mes "or award Special Reserve Points"; mes "for this service. Now, please"; mes "choose your destination."; next; 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) { Zeny -= 4000; cutin "zonda_01",255; warp "iz_dun02",234,206; end; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you do"; mes "not have enough zeny to"; mes "teleport to this destination."; mes "The teleport fee is 4,000 zeny."; } break; case 2: if (Zeny >= 4000) { Zeny -= 4000; cutin "zonda_01",255; warp "c_tower3",64,143; end; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you do"; mes "not have enough zeny to"; mes "teleport to this destination."; mes "The teleport fee is 4,000 zeny."; } break; case 3: if (Zeny >= 4000) { Zeny -= 4000; cutin "zonda_01",255; warp "glast_01",368,303; end; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but you do"; mes "not have enough zeny to"; mes "teleport to this destination."; mes "The teleport fee is 4,000 zeny."; } break; case 4: mes "[Cool Event Corp. Voting Staff]"; mes "Always be assured that"; mes "Cool Event Corp. will do"; mes "everything in its power to"; mes "ensure the satisfaction of"; mes "its customers, young and old"; mes "and big and small. Thank you~"; break; } } } else if ($DTS_Result == 2) { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but Cool Event"; mes "Corp. does not currently offer"; mes "the Dungeon Teleport Service"; mes "due to the results of the last"; mes "election. Please vote for us"; mes "next time, alright? Good day~"; } else { mes "[Cool Event Corp. Voting Staff]"; mes "I'm sorry, but the"; mes "Dungeon Teleport Service is"; mes "unavailable during elections"; mes "and will be reactivated after the election results are announced."; mes "Thank you and have a nice day."; } break; case 4: mes "[Cool Event Corp. Voting Staff]"; mes "Cool Event Corp. is always"; mes "working to make sure that"; mes "not only are our customers"; mes "satisfied, but that we also"; mes "exceed your utmost standards."; mes "Thank you and have a good day."; break; } close2; cutin "zonda_01",255; end; } yuno,153,191,6 duplicate(VotingStaffCCE) Cool Event Staff#yuno 4_M_ZONDAMAN prontera,147,125,6 duplicate(VotingStaffCCE) Cool Event Staff#prt 4_M_ZONDAMAN moc_ruins,104,133,6 duplicate(VotingStaffCCE) Cool Event Staff#moc 4_M_ZONDAMAN geffen,117,37,6 duplicate(VotingStaffCCE) Cool Event Staff#gef 4_M_ZONDAMAN payon,153,182,6 duplicate(VotingStaffCCE) Cool Event Staff#pay 4_M_ZONDAMAN alberta,114,70,6 duplicate(VotingStaffCCE) Cool Event Staff#alb 4_M_ZONDAMAN aldebaran,138,102,6 duplicate(VotingStaffCCE) Cool Event Staff#alde 4_M_ZONDAMAN lighthalzen,154,60,6 duplicate(VotingStaffCCE) Cool Event Staff#lhz 4_M_ZONDAMAN yuno,103,225,0 script Scrutiny Association#5 -1,{ OnInit: initnpctimer; end; OnEnable: initnpctimer; end; OnTimer7200000: stopnpctimer; if (($DTS_Result == 0) || ($DTS_Result == 3)) { announce "Currently, the Dungeon Teleport Service Provider Election is being held in all major cities. Your participation is appreciated.",bc_all,"0x70dbdb"; } donpcevent "Scrutiny Association#5::OnEnable"; end; } einbroch,248,71,0 script Scrutiny Association#6 -1,{ OnEnable: initnpctimer; end; OnTimer1000: announce "All the votes for the Dungeon Teleport Service Provider Election have been received and counted.",bc_all,"0x70dbdb"; end; OnTimer5000: announce "The results are now in...",bc_all,"0x70dbdb"; end; OnTimer10000: announce "This time, Cool Event Corp. will be the Dungeon Teleport Service Provider.",bc_all,"0x70dbdb"; end; OnTimer15000: announce "Many thanks to all of you who have voted and shown your support.",bc_all,"0x70dbdb"; stopnpctimer; end; } einbroch,249,71,0 script Scrutiny Association#7 -1,{ OnEnable: initnpctimer; end; OnTimer1000: announce "All the votes for the Dungeon Teleport Service Provider Election have been received and counted.",bc_all,"0x70dbdb"; end; OnTimer5000: announce "The results are now in...",bc_all,"0x70dbdb"; end; OnTimer10000: announce "This time, Kafra Corporation will be the Dungeon Teleport Service Provider.",bc_all,"0x70dbdb"; end; OnTimer15000: announce "Many thanks to all of you who have voted and shown your support.",bc_all,"0x70dbdb"; stopnpctimer; end; } /* // 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 4_F_OPERATION,{ callfunc "F_GM_NPC"; mes "[Christy's Maid]"; mes "Lady Christy!"; next; if (callfunc("F_GM_NPC",1854,0) == 1) { mes "[Christy's Maid]"; mes "I am Lady Christy's Maid."; next; switch(select("Globalvar Check:Setitem Zero:Change Glbalvar")) { case 1: mes "Current GlobalVar are"; next; mes "[Christy's Maid]"; mes "Global 1 - Voting Time check : "+$DTS_Time+""; mes "Global 2 - Cool Event Corp. Vote Numbers : "+$DTS_JondaVotes+""; mes "Global 3 - Kafra Vote Numbers : "+$DTS_KafraVotes+""; mes "Global 4 - Winner : "+$DTS_Result+""; mes "Global 5 - Teleport Service Period Check: "+$DTS_PeriodCheck+""; mes "Global 6 - Kafra Points : "+$DTS_KafraWins+""; mes "Global 7 - Cool Event Corp. Points : "+$DTS_JondaWins+""; mes "Global 8 - Setitem Check : "+$DTS_VoteCount+""; next; mes "[Christy's Maid]"; mes "Current Setitem value is "+lhz_vote+"."; close; case 2: set lhz_vote,0; close; case 3: mes "[Christy's Maid]"; mes "Which Globalvar value would you like to change?"; next; switch(select("1 - Voting Time:2 - Cool Event Corp. Vote Numbers:3 - Kafra Vote Numbers:4 - Winner:5 - Teleport Service Period:6 - Kafra Warp Number:7 - Cool Event Corp. Warp Number:8 - Setitem Value")) { case 1: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 1000."; next; input .@input; if ((.@input < 0) || (.@input > 1000)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_Time,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 2: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 1000."; next; input .@input; if ((.@input < 0) || (.@input > 1000)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_JondaVotes,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 3: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 1000."; next; input .@input; if ((.@input < 0) || (.@input > 1000)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_KafraVotes,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 4: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 3."; next; input .@input; if ((.@input < 0) || (.@input > 3)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_Result,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 5: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 1000."; next; input .@input; if ((.@input < 0) || (.@input > 1000)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_PeriodCheck,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 6: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 2."; next; input .@input; if ((.@input < 0) || (.@input > 2)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_KafraWins,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 7: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 2."; next; input .@input; if ((.@input < 0) || (.@input > 2)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_JondaWins,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; case 8: mes "[Christy's Maid]"; mes "Please enter a number among 0 and 10000."; next; input .@input; if ((.@input < 0) || (.@input > 10000)) { mes "[Christy's Maid]"; mes "The value is incorrect."; close; } set $DTS_VoteCount,.@input; mes "[Christy's Maid]"; mes "The value has been modified."; close; } } } else { mes "[Christy's Maid]"; mes "Lady Christy..."; close; } } */