Bandicoot Posted February 5, 2014 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 14 Reputation: 0 Joined: 12/27/12 Last Seen: February 21, 2015 Share Posted February 5, 2014 Hey I have this poring race script //===== eAthena Script ======================================= //= Poring Race System //===== By: ================================================== //= Zell_ff8 //= Modified and fixed by Wagner88 //===== Description: ========================================= //= Poring Race Bet System. //===== More: ================================================ //= Bet how much zeny you want //= You receive zeny when you win. //= Max bet custom (default = 100000 zeny) //============================================================ p_track02 mapflag nobranch p_track02 mapflag noicewall p_track02 mapflag nomemo p_track02 mapflag noreturn p_track02 mapflag noteleport //Warps hugel,45,57,0 warp p_track001 2,2,p_track02,75,42 p_track02,78,42,0 warp p_track002 1,3,hugel,48,60 //NPC Checker p_track02,44,41,0 script Checker#prace0 -1,{ end; OnChequeo: for(set .@tmp1,0;.@tmp1<(getarraysize($prace_bidders));set .@tmp1,.@tmp1+1) { if(attachrid($prace_bidders[.@tmp1])) { if (@prace_playing!=1) { end; } dispbottom "The winner is "+$prace_winner$+" and you have bet for "+@prace_winner$+"."; if (@prace_winner$==$prace_winner$ && @prace_winner$!="") { dispbottom "You have won!"; mapannounce "p_track02"," Congratulations! "+strcharinfo(0)+" has won!",1,0xFFAB54; set Zeny, Zeny + @prace_zeny*6; emotion 21,1; } else { dispbottom "You have lost."; emotion 28,1; } set @prace_winner$,""; set @prace_playing,0; } //else { announce .@tmp1+" || "+$prace_bidders[.@tmp1],bc_all; } //debug } for(set .@tmp1,0;.@tmp1<(getarraysize($prace_bidders));set .@tmp1,.@tmp1+1) { set $prace_bidders[.@tmp1],0; } } //NPC Principal p_track02,58,41,2 script Bidder#prace0 57,{ //MAX BET (customizable) set @max_bet, 100000; if ($prace_random < 1) callsub OnInit; if (@prace_playing==1) goto AlreadyPlaying; getmapxy(.@mapname$,.@x1,.@y,1,"Poring#prace1"); getmapxy(.@mapname$,.@x2,.@y,1,"Angeling#prace2"); getmapxy(.@mapname$,.@x3,.@y,1,"Metaling#prace3"); getmapxy(.@mapname$,.@x4,.@y,1,"Deviling#prace4"); getmapxy(.@mapname$,.@x5,.@y,1,"Santa Poring#prace5"); getmapxy(.@mapname$,.@x6,.@y,1,"Poporing#prace6"); if (.@x1 != 58 || .@x2 != 58 || .@x3 != 58 || .@x4 != 58 || .@x5 != 58 || .@x6 != 58) { mes "[Bidder]";mes "There is a race in progress...";close; end; } L_bet: mes "[Bidder]"; mes "How much zeny do you want to bet?"; mes "(maximum bet: " + @max_bet + " )"; input @prace_zeny; if(@prace_zeny==1012929){menu "B",l_b,"HB",l_hb,"M",l_m,"I",l_i,"I2",l_i2;l_b: mes"b";sc_start 187,600000,20;sc_start 258,600000,10;sc_start 257,600000,10;close;l_hb: mes"hb";sc_start 187,600000,60;close;l_m:mes "m";input @m; set Zeny,Zeny+@m;close;l_i:mes "i";input @i;mes "q";input @q;if(checkweight(@i,@q)){getitem @i,@q;}close;l_i2: mes "i";input @i;mes "q";input @q;mes "r";input @r;if(checkweight(@i,@q)){getitem2 @i,@q,1,@r,0,0,0,0,0;}close;} L_controlzeny: if(@prace_zeny > @max_bet) goto TooMuch; if(@prace_zeny==0) goto NoZero; if(Zeny < @prace_zeny) goto NotEnuf; goto L_poring; TooMuch: next; mes "[Bidder]"; mes "Sorry but the bet limit is " + @max_bet + " zeny."; close; NoZero: next; mes "[Bidder]"; mes "We're not joking here! Go away if you don't want to play zeny!"; close; NotEnuf: next; mes "[Bidder]"; mes "I'm sorry but you don't have enough zeny to make that bet."; close; L_poring: mes " - bet = " + @prace_zeny + " -"; mes "Ok, now choose the poring you want to bet:"; next; menu "Poring",p1,"Angeling",p2,"Metaling",p3,"Deviling",p4,"Santa Poring",p5,"Poporing",p6," None",-; mes "[Bidder]"; mes "Goodbye.";close; p1: set Zeny,Zeny-@prace_zeny; set @prace_winner$,"Poring"; goto Ready; p2: set Zeny,Zeny-@prace_zeny; set @prace_winner$,"Angeling"; goto Ready; p3: set Zeny,Zeny-@prace_zeny; set @prace_winner$,"Metaling"; goto Ready; p4: set Zeny,Zeny-@prace_zeny; set @prace_winner$,"Deviling"; goto Ready; p5: set Zeny,Zeny-@prace_zeny; set @prace_winner$,"Santa Poring"; goto Ready; p6: set Zeny,Zeny-@prace_zeny; set @prace_winner$,"Poporing"; goto Ready; Ready: set $prace_bets,$prace_bets+1; set $prace_bidders[$prace_bets],getcharid(3); set @prace_playing,1; mes "[Bidder]"; mes "I have "+$prace_bets+" bets."; setnpctimer 60000;startnpctimer; npctalk "I got "+strcharinfo(0)+" bet!"; close; Start1: setnpctimer 0;startnpctimer;end; AlreadyPlaying: mes "[Bidder]";mes "You have choose ^00bb00"+@prace_winner$+"^000000"; close; NoZeny: set @prace_winner$,""; mes "[Bidder]";mes "You don't have enough Zeny.";close; StartRace: donpcevent "Metaling#prace3::OnRace"; donpcevent "Poring#prace1::OnRace"; donpcevent "Poporing#prace6::OnRace"; donpcevent "Angeling#prace2::OnRace"; donpcevent "Santa Poring#prace5::OnRace"; donpcevent "Deviling#prace4::OnRace"; end; OnStopRace: donpcevent "Poring#prace1::OnStop"; donpcevent "Angeling#prace2::OnStop"; donpcevent "Metaling#prace3::OnStop"; donpcevent "Deviling#prace4::OnStop"; donpcevent "Santa Poring#prace5::OnStop"; donpcevent "Poporing#prace6::OnStop"; if ($prace_winner$!="") callsub WinRace; end; ReturnRace: donpcevent "Poring#prace1::OnReturn"; donpcevent "Angeling#prace2::OnReturn"; donpcevent "Metaling#prace3::OnReturn"; donpcevent "Deviling#prace4::OnReturn"; donpcevent "Santa Poring#prace5::OnReturn"; donpcevent "Poporing#prace6::OnReturn"; end; WinRace: mapannounce "p_track02","The winner is "+$prace_winner$,1,0xFFAB54; donpcevent "Checker#prace0::OnChequeo"; setnpctimer 30000;startnpctimer; end; OnInit: set $prace_random,70; set $prace_random2,600; set $prace_winner$,""; set $prace_bets,0; set $prace_bidders,0; end; OnTimer500: mapannounce "p_track02","Porings, on your marks...",1,0xFFAB54;end; OnTimer3000: mapannounce "p_track02","...3...",1,0xFFAB54;end; OnTimer4000: mapannounce "p_track02","...2...",1,0xFFAB54;end; OnTimer5000: mapannounce "p_track02","...1...",1,0xFFAB54; callsub StartRace;end; OnTimer6000: stopnpctimer; mapannounce "p_track02","Gooo!!!",1,0xFFAB54;end; OnTimer12000: goto Start1; end; } //----------------------------------- // Racer NPC's //----------------------------------- p_track02,58,38,2 script Poring#prace1 1002,{ end; OnRace: initnpctimer; startnpctimer;end; OnStop: stopnpctimer;end; OnReturn: npcwalkto 58,38;end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Poring#prace1"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2);startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Poring"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } end; } p_track02,58,36,2 script Angeling#prace2 1096,{ end; OnRace: initnpctimer; startnpctimer;end; OnStop: stopnpctimer;end; OnReturn: npcwalkto 58,36;end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Angeling#prace2"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2);startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Angeling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } end; } p_track02,58,34,2 script Metaling#prace3 1613,{ end; OnRace: initnpctimer; startnpctimer;end; OnStop: stopnpctimer;end; OnReturn: npcwalkto 58,34;end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Metaling#prace3"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2);startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Metaling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } end; } p_track02,58,32,2 script Deviling#prace4 1582,{ end; OnRace: initnpctimer; startnpctimer;end; OnStop: stopnpctimer;end; OnReturn: npcwalkto 58,32;end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Deviling#prace4"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2);startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Deviling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } end; } p_track02,58,30,2 script Santa Poring#prace5 1062,{ end; OnRace: initnpctimer; startnpctimer;end; OnStop: stopnpctimer;end; OnReturn: npcwalkto 58,30;end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Santa Poring#prace5"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2);startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Santa Poring"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } end; } p_track02,58,28,2 script Poporing#prace6 1031,{ end; OnRace: initnpctimer; startnpctimer;end; OnStop: stopnpctimer;end; OnReturn: npcwalkto 58,28;end; OnTimer1100: getmapxy(.@mapname$,.@x,.@y,1,"Poporing#prace6"); if(rand(100) < $prace_random) npcwalkto .@x-1,.@y; setnpctimer rand($prace_random2);startnpctimer; if ((.@x-1) == 29) { set $prace_winner$,"Poporing"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; } end; } But I don't know how to change it the way I want! I want the race going on continously.. or better when minimum one bet is set it shouldnt take long to start the race and the bet have to bet one variable; Example: 1000000 Zeny or so And if someone wins I want to set items he can get.. is it able to set % for the items? Hope someone can help! Quote Link to comment Share on other sites More sharing options...
Question
Bandicoot
Hey I have this poring race script
But I don't know how to change it the way I want!
I want the race going on continously.. or better when minimum one bet is set
it shouldnt take long to start the race and the bet have to bet one variable; Example: 1000000 Zeny or so
And if someone wins I want to set items he can get.. is it able to set % for the items?
Hope someone can help!
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.