//======================================================================================== //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; }