Jump to content

Recommended Posts


//===== 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 [email protected],671,1; //<Item_ID>,<Amount>{,...}

set [email protected]$,"["+strnpcinfo(0)+"]";

mes "Your guild [^0000FF"+getguildname(getcharid(2))+"^000000] has conquered:";

for(set [email protected],0;[email protected]<getarraysize(.Castles$);set [email protected],[email protected]+1)

if (getcastledata(.Castles$[[email protected]],1) == getcharid(2)) {

mes " > "+getcastlename(.Castles$[[email protected]])+""; set [email protected],1;

setarray [email protected]$[getarraysize([email protected]$)],.Castles$[[email protected]],(1<<[email protected]);

}

if ([email protected]) { mes " > No castles."; close; }

next;

if (select(((getguildmasterid(getcharid(2))==getcharid(0))?((agitcheck()||agitcheck2())?"":"Redeem Reward"):"")+":Close")==2) close;

mes [email protected]$;

mes "Please select a castle to redeem your guild reward.";

for(set [email protected],0;[email protected]<getarraysize([email protected]$);set [email protected],[email protected]+2) set [email protected]$,[email protected]$+($castle_reward&(1<<GetCastle(atoi([email protected]$[[email protected]+1])))?"^0000FF":"^FF0000")+getcastlename([email protected]$[[email protected]])+"^000000:";

next;

set [email protected],select([email protected]$)-1;

if ($castle_reward&(1<<GetCastle(atoi([email protected]$[[email protected]*2+1])))) {

mes [email protected]$;

mes "Here's your reward for conquering ^0000FF"+getcastlename([email protected]$[[email protected]*2])+"^000000.";

mes "You should divide these among your guild members.";

for(set [email protected],0;[email protected]<getarraysize([email protected]);set [email protected],[email protected]+1) if (!checkweight([email protected][[email protected]],[email protected][[email protected]+1])) { mes " "; mes "^FF0000Overweight!^000000"; close; }

for(set [email protected],0;[email protected]<getarraysize([email protected]);set [email protected],[email protected]+1) getitem [email protected][[email protected]],[email protected][[email protected]+1];

set $castle_reward,$castle_reward^(1<<GetCastle(atoi([email protected]$[[email protected]*2+1])));

close;

}

mes [email protected]$;

mes "It seems like you've redeemed the reward.";

close;

function GetCastle {

for(set [email protected],0;[email protected]<getarraysize(.Castles$);set [email protected],[email protected]+1) {

set [email protected],[email protected]|(1<<[email protected]);

if (getarg(0)[email protected]) return [email protected];

}

return -1;

}

OnAgitEnd:

OnAgitEnd2:

for(set [email protected],0;[email protected]<getarraysize($WOE_CONTROL);set [email protected],[email protected]+4)

if (gettime(4)==$WOE_CONTROL[[email protected]] && gettime(3)==$WOE_CONTROL[[email protected]+2] && $castle_reward&(1<<GetCastle($WOE_CONTROL[[email protected]+3])) == 0)

set $castle_reward,$castle_reward|(1<<GetCastle($WOE_CONTROL[[email protected]+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;

}

  • Upvote 1
Link to comment
Share on other sites

That was actually for my controller (if you look at the variable type).

	// Rewards per castle.

// -- when given directly: <itemID>,<amount>{,<itemID>,<amount>,...}

// -- via mail (option 2): <itemID>,<amount>,<Zeny>

setarray .Reward[0],14001,1;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.