//========================================================================================
//Title: Spin the Roulette(Lucky Spin)
//Version: 1.0 //Author: Wii
//Version: 1.1 //Author: Denz
//Version: 1.2 //Author: Denz || ADDED: VIP REGISTRATION & NONE VIP
//Created: 12/24/2015
//Compatibility: rAthena | Herc | rAmod
//========================================================================================
prontera,164,174,3 script Lucky Spin 80,{
mes "[Daily Lucky Spin]";
mes callfunc("F_Hi")+" "+strcharinfo(0)+"!";
mes "Do you want to try your luck today?";
cutin "reward",4;
next;
.@s = select("~ Yes!! Spin the Roulette:~ Reward List");
if (.@s == 2) {
mes "[Daily Lucky Spin Reward]";
callsub S_Prize;
callfunc("close3");
}
if (countitem(.lucky_ticket) < .ticket_amount) {
mes "[Daily Lucky Spin]";
mes "You need to Pay me ^0000FF"+.ticket_amount+"x "+getitemname(.lucky_ticket)+(Sex?"^000000 Mister!":"^000000 Miss!");
callfunc("close3");
}
close2;
set .@r,rand(.total_rate);
for (.@j = 0; .@j < getarraysize($@LKS_rt); .@j++)
if ((.@r -= $@LKS_rt[.@j]) <= 0) break;
.@reward = $@LKS_pr[.@j];
.@amount = $@LKS_am[.@j];
.@round = rand(72,96);
.@diff = .@round % 24;
if (.@diff > .@j) {
.@fix_round = .@diff - .@j;
.@round -= .@fix_round;
}
else if (.@diff < .@j) {
.@fix_round = .@j - .@diff;
.@round += .@fix_round;
}
set .@max_r,24;
set .@min_r,1;
.@last = .@round - 9;
.@speed = 500;
for (set .@i,0; .@i <= .@round; .@i++) {
.@l = .@l + 1;
if (.@l > .@max_r)
.@l = .@min_r;
cutin "reward_"+.@l,4;
soundeffect "slot_tick.wav",0;
if (.@speed > 50)
.@speed -= 50;
if (.@i >= .@last)
.@speed += 100;
sleep2 .@speed;
}
getitem .@reward, .@amount;
mes "[Daily Lucky Spin]";
mes "Congratulation !! You get ^FF0000"+getitemname(.@reward)+"^000000";
announce "[Lucky Spin]: "+strcharinfo(0)+" has win "+.@amount+"x "+getitemname(.@reward)+"!",bc_map,0x00FF00;
delitem .lucky_ticket, .ticket_amount;
callfunc("close3");
S_Prize:
for (.@i = 0; .@i < getarraysize($@LKS_pr); .@i++)
mes "- ^FF0000"+((getitemslots($@LKS_pr[.@i]))?""+getitemname($@LKS_pr[0])+"["+getitemslots($@LKS_pr[.@i])+"]":""+getitemname($@LKS_pr[.@i])+"")+"^000000";
return;
OnInit:
//SET ITEM ID LUCKY SPIN PRICE
setarray $@LKS_pr[0],17270, 17271, 17272, 17273, 17274, 17275, 6240, 6241, 18509, 20761, 12412, 13718, 6231, 6235, 12922, 12912, 6225, 6226, 12902, 16770, 31369, 7619, 7620, 13995; //ITEM ID
//SET ITEM ID LUCKY SPIN AMOUNT
setarray $@LKS_am[0],1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1; //ITEM AMOUNT
//SET ITEM ID LUCKY SPIN RATE
setarray $@LKS_rt[0],10, 10, 10, 10, 10, 10, 5, 5, 1, 1, 20, 20, 5, 5, 20, 10, 5, 5, 10, 10, 1, 20, 20, 20;
for (.@i = 0; .@i < getarraysize($@LKS_rt); .@i++)
.total_rate = .total_rate + $@LKS_rt[.@i];
//debugmes "total rate: "+.total_rate;
.lucky_ticket = 22869; // item id that will be used for ticket to roll lucky spin
.ticket_amount = 1; // amount of lucky_ticket needed to spin
end;
}