Jump to content
  • 0
Sign in to follow this  
Petey Pablo

Broadcast zeny fee

Question

Help me to add 1m zeny fee to this script. Thank you
 

- script broadcast FAKE_NPC,{
OnCommand: if ( !getstrlen( .@atcmd_parameters$ ) )
{
message strcharinfo(0), "Please, enter a message (usage: @bst ).";
end;
}
if (agitcheck()){
message strcharinfo(0), "Unable to use this command,";
message strcharinfo(0), "War of Emperium is ongoing!";
close;
}
$@input$ = implode(.@atcmd_parameters$," " );
$@name$ = strcharinfo(0);
.@symbol$ = substr( .@atcmd_parameters$, 0,1 );
if ( .@symbol$ != "B>" && .@symbol$ != "S>" && .@symbol$ != "T>" )
{
message strcharinfo(0), "Market Symbol is Needed when using this command ( B> S> T> )";
end;
}
if ( bst_delay + 60 > gettimetick(2) )
{
message strcharinfo(0), "There is a 60 seconds delay of using this command again";
end;
}
query_sql ("SELECT `char`.`account_id` FROM `char` JOIN `login` ON `char`.`account_id` = `login`.`account_id` WHERE `char`.`online` = 1", .@account_id);
bst_delay = gettimetick(2); // delay
while ( .@i < getarraysize(.@account_id) )
{
if ( attachrid( .@account_id[.@i] ) )
dispbottom "[ Market ] " + $@name$ + " : " + $@input$,0xFFD700; // display to every character on the server.
detachrid;
.@i++;
}
end;
OnInit:
bindatcmd "bst",strnpcinfo(0)+"::OnCommand", 0, 1; // bind @bst command.
end;
}
Edited by Will Su

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

I would suggest using the channel system for this npc instead of looping for every player, however here you go

-	script	broadcast	FAKE_NPC,{
OnCommand: 
	if (!getstrlen(.@atcmd_parameters$)) {
		message strcharinfo(PC_NAME), "Please, enter a message (usage: @bst).";
		end;
	}
	if (agitcheck()) {
		message strcharinfo(PC_NAME), "Unable to use this command,";
		message strcharinfo(PC_NAME), "War of Emperium is ongoing!";
		close;
	}
	$@input$ = implode(.@atcmd_parameters$, " ");
	$@name$ = strcharinfo(PC_NAME);
	.@symbol$ = substr(.@atcmd_parameters$, 0, 1);
	if (.@symbol$ != "B>" && .@symbol$ != "S>" && .@symbol$ != "T>") {
		message strcharinfo(PC_NAME), "Market Symbol is Needed when using this command ( B> S> T>)";
		end;
	}
	if (bst_delay + 60 > gettimetick(2)) {
		message strcharinfo(PC_NAME), "There is a 60 seconds delay of using this command again";
		end;
	}
	if (Zeny < 1000000) {
		message strcharinfo(PC_NAME), "You need to pay a 1m fee before sending your message.";
		end;
	}
	Zeny -= 1000000;
	query_sql ("SELECT `char`.`account_id` FROM `char` JOIN `login` ON `char`.`account_id` = `login`.`account_id` WHERE `char`.`online` = 1", .@account_id);
	bst_delay = gettimetick(2); // delay
	while (.@i < getarraysize(.@account_id)) {
		if (attachrid( .@account_id[.@i]))
		dispbottom "[ Market ] " + $@name$ + " : " + $@input$,0xFFD700; // display to every character on the server.
		detachrid;
		++.@i;
	}
	end;

OnInit:
	bindatcmd "bst", strnpcinfo(NPC_NAME) + "::OnCommand", 0, 1; // bind @bst command.
	end;
}

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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