I was wondering if any of you guys could help me out with this script of Wheel Of Fortune below.
What I need is that each individual player could only use it once a day. Would it be possible to have a daily usage per IP or Mac Address (I have gepard).
//===================Wheel Of Fortune===================\\- script Wheel_of_Fortune FAKE_NPC ,{OnInit:
disablenpc("Wheel of Fortune#Main");// disablenpc("Hussein#WOF");.Eventname$="[Wheel Of Fortune]";
end;OnClock1500:OnClock1630:OnClock1900:OnClock2200:OnStart:.Start=true;
announce(sprintf("%s : The event will begin in 1 minute, in the Secret Gambling Room.",.Eventname$), bc_blue | bc_all);
initnpctimer();
end;OnTimer60000:// 1 min
enablenpc("Wheel of Fortune#Main");// enablenpc("Hussein#WOF");
announce(sprintf("%s : Come to Secret Gambling Room and test your luck",.Eventname$), bc_blue | bc_all);
end;OnTimer1800000:// 30 mins
announce(sprintf("%s : One more minute, do your last spin!",.Eventname$), bc_blue | bc_all);
end;OnTimer1860000:// 31 minsOnEndEvent:.Start=false;
announce(sprintf("%s : The event is now over.",.Eventname$), bc_blue | bc_all);
stopnpctimer();
disablenpc("Wheel of Fortune#Main");// disablenpc("Hussein#WOF");
end;OnCommand:if(.@atcmd_numparameters!=1){
dispbottom(sprintf("Usage: %s <start/end>",.@atcmd_command$),0x00FF00);
dispbottom(sprintf("%s failed.",.@atcmd_command$),0x00FF00);
end;}if(.@atcmd_parameters$[0]=="start"){if(!.Start)
donpcevent(sprintf("%s::OnStart", strnpcinfo(NPC_NAME)));else{
dispbottom("The Wheel of Fortune has already started.",0x00FF00);
dispbottom(sprintf("%s failed.",.@atcmd_command$),0x00FF00);}}elseif(.@atcmd_parameters$[0]=="end"){if(.Start)
donpcevent(sprintf("%s::OnEndEvent", strnpcinfo(NPC_NAME)));else{
dispbottom("The Wheel of Fortune is not active.",0x00FF00);
dispbottom(sprintf("%s failed.",.@atcmd_command$),0x00FF00);}}else{
dispbottom(sprintf("Usage: %s <start/end>",.@atcmd_command$),0x00FF00);
dispbottom(sprintf("%s failed.",.@atcmd_command$),0x00FF00);}
end;}
vip_lounge,145,60,3 script Wheel of Fortune#Main 2_SLOT_MACHINE,{OnTalk:if(Zeny<.Zeny_Cost&&#freewheelfortunespin < 0) {
mes(.Eventname$);
mes("You are out of Zeny");
mes("and have no more");
mes("free spins. Come back");
mes("next time for more!");
close();}.@mes$=(#freewheelfortunespin >0)? sprintf(", but you, my friend, have %d free spin%s!",#freewheelfortunespin, (#freewheelfortunespin == 1) ? "" : "s") : ".";
cutin("aca_salim02",2);
addtimer(1, sprintf("%s::OnEndEvent", strnpcinfo(NPC_NAME)));
mes(.Eventname$);
mes("Do you want to spin the wheel?");
mes(sprintf("It costs ^FF0000%d Zeny^000000 to play%s",.Zeny_Cost,.@mes$));
next();while(true){if(Zeny<.Zeny_Cost&&#freewheelfortunespin < 0)
callsub(S_End);switch(select((#freewheelfortunespin >0)? sprintf("Yes! Use free spin! (%d left)",#freewheelfortunespin) : "",(Zeny>=.Zeny_Cost)? sprintf("Yes! Use Zeny. (costs %dz)",.Zeny_Cost):"","No (Leave)")){// pay with free spincase1:if(#freewheelfortunespin >0){if((#freewheelfortunespin -=1)<0)#freewheelfortunespin = 0;
callsub(S_Spin);}else
callsub(S_End);break;// Pay with zenycase2:if(Zeny>=.Zeny_Cost){Zeny-=.Zeny_Cost;
callsub(S_Spin);}else{
cutin("aca_salim02",2);
mes(.Eventname$);
mes("Awww, you don't have enough to gamble...");
mes(" ");
mes("Have you ever heard?");
mes("'Money isn't all that matters' Got it?");
mes("Byeeeeeeeeeeeeee ;)");
callsub(S_End);}break;default:
callsub(S_End);}}// Wheel spin animation
S_Spin:.@Sector= rand(.Sector_Range[0],.Sector_Range[1]);.@Display=.@Sector*2-1;.@Speed=.Spin_Speed;for(.@i=0;.@i<.nbTurns;.@i++){.@b=.Cutin_Range[0];while(.@b<=.Cutin_Range[1]){
cutin(sprintf("%s%d",.Cutin$,.@b),4);
sleep2(.@Speed);.@b++;.@Speed+=1;// not ++, because you may want to adjust the stopping +1 +2 +3}}.@b=.Cutin_Range[0];while(.@b<.@Display){
cutin(sprintf("%s%d",.Cutin$,.@b),4);
sleep2(.@Speed);.@b++;}
cutin(sprintf("%s%d",.Cutin$,.@b),4);if(.Prize_ID[.@Sector]==-1){// Free spinif(.Sound_Effects)
soundeffect("wheel_jackpot.wav",0);
announce(sprintf("[%s] : Wow, %dx more Free spins!!!",.Eventname$,.Prize_Qty[.@Sector]), bc_blue | bc_self);#freewheelfortunespin = #freewheelfortunespin == 0 ? .Prize_Qty[.@Sector] : #freewheelfortunespin + .Prize_Qty[.@Sector];}elseif(.Prize_ID[.@Sector]==0){// Nothingif(.Sound_Effects)
soundeffect("wheel_lost.wav",0);
announce(sprintf("[%s] : Awwww, no luck in your gamble, more luck in love...",.Eventname$), bc_blue | bc_self);}else{// Itemif(.Sound_Effects)
soundeffect("wheel_won.wav",0);
announce(sprintf("[%s] : %dx %s - enjoy your prize!",.Eventname$,.Prize_Qty[.@Sector], getitemname(.Prize_ID[.@Sector])), bc_blue | bc_self);
getitem(.Prize_ID[.@Sector],.Prize_Qty[.@Sector]);}
sleep2(1000);if(Zeny<.Zeny_Cost&&#freewheelfortunespin < 0) {
mes(.Eventname$);
mes("You are out of Zeny");
mes("and have no more");
mes("free spins. Come back");
mes("next time for more!");
close();}return;
S_End:
close2();OnEndEvent:
cutin("",255);
end;OnInit:.Eventname$="Wheel Of Fortune";
bindatcmd("wof","Wheel_of_Fortune::OnCommand",99,false);.Spin_Speed=50;// What is the base spin speed? (ms).nbTurns =2;// How many times the arrow makes a complete turn, before entering the stopping routine.Zeny_Cost=100000;// How much zeny does it cost for a spin?.Sound_Effects=true;// Enable sound effects? (true/false)// You must have a total of 10 prizes. DO NOT remove 0 or -1 from the array and do not// change their order.
setarray(.Prize_ID[1],-1,6046,13277,12187,617,607,603,604,0,23093);
setarray(.Prize_Qty[1],2,1,1,1,3,3,3,3,0,1);// Don't touch below.Cutin$="WheelOfFortune_";
setarray(.Sector_Range,1,10);// Sector range
setarray(.Cutin_Range,0,19);// Cutin range
end;}
Hopefully someone will be able to guide me throughout this process.
Question
Sirique
Hi everyone,
I was wondering if any of you guys could help me out with this script of Wheel Of Fortune below.
What I need is that each individual player could only use it once a day. Would it be possible to have a daily usage per IP or Mac Address (I have gepard).
Hopefully someone will be able to guide me throughout this process.
Kind Regards,
-Sirique
Link to comment
Share on other sites
0 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.