Jump to content
  • 0
skyroofficial

Need Help ! Giving Item to All players

Question

// usage :
// [npc:Sample]map#512#10
// [npc:Sample]all#512#123


-	script	Sample	-1,{
OnWhisperGlobal:
if( getgmlevel() >= 99 ){
	// check map
	if( @whispervar0$ == "all" ) set [email protected]$,"";
	else if( @whispervar0$ == "map" ) set [email protected]$,strcharinfo(3);
	else {
		dispbottom "Error, pick 'map' or 'all' ";
		end;
	}
	
	// check item
	set [email protected],atoi( @whispervar1$ );
	set [email protected],atoi( @whispervar2$ );
	if( getitemname( [email protected] ) == "null" || [email protected] < 1 ){
		dispbottom "Enter valid item id and amount.";
	}
	
	set [email protected]_id,getcharid(3);
	query_sql( "SELECT COUNT(`account_id`) FROM `char` WHERE `online` = 1 ", [email protected] );
	while( [email protected] < [email protected] ){
		query_sql( "SELECT `account_id`,`name` FROM `char` WHERE `online` = 1 ORDER BY `account_id` LIMIT 128 OFFSET "[email protected], [email protected],[email protected]$ );
		set [email protected],0;
		set [email protected],getarraysize( [email protected] );
		while( [email protected] < [email protected] ){
			if( [email protected][[email protected]] != [email protected]_id ){
				if( [email protected]$ != "" ){
					getmapxy( [email protected]$,[email protected],[email protected],0,[email protected]$[[email protected]] );
					if( [email protected]$ == [email protected]$ ){
						getitem [email protected],[email protected],[email protected][[email protected]];
						set [email protected],[email protected] + 1;
					}
				}else{
					getitem [email protected],[email protected],[email protected][[email protected]];
					set [email protected],[email protected] + 1;
				}
			}
			set [email protected],[email protected] + 1;
			set [email protected],[email protected] + 1;
		}
		set [email protected],[email protected] + [email protected];
		deletearray [email protected],[email protected];
		deletearray [email protected]$,[email protected];
	}
	dispbottom "Gave "[email protected]+" x "+getitemname( [email protected] )+" to "[email protected]+" Player(s).";
}
end;
}

So i use this script to give all players items . But this script give rewards to all players online ( include afk , vending, idle, or create chat room )

how to exclude the AFK , Vending, Idle , or Creating Chat Room ( which is still considered afk ) to not get the rewards ?

 

Thank you for the helps !

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

try this

// usage :
// [npc:Sample]map#512#10
// [npc:Sample]all#512#123


-	script	Sample	-1,{
OnWhisperGlobal:
	if( getgmlevel() >= 99 ){
		// check map
		if( @whispervar0$ == "all" ) addrid 0;
		else if( @whispervar0$ == "map" ) addrid 1;
		else {
			dispbottom "Error, pick 'map' or 'all'";
			end;
		}
		
		// check item
		set [email protected],atoi( @whispervar1$ );
		set [email protected],atoi( @whispervar2$ );
		if( getitemname( [email protected] ) == "null" || [email protected] < 1 ){
			dispbottom "Enter valid item id and amount.";
		}
		if(checkvending() || checkchatting() || checkidle() >= 60 ) end;
		[email protected] = [email protected] + 1;
		getitem [email protected],[email protected];
		dispbottom "Gave "[email protected]+" x "+getitemname( [email protected] )+" to "[email protected]+" Player(s).";
	}
	end;
}

 

Link to comment
Share on other sites

  • 1

Try adding this:

[email protected]$ = rid2name([email protected][[email protected]]); if(checkvending([email protected]$) || checkchatting([email protected]$) || checkidle([email protected]$) >= 60 ) continue;

after this line:

while( [email protected] < [email protected] ) {

Link to comment
Share on other sites

  • 0
20 hours ago, Litro Endemic said:

try this

// usage :
// [npc:Sample]map#512#10
// [npc:Sample]all#512#123


-	script	Sample	-1,{
OnWhisperGlobal:
	if( getgmlevel() >= 99 ){
		// check map
		if( @whispervar0$ == "all" ) addrid 0;
		else if( @whispervar0$ == "map" ) addrid 1;
		else {
			dispbottom "Error, pick 'map' or 'all'";
			end;
		}
		
		// check item
		set [email protected],atoi( @whispervar1$ );
		set [email protected],atoi( @whispervar2$ );
		if( getitemname( [email protected] ) == "null" || [email protected] < 1 ){
			dispbottom "Enter valid item id and amount.";
		}
		if(checkvending() || checkchatting() || checkidle() >= 60 ) end;
		[email protected] = [email protected] + 1;
		getitem [email protected],[email protected];
		dispbottom "Gave "[email protected]+" x "+getitemname( [email protected] )+" to "[email protected]+" Player(s).";
	}
	end;
}

 

@Litro Endemic Thanks alot ! XD its dem sexy /lv 

18 hours ago, Technoken said:

@skyroofficial you can use @Litro Endemic script. It's sexier lol /heh 

ikr .. ! anyways thanks @Technoken

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

Important Information

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