i have a request of script that drops an item at random player location.
for ex i want to drop item id 501 every 10 ~ 20 hour at a random player from the server (where ever he is at his location).
also if possible to make it check if player talking to npc / used teleporting item in the past 2~5 sec would be cool.
even getitem is cool.
thank you.
EDIT:
i tried and made progress with this script
// usage :
// [npc:Sample]map#512#10
// [npc:Sample]all#512#123
- script Sample -1,{
OnWhisperGlobal:
if( getgmlevel() >= 99 ){
// check map
if( @whispervar0$ == "all" ) set .@type$,"";
else if( @whispervar0$ == "map" ) set .@type$,strcharinfo(3);
else {
dispbottom "Error, pick 'map' or 'all' ";
end;
}
// check item
set .@itemid,atoi( @whispervar1$ );
set .@amount,atoi( @whispervar2$ );
if( getitemname( .@itemid ) == "null" || .@amount < 1 ){
dispbottom "Enter valid item id and amount.";
}
set .@self_id,getcharid(3);
query_sql( "SELECT COUNT(`account_id`) FROM `char` WHERE `online` = 1 ", .@total );
while( .@count < .@total ){
query_sql( "SELECT `account_id`,`name` FROM `char` WHERE `online` = 1 ORDER BY `account_id` LIMIT 128 OFFSET "+.@offset, .@aid,.@name$ );
set .@i,0;
set .@size,getarraysize( .@aid );
set .@randomplayer, .@aid[rand(getarraysize(.@aid))];
while( .@i < .@size ){
if( .@aid[.@i] != .@self_id ){
if( .@type$ != "" ){
getmapxy( .@map$,.@x,.@y,0,.@name$[.@i] );
if( .@map$ == .@type$ ){
getitem .@itemid,.@amount,.@aid[.@i];
set .@gave,.@gave + 1;
}
}else{
getitem .@itemid,.@amount,.@randomplayer;
set .@gave,.@gave + 1;
}
}
set .@count,.@count + 1;
set .@i,.@i + 1;
}
set .@offset,.@offset + .@size;
deletearray .@aid,.@size;
deletearray .@name$,.@size;
}
announce "Player "+ .@randomplayer + " has recevied " + .@amount + "x " + getitemname( .@itemid ),0;
}
end;
}
but the thing is i want it to be automatic script, like every X hour give item, and it can be more simple than this, but i have no experience in this thing
Question
AsuraBro
Hello,
i have a request of script that drops an item at random player location.
for ex i want to drop item id 501 every 10 ~ 20 hour at a random player from the server (where ever he is at his location).
also if possible to make it check if player talking to npc / used teleporting item in the past 2~5 sec would be cool.
even getitem is cool.
thank you.
EDIT:
i tried and made progress with this script
but the thing is i want it to be automatic script, like every X hour give item, and it can be more simple than this, but i have no experience in this thing
ref to
https://rathena.org/board/topic/75469-qselect-random-player-in-map/?p=162586
https://rathena.org/board/topic/86246-i-need-npc-item-rewards-for-all-online-players/?p=216803
solved in https://rathena.org/board/topic/104224-can-someone-please-show-me-what-is-wrong-with-this-script/
Edited by AsuraBro0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.