- // http://www.eathena.ws/board/index.php?showtopic=239081
- // The Lvl99 GM set how many castle will be a available, add and delete time
- // and the castle that going to be on is RANDOM, as in RANDOM (if its possible)
- // if it's one castle is on, it will pick 1 castle randomly...
- // and if its 2, it will pick 2 castle randomy... and so on...
- //
- // http://rathena.org/board/topic/56147-edit-random-woe-using-brianl-script/
- // I want to change the castle ownership. Say prtg_cas01 is open and GuildA
- // takes it. Then next woe gefg_cas04 is open, the castle ownership will move
- // to gefg_cas04 and prtg_cas01 will be unoccupied.
- //
- // https://rathena.org/board/topic/104738-help-random-woe-castle-not-compatible-rathena/
- // --> updated warp names to match changes in https://github.com/rathena/rathena/commit/49459d342ec4e3b5d2ca8dbf85ab924ffa89faca
- - script Agit_Event -1,{
- end;
- OnClock2100: //start time for Tues(2), Thurs(4)
- OnClock2300: //end time for Tues(2), Thurs(4)
- OnClock1600: //start time for Sat(6)
- OnClock1800: //end time for Sat(6)
- OnAgitInit:
- set .@num_castles_open, 5; // the number of castles open each WoE
- set .@transfer_ownership, 1; // transfer ownership to the next (random) castle?
- setarray .maps$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
- "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
- "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
- "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
- // starting time checks
- if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23) ||
- (gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23) ||
- (gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) {
- if (!agitcheck()) {
- // close ALL castles
- disablenpc "aldeg-1_aldeg-1-1"; maprespawnguildid "aldeg_cas01",0,7;
- disablenpc "aldeg-2_aldeg-2-1"; maprespawnguildid "aldeg_cas02",0,7;
- disablenpc "aldeg-3_aldeg-3-1"; maprespawnguildid "aldeg_cas03",0,7;
- disablenpc "aldeg-4_aldeg-4-1"; maprespawnguildid "aldeg_cas04",0,7;
- disablenpc "aldeg-5_aldeg-5-1"; maprespawnguildid "aldeg_cas05",0,7;
- disablenpc "gef-g1-0_gefg-1-07";
- disablenpc "gef-g1-1_gefg-1-04"; maprespawnguildid "gefg_cas01",0,7;
- disablenpc "gef-g2_gefg-2-07"; maprespawnguildid "gefg_cas02",0,7;
- disablenpc "gef-g3-0_g-cas3-12";
- disablenpc "gef-g3-1_g-cas3-13";
- disablenpc "gef-g3-2_g-cas3-14";
- disablenpc "gef-g3-3_g-cas3-15"; maprespawnguildid "gefg_cas03",0,7;
- disablenpc "gef-g4_gefg-4-05"; maprespawnguildid "gefg_cas04",0,7;
- disablenpc "gef-5-0_gefg-5-04";
- disablenpc "gef-5-1_gefg-5-01"; maprespawnguildid "gefg_cas05",0,7;
- disablenpc "payg-1_payg-1-06"; maprespawnguildid "payg_cas01",0,7;
- disablenpc "payg-2_payg-2-02"; maprespawnguildid "payg_cas02",0,7;
- disablenpc "payg-3_payg-3-07"; maprespawnguildid "payg_cas03",0,7;
- disablenpc "payg-4_payg-4-01"; maprespawnguildid "payg_cas04",0,7;
- disablenpc "payg-5_payg-5-03"; maprespawnguildid "payg_cas05",0,7;
- disablenpc "prtg-1_prtg-1-01"; maprespawnguildid "prtg_cas01",0,7;
- disablenpc "prtg-2_prtg-2"; maprespawnguildid "prtg_cas02",0,7;
- disablenpc "prtg-3_prtg-3"; maprespawnguildid "prtg_cas03",0,7;
- disablenpc "prtg-4_prtg-4"; maprespawnguildid "prtg_cas04",0,7;
- disablenpc "prtg-5_prtg-5"; maprespawnguildid "prtg_cas05",0,7;
- // randomize castle order
- for( set .@i,1; .@i <= getarraysize(.maps$); set .@i,.@i+1 ) {
- }
- // open castles
- announce (.@num_castles_open==1 ? "There is 1 castle" : ("There are "+.@num_castles_open+" castles")) + " open for WoE today:",bc_all|bc_woe;
- for( set .@i,1; .@i <= .@num_castles_open; set .@i,.@i+1 ) {
- // transfer ownership? ... only if there's a previous castle to transfer from!
- if (.@transfer_ownership && getd("$castle_"+.@i+"$")!="")
- callsub S_OpenCastle, .@array[.@i];
- }
- AgitStart;
- announce "The War of Emperium has begun!",bc_all|bc_woe;
- }
- end;
- }
- // end time checks
- if ((gettime(4)==2) && (gettime(3)==23) ||
- (gettime(4)==4) && (gettime(3)==23) ||
- (gettime(4)==6) && (gettime(3)==18)) {
- if (agitcheck()) {
- AgitEnd;
- announce "The War of Emperium is over!",bc_all|bc_woe;
- }
- // open ALL castles
- enablenpc "aldeg-1_aldeg-1-1"; // aldeg_cas01
- enablenpc "aldeg-2_aldeg-2-1"; // aldeg_cas02
- enablenpc "aldeg-3_aldeg-3-1"; // aldeg_cas03
- enablenpc "aldeg-4_aldeg-4-1"; // aldeg_cas04
- enablenpc "aldeg-5_aldeg-5-1"; // aldeg_cas05
- enablenpc "gef-g1-0_gefg-1-07"; // gefg_cas01
- enablenpc "gef-g1-1_gefg-1-04"; // gefg_cas01
- enablenpc "gef-g2_gefg-2-07"; // gefg_cas02
- enablenpc "gef-g3-0_g-cas3-12"; // gefg_cas03
- enablenpc "gef-g3-1_g-cas3-13"; // gefg_cas03
- enablenpc "gef-g3-2_g-cas3-14"; // gefg_cas03
- enablenpc "gef-g3-3_g-cas3-15"; // gefg_cas03
- enablenpc "gef-g4_gefg-4-05"; // gefg_cas04
- enablenpc "gef-5-0_gefg-5-04"; // gefg_cas05
- enablenpc "gef-5-1_gefg-5-01"; // gefg_cas05
- enablenpc "payg-1_payg-1-06"; // payg_cas01
- enablenpc "payg-2_payg-2-02"; // payg_cas02
- enablenpc "payg-3_payg-3-07"; // payg_cas03
- enablenpc "payg-4_payg-4-01"; // payg_cas04
- enablenpc "payg-5_payg-5-03"; // payg_cas05
- enablenpc "prtg-1_prtg-1-01"; // prtg_cas01
- enablenpc "prtg-2_prtg-2"; // prtg_cas02
- enablenpc "prtg-3_prtg-3"; // prtg_cas03
- enablenpc "prtg-4_prtg-4"; // prtg_cas04
- enablenpc "prtg-5_prtg-5"; // prtg_cas05
- end;
- }
- end;
- S_TransferOwnership:
- // getarg(0) = previous CastleID
- // getarg(1) = new CastleID (to transfer owner to)
- if ( getcastledata(.maps$[getarg(0)],1) && getarg(0)!=getarg(1) ) {
- for (set .@i,1; .@i<=17; set .@i,.@i+1) {
- setcastledata .maps$[getarg(1)],.@i, getcastledata(.maps$[getarg(0)],.@i);
- setcastledata .maps$[getarg(0)],.@i, 0;
- }
- setd "$castle_"+.@i+"$", getarg(1);
- }
- return;
- S_OpenCastle:
- // getarg(0) = CastleID in /db/castle_db.txt
- switch( getarg(0) ) {
- case 0: enablenpc "aldeg-1_aldeg-1-1"; break; // aldeg_cas01
- case 1: enablenpc "aldeg-2_aldeg-2-1"; break; // aldeg_cas02
- case 2: enablenpc "aldeg-3_aldeg-3-1"; break; // aldeg_cas03
- case 3: enablenpc "aldeg-4_aldeg-4-1"; break; // aldeg_cas04
- case 4: enablenpc "aldeg-5_aldeg-5-1"; break; // aldeg_cas05
- case 5: enablenpc "gef-g1-0_gefg-1-07";
- enablenpc "gef-g1-1_gefg-1-04"; break; // gefg_cas01
- case 6: enablenpc "gef-g2_gefg-2-07"; break; // gefg_cas02
- case 7: enablenpc "gef-g3-0_g-cas3-12";
- enablenpc "gef-g3-1_g-cas3-13";
- enablenpc "gef-g3-2_g-cas3-14";
- enablenpc "gef-g3-3_g-cas3-15"; break; // gefg_cas03
- case 8: enablenpc "gef-g4_gefg-4-05"; break; // gefg_cas04
- case 9: enablenpc "gef-5-0_gefg-5-04";
- enablenpc "gef-5-1_gefg-5-01"; break; // gefg_cas05
- case 10: enablenpc "payg-1_payg-1-06"; break; // payg_cas01
- case 11: enablenpc "payg-2_payg-2-02"; break; // payg_cas02
- case 12: enablenpc "payg-3_payg-3-07"; break; // payg_cas03
- case 13: enablenpc "payg-4_payg-4-01"; break; // payg_cas04
- case 14: enablenpc "payg-5_payg-5-03"; break; // payg_cas05
- case 15: enablenpc "prtg-1_prtg-1-01"; break; // prtg_cas01
- case 16: enablenpc "prtg-2_prtg-2"; break; // prtg_cas02
- case 17: enablenpc "prtg-3_prtg-3"; break; // prtg_cas03
- case 18: enablenpc "prtg-4_prtg-4"; break; // prtg_cas04
- case 19: enablenpc "prtg-5_prtg-5"; break; // prtg_cas05
- }
- if (GetCastleData(.maps$[getarg(0)],1)) {
- announce "The [" + GetCastleName(.maps$[getarg(0)]) + "] castle is owned by the [" + GetGuildName(GetCastleData(.maps$[getarg(0)],1)) + "] guild.",bc_all|bc_woe;
- } else {
- announce "The [" + GetCastleName(.maps$[getarg(0)]) + "] castle is currently unoccupied.",bc_all|bc_woe;
- }
- return;
- }
agit_controller_random.txt
Posted by Anonymous on Tue 9th Feb 2016 05:09
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.