root/npc/guild/agit_controller.txt @ 3

Revision 1, 3.4 kB (checked in by jinshiro, 17 years ago)
Line 
1//===== eAthena Script =======================================
2//= War of Emperium - WoE Auto-Start
3//===== By: ==================================================
4//= kalen (1.0)
5//= 1.1 by Akaru and ho|yAnge|
6//===== Current Version: =====================================
7//= 1.9
8//===== Compatible With: =====================================
9//= eAthena SVN; RO Episode 4+
10//===== Description: =========================================
11//= Auto Start for War of Emperium
12//=============================================
13//= gettime(3): Gets hour (24 hour time)
14//= gettime(4): Gets day of week 1=Monday, 2=Tuesday,
15//= 3=Wednesday, 4=Thursday, etc.
16//===== Additional Comments: =================================
17//= v1.1a changed OnInit to OnAgitInit.[kobra_k88]
18//= v1.2 added gettime checks. removed $AgitStarted var.[kobra_k88]
19//= v1.3 Moved treasure spawn time here.[kobra_k88]
20//= v1.3a Implemented Shadowlady's idea to allow for different
21//= start/stop times on different days.[kobra_k88]
22//= 1.4 Fixed treasure chests spawn! We had to unroll some loops
23//= Now they appear in castles from 00:01 to 00:24. [Lupus]
24//= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
25//= 1.5a missing tabs [KarLaeda]
26//= 1.6 Corrected multiple "WoE has begun" announces [ultramage]
27//= 1.7 Commented out the WoE start and end announces. [L0ne_W0lf]
28//= 1.8 Castle owners displayed when WoE starts and finished. [L0ne_W0lf]
29//= 1.8a Will now report unoccupied castles at start/end. [L0ne_W0lf]
30//= 1.8b Whoops. Fixed a mistake :D [L0ne_W0lf]
31//= 1.9 Rearranged the time-checks so they no longer use goto. [L0ne_W0lf]
32//=     Removed treasure spawning function calls. (No longer needed)
33//============================================================
34//| To know how to set up WoE times, go to doc\woe_time_explanation.txt
35// WoE Start/Stop times
36//======================================
37-       script  Agit_Event      -1,{
38        end;
39
40OnClock2100:    //start time for Tues(2), Thurs(4)
41OnClock2300:    //end time for Tues(2), Thurs(4)
42OnClock1600:    //start time for Sat(6)
43OnClock1800:    //end time for Sat(6)
44
45OnAgitInit:
46        // starting time checks
47        if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23) ||
48           (gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23) ||
49           (gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) {
50                if (!agitcheck()) {
51                        AgitStart;
52                        callsub S_DisplayOwners;
53                }
54                end;
55        }
56
57        // end time checks
58        if ((gettime(4)==2) && (gettime(3)==23) ||
59            (gettime(4)==4) && (gettime(3)==23) ||
60            (gettime(4)==6) && (gettime(3)==18)) {
61                if (agitcheck()) {
62                        AgitEnd;
63                        callsub S_DisplayOwners;
64                }
65                end;
66        }
67        end;
68
69S_DisplayOwners:
70        setarray .@maps$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05";
71        setarray .@maps$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
72        setarray .@maps$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05";
73        setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
74        for( set .@i, 0; .@i <= 19; set .@i, .@i+1 ) {
75                if (GetCastleData(.@maps$[.@i],1)) {
76                        Announce "The [" + GetCastleName(.@maps$[.@i]) + "] castle has been conquered by the [" + GetGuildName(GetCastleData(.@maps$[.@i],1)) + "] guild.",bc_all;
77                }
78                else {
79                        Announce "The [" + GetCastleName(.@maps$[.@i]) + "] castle is currently unoccupied.",bc_all;
80                }               
81        }
82        end;
83}
Note: See TracBrowser for help on using the browser.