Sirique Posted November 30, 2019 Group: Members Topic Count: 11 Topics Per Day: 0.00 Content Count: 45 Reputation: 7 Joined: 11/07/14 Last Seen: June 14, 2020 Share Posted November 30, 2019 (edited) Hi, I have the Wheel Of Fortune script I'd like help with adding a Check Weight variable. - script Wheel_of_Fortune -1,{ 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 mins OnEndEvent: .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); } } else if (.@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: .@today = atoi( gettimestr( "%Y%m%d", 9 ) ); if ( $wof_today != .@today ) { $wof_today = .@today; deletearray $wof_charip$; } 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 spin case 1: if (#freewheelfortunespin > 0) { if ((#freewheelfortunespin -= 1) < 0) #freewheelfortunespin = 0; callsub(S_Spin); } else callsub(S_End); break; // Pay with zeny case 2: 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; .@charip$ = getcharip(); if ( countinarray($wof_charip$,.@charip$) ) { mes "You can only spin one IP per day."; close; } else $wof_charip$[getarraysize($wof_charip$)] = .@charip$; 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 spin if (.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]; } else if (.Prize_ID[.@Sector] == 0) { // Nothing if (.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 { // Item if (.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, 13810, 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; } I'm not quite sure where it should go. Thank You, Edited November 30, 2019 by Sirique Quote Link to comment Share on other sites More sharing options...
0 Mabuhay Posted November 30, 2019 Group: Members Topic Count: 105 Topics Per Day: 0.02 Content Count: 446 Reputation: 232 Joined: 03/20/12 Last Seen: October 22, 2020 Share Posted November 30, 2019 Put checkweight before spinning the wheel. Quote Link to comment Share on other sites More sharing options...
0 Sirique Posted December 2, 2019 Group: Members Topic Count: 11 Topics Per Day: 0.00 Content Count: 45 Reputation: 7 Joined: 11/07/14 Last Seen: June 14, 2020 Author Share Posted December 2, 2019 (edited) On 11/30/2019 at 6:18 PM, Mabuhay said: Put checkweight before spinning the wheel. Yeah that I figured it would be the best way to go, so I would simply like have to use the item available in the wheel that has the more weight right? Kind Regards, Sirique Edited December 2, 2019 by Sirique Quote Link to comment Share on other sites More sharing options...
0 Mabuhay Posted December 3, 2019 Group: Members Topic Count: 105 Topics Per Day: 0.02 Content Count: 446 Reputation: 232 Joined: 03/20/12 Last Seen: October 22, 2020 Share Posted December 3, 2019 (edited) 2 hours ago, Sirique said: Yeah that I figured it would be the best way to go, so I would simply like have to use the item available in the wheel that has the more weight right? Kind Regards, Sirique Alternatively, you may check the players current weight.. like maybe players must have less than 75% of max weight, so add something like : if ( Weight >= MaxWeight - (MaxWeight / 4) ) { mes "You must at least 25% of your current weight available."; close; } Edit: Ehh, I'm not sure if the mes implies the correct meaning on what I wanted to say xD Edited December 3, 2019 by Mabuhay 1 Quote Link to comment Share on other sites More sharing options...
0 Sirique Posted December 3, 2019 Group: Members Topic Count: 11 Topics Per Day: 0.00 Content Count: 45 Reputation: 7 Joined: 11/07/14 Last Seen: June 14, 2020 Author Share Posted December 3, 2019 2 hours ago, Mabuhay said: Alternatively, you may check the players current weight.. like maybe players must have less than 75% of max weight, so add something like : if ( Weight >= MaxWeight - (MaxWeight / 4) ) { mes "You must at least 25% of your current weight available."; close; } Edit: Ehh, I'm not sure if the mes implies the correct meaning on what I wanted to say xD I really appreciate it, it's nice to see there's still some very helpful members on here! Thanks a lot mate! No problem I'll edit it if needed haha Quote Link to comment Share on other sites More sharing options...
Question
Sirique
Hi,
I have the Wheel Of Fortune script I'd like help with adding a Check Weight variable.
I'm not quite sure where it should go.
Thank You,
Link to comment
Share on other sites
4 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.