Jump to content
  • 0

Event Ranking


Question

Posted (edited)

Can anyone make this?

 

This is also an important script especially for events.

 

for example, an event that kills a summoned poring and will rank 1st, 2nd and 3rd using EVENTPOINTS (as the permanent char variable) query using sql.

 

whoever will be ranked 1st will receive -> 1 gold coin

 

whoever will be ranked 2nd will receive -> 1 silver coin

 

whoever will be ranked 3rd will receive ->  1 bronze coin

 

Please share this to everyone,

thanks!

Edited by Aureon

11 answers to this question

Recommended Posts

  • 0
Posted

Question, will event points reset every after event? If yes then you can do a query to delete the event points in the database. You can simply put OnMobKill the points gained from killing the mobs.

After which you can do a for loop or a while loop to determine who has the most points during the event, rewarding them and then deleting the event points in the database.

  • 0
Posted

after the event, the rankings in the NPC will show 1st - prize: gold, 2nd - prize : silver, 3rd - prize: bronze...

once the event will be triggered to start again, that's the time the ranking will automatically reset.

can anyone please share this script to us?

  • 0
Posted

after the event, the rankings in the NPC will show 1st - prize: gold, 2nd - prize : silver, 3rd - prize: bronze...

once the event will be triggered to start again, that's the time the ranking will automatically reset.

can anyone please share this script to us?

If you give me details I can add this to my autoevent script for you

after the event, the rankings in the NPC will show 1st - prize: gold, 2nd - prize : silver, 3rd - prize: bronze...

once the event will be triggered to start again, that's the time the ranking will automatically reset.

can anyone please share this script to us?

If you give me details I can add this to my autoevent script for you

  • 0
Posted

 

after the event, the rankings in the NPC will show 1st - prize: gold, 2nd - prize : silver, 3rd - prize: bronze...

once the event will be triggered to start again, that's the time the ranking will automatically reset.

can anyone please share this script to us?

If you give me details I can add this to my autoevent script for you

after the event, the rankings in the NPC will show 1st - prize: gold, 2nd - prize : silver, 3rd - prize: bronze...

once the event will be triggered to start again, that's the time the ranking will automatically reset.

can anyone please share this script to us?

If you give me details I can add this to my autoevent script for you

 

@stolao: wow! you are now a script dev~ congrats!  ;) 

@topic:

For example, Kill the Poring Event.

 

 

  • Event will be triggered every hour
  • Event will last for 5 minutes
  • Once the event started, it will summon a lot of poring
  • Every time the player kills a poring, they gain 1 point
  • At the end of the event, rankings (1st, 2nd and 3rd) will be announced and can be displayed in the NPC.
  • If the player ranked as 1st - the player can get his reward (ex: Gold Coin) in the NPC.
  • If the player ranked as 2nd - the player can get his reward (ex: Silver Coin) in the NPC.
  • If the player ranked as 3rd - the player can get his reward (ex: Bronze Coin) in the NPC.
  • Once the event will be triggered to start again, the rankings will reset.

Thank you in advance!  /kis2

  • 0
Posted

bump?
 


Event will be triggered every hour
Event will last for 5 minutes
Once the event started, it will summon a lot of poring
Every time the player kills a poring, they gain 1 point
At the end of the event, rankings (1st, 2nd and 3rd) will be announced and can be displayed in the NPC.
If the player ranked as 1st - the player can get his reward (ex: Gold Coin) in the NPC.
If the player ranked as 2nd - the player can get his reward (ex: Silver Coin) in the NPC.
If the player ranked as 3rd - the player can get his reward (ex: Bronze Coin) in the NPC.
Once the event will be triggered to start again, the rankings will reset.
  • 0
Posted (edited)

This shall work~Just done it~

Thumb up if work~ /no1

Note: Remember to change <TAB> with your keyboard tab. /ic

poring_w01,100,100,5<TAB>script<TAB>Poring Ranking Npc<TAB>1002,{
function claimReward;
mes "[ "+strnpcinfo(0)+" ]";
if(.status){
mes "Please come to me after the event end.";
end;
}
claimReward();
end;


OnMinute00:
.status = 1;
deletearray .charid,getarraysize(.charid);
deletearray .val,getarraysize(.val);
query_sql("DELETE FROM global_reg_value where str = '"+.variable_use$+"'");


announce "Poring Ranking Event has just started!",0;
monster strnpcinfo(4),0,0,"--ja--",.mob_id,.mob_amt,strnpcinfo(3)+"::OnKill";


do{
sleep 1000;
.tick += 1;
}while(.tick <= .event_duration);


.status = 0;


killmonsterall strnpcinfo(4);
announce "Poring Ranking Event has just end!",0;
.@num = query_sql("SELECT char_id,value FROM global_reg_value where str = '"+.variable_use$+"' order by CAST(`value` AS SIGNED) desc limit 3",.charid,.val);
for(.@x=0;.@x<.@num;.@x++){
announce "Rank "+(.@x+1)+" ["+rid2name(.charid[.@x])+" ] "+.variable_use$+": "+.val[.@x],0;
}
announce "Please claim the reward from "+strnpcinfo(0)+"!",0;
announce "Poring Ranking Event has just ended!",0;
end;


OnKill:
if(attachrid(getcharid(3))){
set getd(.variable_use$),getd(.variable_use$)+1;
dispbottom "You gain "+.point_earn+" "+.variable_use$+" on killing "+getmonsterinfo(.mob_id,0)+"!";
}
end;


function claimReward {
for(.@x=0;.@x<.@num;.@x++){
if(getcharid(0)==.charid[.@x]){
mes "Congratulation "+strcharinfo(0),"You Rank on "+(.@x+1)+" with "+getd(.variable_use$)+" "+.variable_use$;
mes "You will been rewarded "+.prize_amt[.@x]+" x "+getitemname(.prize[.@x]);
close2;
getitem .prize[.@x],.prize_amt[.@x];
warp "SavePoint",0,0;
break;
}
}
mes "You get "+getd(.variable_use$)+" "+.variable_use$+" and fail to kick in first 3 rank.","Try harder next time!";
close2;
warp "SavePoint",0,0;
end;
}


OnInit:
.mob_id = 1002; // mob id to spawn
.mob_amt = 100; // mob amount to spawn
.point_earn = 1; // point earn on each kill
setarray .prize,671,675,673; // prize id list to get
setarray .prize_amt,1,1,1; // prize amt list to get
.event_duration = 5*60; // event duration
.variable_use$ = "EVENTPOINTS"; // variable use
}
Edited by yuchinin
  • Upvote 1

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