1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336 |
- //===== rAthena Script =======================================
- //= Dungeon Teleport Service
- //===== By: ==================================================
- //= Evera
- //===== Current Version: =====================================
- //= 2.9a
- //===== Compatible With: =====================================
- //= rAthena Project
- //===== 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 Morocc NPCs to Morocc 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]
- //= 2.9a Tweaked NPC sprite & cutin used. [Liam]
- //============================================================
- 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;
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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 861,{
- callfunc "F_VoteKafra",9;
- }
- prontera,164,125,4 script Kafra Voting Staff#prt 116,{
- callfunc "F_VoteKafra",2;
- }
- moc_ruins,104,133,4 script Kafra Voting Staff#moc 116,{
- callfunc "F_VoteKafra",2;
- }
- geffen,122,37,4 script Kafra Voting Staff#gef 116,{
- callfunc "F_VoteKafra",2;
- }
- payon,158,182,4 script Kafra Voting Staff#pay 116,{
- callfunc "F_VoteKafra",2;
- }
- alberta,119,70,4 script Kafra Voting Staff#alb 116,{
- callfunc "F_VoteKafra",2;
- }
- aldebaran,145,102,4 script Kafra Voting Staff#alde 116,{
- callfunc "F_VoteKafra",2;
- }
- lighthalzen,163,60,4 script Kafra Voting Staff#lght 861,{
- callfunc "F_VoteKafra",9;
- }
- - script Cool Event Staff::VotingStaffCCE 874,{
- 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 "Schwarzwald 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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) {
- set Zeny, 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 874
- prontera,147,125,6 duplicate(VotingStaffCCE) Cool Event Staff#prt 874
- moc_ruins,97,133,6 duplicate(VotingStaffCCE) Cool Event Staff#moc 874
- geffen,117,37,6 duplicate(VotingStaffCCE) Cool Event Staff#gef 874
- payon,153,182,6 duplicate(VotingStaffCCE) Cool Event Staff#pay 874
- alberta,114,70,6 duplicate(VotingStaffCCE) Cool Event Staff#alb 874
- aldebaran,138,102,6 duplicate(VotingStaffCCE) Cool Event Staff#alde 874
- lighthalzen,154,60,6 duplicate(VotingStaffCCE) Cool Event Staff#lhz 874
- 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 864,{
- 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;
- }
- }
- */
|