Radian Posted July 23, 2014 Group: Members Topic Count: 162 Topics Per Day: 0.04 Content Count: 1546 Reputation: 192 Joined: 07/23/14 Last Seen: June 24, 2024 Share Posted July 23, 2014 (edited) Hello, can anyone help me with this? it not working i've tested it on my latest revision im using this prize giver & Toasty's WOE Controller //===== 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] //============================================================ mellina,103,82,3 script Castle Rewards 864,{ 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<getarraysize(.@uh$);set .@i,.@i+2) set .@m$,.@m$+($castle_reward&(1<<atoi(.@uh$[.@i+1]))?"^0000FF":"^FF0000")+getcastlename(.@uh$[.@i])+"^000000:"; next; set .@m, select(.@m$)-1; if ($castle_reward&(1<<atoi(.@uh$[.@m*2+1]))) { mes .@n$; mes "Here's your reward for conquering ^0000FF"+getcastlename(.@uh$[.@m*2])+"^000000."; mes "You should divide these among your guild members."; for (set .@i,0; .@i<getarraysize(.reward); set .@i,.@i+2) { set .@weight, getiteminfo(.reward[.@i],6); set .@add_weight, .@add_weight+.@weight; if (.@add_weight+Weight > MaxWeight) { mes " "; mes "^FF0000Overweight!^000000"; close; } } for(set .@i,0;.@i<getarraysize(.reward);set .@i,.@i+2) getitem .reward[.@i],.reward[.@i+1]; set $castle_reward,$castle_reward^(1<<atoi(.@uh$[.@m*2+1])); close; } mes .@n$; mes "It seems like you've redeemed the reward."; close; function GetCastle { for(set .@j,0;.@j<getarraysize(.Castles$);set .@j,.@j+1) { set .@c1,.@c2|(1<<.@j); if (getarg(0)==.@c1) return .@j; } return -1; } function GetNPCVar { set .@var_1$,getarg(0); set .@var_2$,getarg(1); freeloop(1); for (set .@i,0; .@i<128; set .@i,.@i+1) setd .@var_2$+"["+.@i+"]",getelementofarray(getvariableofnpc(getd(.@var_1$),getarg(2)),.@i); freeloop(0); return; } OnAgitEnd: OnAgitEnd2: if (.controller) { set .@tick, gettimetick(1); for (set .@i, 0; .woe_0[.@i] != 0 || .woe_1[.@i] != 0; set .@i, .@i+1) for (set .@j, 0; .@j < 7; set .@j, .@j+1) for (set .@c, 0; .@c < (getarraysize(.regions$)); set .@c, .@c+1) if (.woe_day[.@i] == gettime(4) && .woe_1[.@i] == .@tick && getd(".woe_state_"+.woe_state[.@i]+"["+.@j+"]") > 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<<GetCastle($WOE_CONTROL[.@i+3])) == 0) set $castle_reward,$castle_reward|(1<<GetCastle($WOE_CONTROL[.@i+3])); } end; OnInit: // === [Config] ============================================= set .controller,1; // WoE Controller - Euphy|Toasty:0|1 setarray .reward,671,1; // Reward - <Item_ID>,<Amount>{,...} // ========================================================== 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; } There's no error, but it says that i already redeem my reward even if i didn't .. and 1 more request / how can i make the prize give randomly to the Guild Master? Edited July 23, 2014 by Ginji Quote Link to comment Share on other sites More sharing options...
Normynator Posted July 23, 2014 Group: Developer Topic Count: 7 Topics Per Day: 0.00 Content Count: 292 Reputation: 199 Joined: 05/03/13 Last Seen: May 26, 2023 Share Posted July 23, 2014 http://rathena.org/board/topic/96662-guild-prize-error/ Quote Link to comment Share on other sites More sharing options...
Radian Posted July 24, 2014 Group: Members Topic Count: 162 Topics Per Day: 0.04 Content Count: 1546 Reputation: 192 Joined: 07/23/14 Last Seen: June 24, 2024 Author Share Posted July 24, 2014 http://rathena.org/board/topic/96662-guild-prize-error/ Is this compatible with Toasty's WOE Controller? and the prize give's the GL randomly? I've tested it, and no errors and working.. but everytime the WOE Ends other/same guild that own other castle can get another reward from their own castle even if its not active on that day.. @bump Quote Link to comment Share on other sites More sharing options...
Normynator Posted July 24, 2014 Group: Developer Topic Count: 7 Topics Per Day: 0.00 Content Count: 292 Reputation: 199 Joined: 05/03/13 Last Seen: May 26, 2023 Share Posted July 24, 2014 I think thats because the script checks every castle after Woe. Quote Link to comment Share on other sites More sharing options...
Radian Posted July 24, 2014 Group: Members Topic Count: 162 Topics Per Day: 0.04 Content Count: 1546 Reputation: 192 Joined: 07/23/14 Last Seen: June 24, 2024 Author Share Posted July 24, 2014 (edited) Hello, can anyone help me with this? it not working i've tested it on my latest revision im using this prize giver & Toasty's WOE Controller //===== 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] //============================================================ mellina,103,82,3 script Castle Rewards 864,{ 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<getarraysize(.@uh$);set .@i,.@i+2) set .@m$,.@m$+($castle_reward&(1<<atoi(.@uh$[.@i+1]))?"^0000FF":"^FF0000")+getcastlename(.@uh$[.@i])+"^000000:"; next; set .@m, select(.@m$)-1; if ($castle_reward&(1<<atoi(.@uh$[.@m*2+1]))) { mes .@n$; mes "Here's your reward for conquering ^0000FF"+getcastlename(.@uh$[.@m*2])+"^000000."; mes "You should divide these among your guild members."; for (set .@i,0; .@i<getarraysize(.reward); set .@i,.@i+2) { set .@weight, getiteminfo(.reward[.@i],6); set .@add_weight, .@add_weight+.@weight; if (.@add_weight+Weight > MaxWeight) { mes " "; mes "^FF0000Overweight!^000000"; close; } } for(set .@i,0;.@i<getarraysize(.reward);set .@i,.@i+2) getitem .reward[.@i],.reward[.@i+1]; set $castle_reward,$castle_reward^(1<<atoi(.@uh$[.@m*2+1])); close; } mes .@n$; mes "It seems like you've redeemed the reward."; close; function GetCastle { for(set .@j,0;.@j<getarraysize(.Castles$);set .@j,.@j+1) { set .@c1,.@c2|(1<<.@j); if (getarg(0)==.@c1) return .@j; } return -1; } function GetNPCVar { set .@var_1$,getarg(0); set .@var_2$,getarg(1); freeloop(1); for (set .@i,0; .@i<128; set .@i,.@i+1) setd .@var_2$+"["+.@i+"]",getelementofarray(getvariableofnpc(getd(.@var_1$),getarg(2)),.@i); freeloop(0); return; } OnAgitEnd: OnAgitEnd2: if (.controller) { set .@tick, gettimetick(1); for (set .@i, 0; .woe_0[.@i] != 0 || .woe_1[.@i] != 0; set .@i, .@i+1) for (set .@j, 0; .@j < 7; set .@j, .@j+1) for (set .@c, 0; .@c < (getarraysize(.regions$)); set .@c, .@c+1) if (.woe_day[.@i] == gettime(4) && .woe_1[.@i] == .@tick && getd(".woe_state_"+.woe_state[.@i]+"["+.@j+"]") > 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<<GetCastle($WOE_CONTROL[.@i+3])) == 0) set $castle_reward,$castle_reward|(1<<GetCastle($WOE_CONTROL[.@i+3])); } end; OnInit: // === [Config] ============================================= set .controller,1; // WoE Controller - Euphy|Toasty:0|1 setarray .reward,671,1; // Reward - <Item_ID>,<Amount>{,...} // ========================================================== 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; } I love how this script was made, because it can be compatible with Toasty's WOE Controller and hows it made... but thanks for the help im still looking for other WOE prize giver script out there, somewhere while still waiting if someone can help me with this. Anybody can help me out? @bump! Edited July 24, 2014 by Ginji Quote Link to comment Share on other sites More sharing options...
Radian Posted August 19, 2014 Group: Members Topic Count: 162 Topics Per Day: 0.04 Content Count: 1546 Reputation: 192 Joined: 07/23/14 Last Seen: June 24, 2024 Author Share Posted August 19, 2014 @help with this script please Quote Link to comment Share on other sites More sharing options...
Question
Radian
Hello, can anyone help me with this? it not working i've tested it on my latest revision im using this prize giver & Toasty's WOE Controller
There's no error, but it says that i already redeem my reward even if i didn't ..
and 1 more request / how can i make the prize give randomly to the Guild Master?
Edited by GinjiLink to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.