Jump to content
  • 0

Breaker Points Help !


Question

5 answers to this question

Recommended Posts

Posted


switch(select("View Emp Break Ladder:Redeem points for TCG:More Info:" + ((getgmlevel()>=99) ? "Reset Ladder":""))) {

case 1:

query_sql "SELECT `char`.`name`, `char`.`class`, guild.`name`, CAST(`value` AS UNSIGNED) " +

"FROM global_reg_value " +

"LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id " +

"LEFT JOIN `guild` ON `char`.guild_id=guild.guild_id " +

"WHERE global_reg_value.`str`='breaker_points' " +

"ORDER BY CAST(`value` AS UNSIGNED) DESC LIMIT 10",

.@name$, .@job, .@guild$, .@points;

mes "[Top 10 Emp Breakers]";

for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) {

mes (.@i+1) +". ^0000FF"+ .@name$[.@i] +"^000000, "+jobname(.@job[.@i])+", "+ .@guild$[.@i] +" ("+ .@points[.@i] +((.@points[.@i]==1)?" pt":" pts")+")";

}

break;

case 2:

mes "[Emp Break Ladder]";

mes "Total Emp Breaks: " + breaker_points;

mes "Available Points: " + (breaker_points - breaker_tcg);

if (breaker_points == 0) {

mes "You have not broke the emp yet!";

} else if (breaker_points <= breaker_tcg) {

mes "You've already exchanged all your points for TCG.";

mes "Come back after you break the emp again!";

} else {

set .@reward, breaker_points - breaker_tcg;

if (select("Redeem points for "+.@reward+" TCG:Cancel") == 2) {

mes "Come back if you change your mind.";

} else if (checkweight(7227, .@reward) == 0) {

mes "You are overweight or carrying too many items.";

} else {

getitem 7227, .@reward;

set breaker_tcg, breaker_tcg + .@reward

mes "Here are your "+.@reward+" TCG!";

}

}

break;

case 3:

mes "[Emp Break Ladder]";

mes "Each time you break the emp, you earn 1 point.";

mes "Then, talk to me to redeem your point(s) for TCG.";

break;

case 4:

if (getgmlevel() < 99) end;

set .@AID, playerattached();

// reset for offline chars

query_sql "DELETE FROM global_reg_value WHERE `str`='breaker_points'";

query_sql "DELETE FROM global_reg_value WHERE `str`='breaker_tcg'";

// for each online char, reset breaker_points to 0

while (getusers(1) > .@count) {

set .@count, .@count + query_sql("SELECT account_id FROM `char` WHERE online=1 LIMIT 128 OFFSET "+.@count, .@account_id);

set .@i, 0;

while (.@i < getarraysize(.@account_id)) {

if (attachrid(.@account_id[.@i]))

doevent strnpcinfo(3)+"::OnResetBreakerPoints";

set .@i, .@i +1;

}

deletearray .@account_id, 128;

sleep 1; // prevent infinity loop

}

attachrid .@AID;

mes "Emp Break Ladder has been reset.";

break;

}

close;

OnResetBreakerPoints:

set breaker_points, 0;

set breaker_tcg, 0;

end;

}

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