VladimirCastro Posted July 21, 2014 Group: Members Topic Count: 114 Topics Per Day: 0.02 Content Count: 298 Reputation: 4 Joined: 03/13/12 Last Seen: September 18, 2016 Share Posted July 21, 2014 heres my script //===== rAthena Script ======================================= //= Guild Prize Giveaway //===== By: ================================================== //= AnnieRuru / Mysterious / Joseph //===== Current Version: ===================================== //= 1.7 //===== Compatible With: ===================================== //= rAthena SVN //===== 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] //============================================================ prontera,163,166,4 script Castle Rewards 871,{ function GetCastle; set .@reward,671,1; //<Item_ID>,<Amount>{,...} 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],(1<<.@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<<GetCastle(atoi(.@uh$[.@i+1])))?"^0000FF":"^FF0000")+getcastlename(.@uh$[.@i])+"^000000:"; next; set .@m,select(.@m$)-1; if ($castle_reward&(1<<GetCastle(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+1) if (!checkweight(.@reward[.@i],.@reward[.@i+1])) { mes " "; mes "^FF0000Overweight!^000000"; close; } for(set .@i,0;.@i<getarraysize(.@reward);set .@i,.@i+1) getitem .@reward[.@i],.@reward[.@i+1]; set $castle_reward,$castle_reward^(1<<GetCastle(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; } OnAgitEnd: OnAgitEnd2: 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: setarray .Castles$, "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; end; } Quote Link to comment Share on other sites More sharing options...
Francisco Posted July 23, 2014 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 19 Reputation: 3 Joined: 05/27/12 Last Seen: June 1, 2017 Share Posted July 23, 2014 (edited) set .@reward,671,1; The problem your mapserv described is a simple bad setting of the .@reward variable. It gives error because it doesn't expect a second argument (,1) on that command. Are you trying to set a variable or an array? Because later on you read .@reward as an array . In that case, an array is set like setarray .@reward[0],1; Where [0] is the position and 1 the value and so on. It seems the array is used like this in your script : Item id, amount so try this setarray .@reward[0],671,1; Edited July 23, 2014 by Francisco 1 Quote Link to comment Share on other sites More sharing options...
Normynator Posted July 22, 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 22, 2014 Looks like a syntax error, just try to change the "," into a ";" at line 25 and run your script again. Quote Link to comment Share on other sites More sharing options...
VladimirCastro Posted July 22, 2014 Group: Members Topic Count: 114 Topics Per Day: 0.02 Content Count: 298 Reputation: 4 Joined: 03/13/12 Last Seen: September 18, 2016 Author Share Posted July 22, 2014 didnt work.. help pls Quote Link to comment Share on other sites More sharing options...
Normynator Posted July 22, 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 22, 2014 (edited) //===== rAthena Script ======================================= //= Guild Prize Giveaway //===== By: ================================================== //= AnnieRuru / Mysterious //===== Current Version: ===================================== //= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== 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] //============================================================ prontera,133,163,4 script Castle Rewards 871,{ mes "[Castle Rewards]"; if (agitcheck() || agitcheck2()) { mes "WoE is currently still in progress."; close; } mes "Please select a castle:"; next; for(set .@i,0; .@i<30; set .@i,.@i+1) set .@menu$, .@menu$+getcastlename(.Castles$[.@i])+":"; set .@i, select(.@menu$)-1; mes "[Castle Rewards]"; if (getcastledata(.Castles$[.@i],1) != getcharid(2)) { mes "You aren't the owner of this castle."; close; } if (getguildmasterid(getcharid(2)) != getcharid(0)) { mes "Only the guild master can claim the reward."; close; } if ($castle_claimed&(1<<.@i)) { mes "You've already claimed this castle's reward!"; close; } mes "Here's your reward for conquering "+getcastlename(.Castles$[.@i])+"."; set $castle_claimed, $castle_claimed | (1<<.@i); getitem 7539,300; //Set your prize here! close; OnAgitEnd: set $castle_claimed, 0; end; OnInit: setarray .Castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; end; } try this script, check franciscos answer Edited July 23, 2014 by Normynator Quote Link to comment Share on other sites More sharing options...
Question
VladimirCastro
heres my script
Link to comment
Share on other sites
4 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.