Jump to content
  • 0

guild prize error


VladimirCastro

Question


  • Group:  Members
  • Topic Count:  114
  • Topics Per Day:  0.03
  • Content Count:  298
  • Reputation:   4
  • Joined:  03/13/12
  • Last Seen:  

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;
}

post-3084-0-59407300-1405977376_thumb.jpg

Link to comment
Share on other sites

4 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  19
  • Reputation:   3
  • Joined:  05/27/12
  • Last Seen:  

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 by Francisco
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  292
  • Reputation:   199
  • Joined:  05/03/13
  • Last Seen:  

Looks like a syntax error, just try to change the "," into a ";" at line 25 and run your script again.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  114
  • Topics Per Day:  0.03
  • Content Count:  298
  • Reputation:   4
  • Joined:  03/13/12
  • Last Seen:  

didnt work.. help pls

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  292
  • Reputation:   199
  • Joined:  05/03/13
  • Last Seen:  


//===== 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 by Normynator
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
Answer this question...

×   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...