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";
end;
 
        
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";
close;
 
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 647 times, submitted by Guest.