//===== rAthena Script ======================================= //= Guild Prize Giveaway //===== By: ================================================== //= AnnieRuru / Mysterious / Joseph //===== Current Version: ===================================== //= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //= Toasty WoE Controller //= Euphy WoE Controller //===== Description: ========================================= //= Rewards guild masters of castle owners after each //= War of Emperium session. //===== Additional Comments: ================================= //= v1.0 - Intitial Re-release [Mysterious] //= v1.1 - Language structures [Mysterious] //= v1.2 - Added divisions [Mysterious] //= v1.3 - Added proper information [Mysterious] //= v1.4 - Optimized! [Euphy] //= v1.5 - Little bit of cleaning [Mysterious] //= v1.6 - Fixed Agit on/off corruption. [Joseph] //= v1.7 - Fixed overweight issues [Joseph] //= v1.8 - Added the compability with Toasty's WoE Controller. [Joseph] //= v1.9 - Invalid array size when the last array value is 0. [Joseph] //============================================================ prontera,163,166,4 script Castle Rewards 871,{ function GetCastle; function GetNPCVar; set .@n$,"["+strnpcinfo(0)+"]"; mes "Your guild [^0000FF"+getguildname(getcharid(2))+"^000000] has conquered:"; for(set .@i, 0; .@i < getarraysize(.Castles$); set .@i, .@i+1) if (getcastledata(.Castles$[.@i],1) == getcharid(2)) { mes " > "+getcastlename(.Castles$[.@i])+""; set .@c,1; setarray .@uh$[getarraysize(.@uh$)],.Castles$[.@i],.@i; } if (!.@c) { mes " > No castles."; close; } next; if (select(((getguildmasterid(getcharid(2))==getcharid(0))?((agitcheck()||agitcheck2())?"":"Redeem Reward"):"")+":Close") == 2) close; mes .@n$; mes "Please select a castle to redeem your guild reward."; for(set .@i,0;.@i MaxWeight) { mes " "; mes "^FF0000Overweight!^000000"; close; } } for(set .@i,0;.@i 0 && getd(".woe_state_"+.woe_state[.@i]+"["+.@j+"]")&(1<<.@c) > 0) { set .@position,.@j*5+.@c; if ($castle_reward&(1<<.@position) == 0) set $castle_reward,$castle_reward|(1<<.@position); } } else { for(set .@i, 0;.@i < getarraysize($WOE_CONTROL);set .@i, .@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) == $WOE_CONTROL[.@i+2] && $castle_reward&(1<,{,...} // ========================================================== sleep 10; if (!.controller) GetNPCVar(".Castles$",".Castles$","WOE_CONTROL"); else { // Transfer NPC Variable setarray .@var$,".woe_day",".woe_0",".woe_1",".woe_state",".regions$",".castles_novi$"; for (set .@i, 0; .@i < getarraysize(.@var$); set .@i, .@i+1) GetNPCVar(.@var$[.@i],.@var$[.@i],"WoEInfoBase"); // Generate States set .@i, 0; do { GetNPCVar(".woe_state_"+.@i,".woe_state_"+.@i,"WoEInfoBase"); set .@i, .@i+1; } while (.@i < .woe_state); // Generate Castles for (set .@i, 0; .@i < getarraysize(.regions$); set .@i, .@i+1) { set .@j,1; while (.@j<=5) { if (.regions$[.@i]=="novi") { copyarray .Castles$[getarraysize(.Castles$)],.castles_novi$[0],getarraysize(.castles_novi$); break; } set .Castles$[getarraysize(.Castles$)],.regions$[.@i]+"_cas0"+.@j; set .@j, .@j+1; } } } end; }