Jump to content

Question

8 answers to this question

Recommended Posts

Posted
-	script	reward_woe	-1,{
OnAgitEnd: callsub( L_reward, 0,19 );
OnAgitEnd2: callsub( L_reward, 24,33 );
L_reward:
	sleep 1000;
	set .@start, getarg(0);
	set .@end, getarg(1);
	for( set .@i, .@start; .@i <= .@end; set .@i, .@i +1 ) {
		set .@guild_id, getcastledata( .castle_map$[.@i],1 );
		if( .@guild_id )
			setd ".@points_"+ .@guild_id, getd( ".@points_"+ .@guild_id ) +1;
	}
	set .@size, query_sql( "SELECT `name`, `account_id` FROM `char` WHERE `online` = 1 and `guild_id` != 0 LIMIT 128", .@name$, .@account_id );
	for ( set .@i, 0; .@i < .@size; set .@i, .@i +1 )
		if( getd( ".@points_"+ getcharid( 2,.@name$[.@i] ) ) ) {
			attachrid .@account_id[.@i];
			set #CASHPOINTS, #CASHPOINTS + .amount * getd( ".@points_"+ getcharid(2) );
			dispbottom "you got "+ .amount +" cashpoints. Total: "+ #CASHPOINTS;
		}
	end;
	
OnInit:
	set .amount, 100;	// give 100 cashpoints
setarray .castle_map$, "aldeg_cas01",	"aldeg_cas02",	"aldeg_cas03",	"aldeg_cas04",	"aldeg_cas05",
					"gefg_cas01",	"gefg_cas02",	"gefg_cas03",	"gefg_cas04",	"gefg_cas05",
					"payg_cas01",	"payg_cas02",	"payg_cas03",	"payg_cas04",	"payg_cas05",
					"prtg_cas01",	"prtg_cas02",	"prtg_cas03",	"prtg_cas04",	"prtg_cas05",
					"nguild_alde",	"nguild_gef",	"nguild_pay",	"nguild_prt",
					"schg_cas01",	"schg_cas02",	"schg_cas03",	"schg_cas04",	"schg_cas05",
					"arug_cas01",	"arug_cas02",	"arug_cas03",	"arug_cas04",	"arug_cas05";
}

ea doesn't support direct variable assignment. That means

 

.@start = getarg(0);// doesn't work on eathena
.@i++;// doesn't work on eathena
set .@start, getarg(0);// work on eathena
set .@i, .@i +1;// work on eathena
Posted
-	script	reward_woe	-1,{
OnAgitEnd: callsub( L_reward, 0,19 );
OnAgitEnd2: callsub( L_reward, 24,33 );
L_reward:
	sleep 1000;
	.@start = getarg(0);
	.@end = getarg(1);
	for( .@i = .@start; .@i <= .@end; .@i++ ) {
		.@guild_id = getcastledata( .castle_map$[.@i],1 );
		if( .@guild_id )
			setd ".@points_"+ .@guild_id, getd( ".@points_"+ .@guild_id ) +1;
	}
	.@size = query_sql( "SELECT `name`, `account_id` FROM `char` WHERE `online` = 1 and `guild_id` != 0 LIMIT 128", .@name$, .@account_id );
	for ( .@i = 0; .@i < .@size; .@i++ )
		if( getd( ".@points_"+ getcharid( 2,.@name$[.@i] ) ) ) {
			attachrid .@account_id[.@i];
			#CASHPOINTS = #CASHPOINTS + .amount * getd( ".@points_"+ getcharid(2) );
			dispbottom "you got "+ .amount +" cashpoints. Total: "+ #CASHPOINTS;
		}
	end;
	
OnInit:
	.amount = 100;	// give 100 cashpoints
setarray .castle_map$, "aldeg_cas01",	"aldeg_cas02",	"aldeg_cas03",	"aldeg_cas04",	"aldeg_cas05",
					"gefg_cas01",	"gefg_cas02",	"gefg_cas03",	"gefg_cas04",	"gefg_cas05",
					"payg_cas01",	"payg_cas02",	"payg_cas03",	"payg_cas04",	"payg_cas05",
					"prtg_cas01",	"prtg_cas02",	"prtg_cas03",	"prtg_cas04",	"prtg_cas05",
					"nguild_alde",	"nguild_gef",	"nguild_pay",	"nguild_prt",
					"schg_cas01",	"schg_cas02",	"schg_cas03",	"schg_cas04",	"schg_cas05",
					"arug_cas01",	"arug_cas02",	"arug_cas03",	"arug_cas04",	"arug_cas05";
}

 

give 100 cashpoints for all castle owner - guild member online at the end of the woe 1 and se

 

EDIT : fix a typo

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...