//===== 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;
}
}
*/