viewing paste Unknown #18338 | Athena

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
// Made by Inochi for LuminaRO
// LOG
// 1.0 = created NPC
// 1.1 = fixed rotation bug
// 2.0 = altered for one castle only
-       script  WoE_FE_Rotator  -1,{
OnInit:
setarray .castle_list$[0],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
                "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
                "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
                "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
 
               
OnWhisperGlobal:
        if(getgmlevel()<70)
                end;
               
        donpcevent "WoE_FE_Rotator::OnInit";
        mes "Pick first castles?";
        if(select("Yes","No")==2)
                close;
                next;
        mes "Rotate WoE SE? One time use.";
        if(select("Yes","No")==1){
                //Rotating arug_cas01 Mardol to schg_cas03 Vidblain and schg_cas02 Andlangr to arug_cas03 Horn
                set .name1$,"arug_cas01";
                set .name2$,"schg_cas02";
                set .name3$,"arug_cas03";
                set .name4$,"schg_cas03";
                announce "["+getguildname(getcastledata(.name1$,1))+"] guild base was transfered from ["+getcastlename(.name1$)+" (arug_cas01)] to ["+getcastlename(.name3$)+" (schg_cas03)]",0;
                announce "["+getguildname(getcastledata(.name2$,1))+"] guild base was transfered from ["+getcastlename(.name2$)+" (schg_cas02)] to ["+getcastlename(.name4$)+" (arug_cas03)]",0;
 
                for(set .@a,1; .@a<26; set .@a,.@a+1){
                        setcastledata "schg_cas03",.@a,getcastledata("arug_cas01",.@a);
                        setcastledata "arug_cas03",.@a,getcastledata("schg_cas02",.@a);
                        setcastledata "arug_cas01",.@a,0;      
                        setcastledata "schg_cas02",.@a,0;      
                }
               
                disablenpc "Kafra Employee#aru01";     
                disablenpc "Kafra Employee#sch02";     
                donpcevent "Manager#aru01_02::Onreset";
                donpcevent "Manager#sch02_02::Onreset";
                donpcevent "Manager#aru03_02::Onreset";
                donpcevent "Manager#sch03_02::Onreset";
                GetCastleData "arug_cas03",0,"::OnRecvCastleAr03";
                GetCastleData "schg_cas03",0,"::OnRecvCastleSc03";
                GetCastleData "arug_cas01",0,"::OnRecvCastleAr01";
                GetCastleData "schg_cas02",0,"::OnRecvCastleSc02";
                RequestGuildInfo GetCastleData("arug_cas01",1);
                RequestGuildInfo GetCastleData("schg_cas02",1);
                RequestGuildInfo GetCastleData("arug_cas03",1);
                RequestGuildInfo GetCastleData("schg_cas03",1);
                close;
        }
 
        set .@menu$,"";
       
        for(set @i,0; @i<getarraysize(.castle_list$); set @i,@i+1){
                set .@menu$,.@menu$+.castle_list$[@i]+":";
        }
        mes "Select first castle:";
        set @first,select(.@menu$)-1;
        next;
        mes "Select second castle:";
        set @second,select(.@menu$)-1;
        next;
        mes "Castles chosen: ";
        mes .castle_list$[@first];
        mes .castle_list$[@second];
        mes "Validate?";
        if(select("Yes","No")==2)
                close;
        cleararray $castles_fe_last[0],0,255;
        setarray $castles_fe_last[0],@first,@second;
        mes "Validated as last WoE castles to be moved on next WoE";
 
OnClock1330:
setarray .castle_list$[0],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
                "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
                "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
                "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
if (gettime(4) == 0) {
        set .@a, rand(0,getarraysize(.castle_list$)-1);
        while((.@a==$castles_fe[0]) || (.@a==$castles_fe[1])){
                set .@a, rand(0,getarraysize(.castle_list$)-1);
        }
 
        cleararray $castles_fe_last[0],0,255;
        setarray $castles_fe_last[0],$castles_fe[0],$castles_fe[1];
 
        for(set .@i,0; .@i<1; set .@i,.@i+1){
                announce "["+getguildname(getcastledata(.castle_list$[$castles_fe_last[.@i]],1))+"] guild base was transfered from ["+getcastlename(.castle_list$[$castles_fe_last[.@i]])+" ("+.castle_list$[$castles_fe_last[.@i]]+")] to ["+getcastlename(.castle_list$[$castles_fe[.@i]])+" ("+.castle_list$[$castles_fe[.@i]]+")]",0;
                for(set .@a,1; .@a<26; set .@a,.@a+1){
                        setcastledata .castle_list$[$castles_fe[.@i]],.@a,getcastledata(.castle_list$[$castles_fe_last[.@i]],.@a);             
                }
                getcastledata(.castle_list$[$castles_fe[.@i]],0,0);
                RequestGuildInfo GetCastleData(.castle_list$[$castles_fe[.@i]],1);
        }
       
        for(set .@i,0; .@i<1; set .@i,.@i+1){
                for(set .@a,1; .@a<26; set .@a,.@a+1){
                        setcastledata .castle_list$[$castles_fe_last[.@i]],.@a,0;
                }
                getcastledata(.castle_list$[$castles_fe_last[.@i]],0,0);
                RequestGuildInfo GetCastleData(.castle_list$[$castles_fe_last[.@i]],1);
        }
 
        donpcevent "::OnRecvCastleA01";
        donpcevent "::OnRecvCastleA02";
        donpcevent "::OnRecvCastleA03";
        donpcevent "::OnRecvCastleA04";
        donpcevent "::OnRecvCastleA05";
        donpcevent "::OnRecvCastleG01";
        donpcevent "::OnRecvCastleG02";
        donpcevent "::OnRecvCastleG03";
        donpcevent "::OnRecvCastleG04";
        donpcevent "::OnRecvCastleG05";
        donpcevent "::OnRecvCastlePy01";
        donpcevent "::OnRecvCastlePy02";
        donpcevent "::OnRecvCastlePy03";
        donpcevent "::OnRecvCastlePy04";
        donpcevent "::OnRecvCastlePy05";
        donpcevent "::OnRecvCastlePt01";
        donpcevent "::OnRecvCastlePt02";
        donpcevent "::OnRecvCastlePt03";
        donpcevent "::OnRecvCastlePt04";
        donpcevent "::OnRecvCastlePt05";  
        end;
}
 
OnPCLoadMapEvent:
setarray .castle_list$[0],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
                "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
                "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
                "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
 
        if((strcharinfo(3) == .castle_list$[$castles_fe[0]]) || (strcharinfo(3) == .castle_list$[$castles_fe[1]]))
                end;
 
        if((strcharinfo(3) != "prtg_cas01") && (strcharinfo(3) != "prtg_cas02") && (strcharinfo(3) != "prtg_cas03") && (strcharinfo(3) != "prtg_cas04") &&
        (strcharinfo(3) != "prtg_cas05") && (strcharinfo(3) != "aldeg_cas01") && (strcharinfo(3) != "aldeg_cas02") && (strcharinfo(3) != "aldeg_cas03") &&
        (strcharinfo(3) != "aldeg_cas04") && (strcharinfo(3) != "aldeg_cas05") && (strcharinfo(3) != "payg_cas01") && (strcharinfo(3) != "payg_cas02") &&
        (strcharinfo(3) != "payg_cas03") && (strcharinfo(3) != "payg_cas04") && (strcharinfo(3) != "payg_cas05") && (strcharinfo(3) != "gefg_cas01") &&
        (strcharinfo(3) != "gefg_cas02") && (strcharinfo(3) != "gefg_cas03") && (strcharinfo(3) != "gefg_cas04") && (strcharinfo(3) != "gefg_cas05"))
                end;
 
        dispbottom "This castle is closed.";
        if(getgmlevel()>70) {
                dispbottom "Warp avoided by GM level.";
        } else {
                warp "SavePoint",0,0;
        }
 
        end;
}
 
prtg_cas01      mapflag loadevent
prtg_cas02      mapflag loadevent
prtg_cas03      mapflag loadevent
prtg_cas04      mapflag loadevent
prtg_cas05      mapflag loadevent
aldeg_cas01     mapflag loadevent
aldeg_cas02     mapflag loadevent
aldeg_cas03     mapflag loadevent
aldeg_cas04     mapflag loadevent
aldeg_cas05     mapflag loadevent
payg_cas01      mapflag loadevent
payg_cas02      mapflag loadevent
payg_cas03      mapflag loadevent
payg_cas04      mapflag loadevent
payg_cas05      mapflag loadevent
gefg_cas01      mapflag loadevent
gefg_cas02      mapflag loadevent
gefg_cas03      mapflag loadevent
gefg_cas04      mapflag loadevent
gefg_cas05      mapflag loadevent
Viewed 356 times, submitted by unknown.