pr0veitwr0ng Posted November 7, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 16 Reputation: 0 Joined: 11/03/12 Last Seen: December 2, 2017 Share Posted November 7, 2012 (edited) Can anyone fix this script? Because the bidder only get the zeny but the porings won't run. Thanks in advance //===== eAthena Script =============================================== //= Poring Race System //===== By: ========================================================= //= Zell_ff8 //= -Made for Daegaladh, www.Sha-Ro.com Admin //= -and RUNE, http://ro-enhanced.net //= //= xianz //= -Added more features to it. //= Some Rights Reserved //= http://creativecommo...y-nc-sa/2.5/ar/ //= //= Neko //= Rescripted some things. //= Killed the Evils goto's ?_? //= Did the facking tabs, code was all screwed up, now is more readable //===== Current Version: ============================================== //= 1.00 //===== Compatible With: ============================================= //= eAthena SVN 9991+ //===== Description: ================================================= //= Poring Race //===== Additional Comments: ========================================= //= Tested, eA SVN Stable r10128 working 100% //= Need a lot of clean up... but, WORKS!! WTH xD //= 1.00 //= Kinda Cleaned up //= Fixed some exploits and bugs. //= Still need to be Converted the array to store the players ID's Maybe //= I will do it later. //================================================================== p_track01 mapflag nobranch p_track01 mapflag noicewall p_track01 mapflag nomemo p_track01 mapflag noreturn p_track01 mapflag noteleport p_track01 mapflag nowarpto p_track01 mapflag nowarp p_track01 mapflag pvp off p_track01 mapflag nosave - script PraceAnnouncer -1,{ OnMinute45: set $accessPrace, 1; announce "Poring Race is now open!",0,0xFFAB54; end; OnPraceEnd: set $accessPrace, 0; announce "Poring Race is over!",0,0xFFAB54; end; } prontera,139,184,5 script Poring Race::Prace 882,{ if( $accessPrace == 0) { mes "[Poring Race Staff]"; mes "Poring Race has ended."; close; } mes "[Poring Race Staff]"; mes "Do you want to participate on Poring Race?"; menu "Yes",-,"No",L_no; if( $accessPrace == 0) { mes "[Poring Race Staff]"; mes "..."; mes "..."; mes "Cheater!!~~"; close; } close2; warp "p_track01",52,41; end; L_no: next; mes "[Poring Race Staff]"; mes "See you again next time!"; close; } p_track01,78,42,0 warp p_track002 1,3,prontera,142,170 //NPC Checker - 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_track01"," Congratulations! "+strcharinfo(0)+" has won!",1,0xFFAB54; getitem 7199,2; 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 765 p_track01,58,41,3 script Bidder#prace0 877,{ if($prace_random < 1) callsub OnInit; if( prace_playing == 1) { mes "[bidder]"; mes "You have choose ^00bb00"+prace_winner$+"^000000"; close; } 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; } set .@prace_zeny,3500; mes "[bidder]"; mes "Choose the poring you want to bet:"; mes "It will cost "+.@prace_zeny+" Zeny."; //next; switch( select("Poring","Angeling","Metaling","Deviling","Santa Poring","Poporing","None.") ) { case 1: set .@thining$,"Poring"; break; case 2: set .@thining$,"Angeling"; break; case 3: set .@thining$,"Metaling"; break; case 4: set .@thining$,"Deviling"; break; case 5: set .@thining$,"Santa Poring"; break; case 6: set .@thining$,"Poporing"; break; case 7: mes "[bidder]"; mes "Goodbye."; close; } 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 "..."; mes "..."; mes "Cheater!!~~"; close; } if( Zeny < .@prace_zeny) { set prace_winner$,""; mes "[bidder]"; mes "You don't have enough Zeny."; close; } set Zeny,Zeny - .@prace_zeny; set prace_winner$,.@thining$; 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; 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_track01","The winner is "+$prace_winner$,1,0xFFAB54; donpcevent "Checker#prace0::OnChequeo"; sleep2 10000; mapwarp "p_track01","prontera",142,170; set $accessPrace, 0; setnpctimer 30000; startnpctimer; donpcevent "PraceAnnouncer::OnPraceEnd"; 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_track01","Porings, on your marks...",1,0xFFAB54; end; OnTimer3000: mapannounce "p_track01","...3...",1,0xFFAB54; end; OnTimer4000: mapannounce "p_track01","...2...",1,0xFFAB54; end; OnTimer5000: mapannounce "p_track01","...1...",1,0xFFAB54; callsub StartRace; end; OnTimer6000: stopnpctimer; mapannounce "p_track01","Gooo!!!",1,0xFFAB54; end; OnTimer35000: set $prace_winner$,""; set $prace_bets,0; stopnpctimer; callsub ReturnRace; end; OnTimer90000: npctalk "I got "+$prace_bets+" bets. Anyone else?"; end; OnTimer110000: npctalk "The race will start soon. Last chance."; end; OnTimer120000: goto Start1; end; } //----------------------------------- // Racer NPC's //----------------------------------- p_track01,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_track01,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_track01,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_track01,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_track01,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_track01,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; } Edited November 7, 2012 by AnnieRuru use [codebox] if the script > 10 lines Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted November 7, 2012 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted November 7, 2012 I think you got from here ... a post in 2008 http://www.eathena.ws/board/index.php?s=&showtopic=162107&view=findpost&p=1064448 you should try this one ... made in 2010 http://www.eathena.ws/board/index.php?showtopic=251477 Quote Link to comment Share on other sites More sharing options...
pr0veitwr0ng Posted November 7, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 16 Reputation: 0 Joined: 11/03/12 Last Seen: December 2, 2017 Author Share Posted November 7, 2012 Ma'am I already tried it, yes the porings run but they stop at the very start. o.O Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted November 7, 2012 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted November 7, 2012 OnTimer1000: getmapxy(.@mapname$,.@mapx,.@mapy,1,"Deviling#prace4"); if (rand(100) < $prace_random) npcwalkto .@mapx-1,.@mapy; stopnpctimer;// <-- ADD THIS setnpctimer rand($prace_random2); startnpctimer; if ((.@mapx-1) == 29) { set $prace_winner$,"Deviling"; emotion 29; donpcevent "Race Manager#prace0::OnStopRace"; } end; the reason is rathena script engine updates, now if we want to setnpctimer, have to stopnpctimer 1st but well, I tested even I made that fix, it has some other bugs .... so I think ... just give up that script zell_ff8 and masao already inactive Quote Link to comment Share on other sites More sharing options...
pr0veitwr0ng Posted November 8, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 16 Reputation: 0 Joined: 11/03/12 Last Seen: December 2, 2017 Author Share Posted November 8, 2012 Ohh thanks, the porings run now, but the bet won't reset for those who lose. You've already chosen Poring. Quote Link to comment Share on other sites More sharing options...
Question
pr0veitwr0ng
Can anyone fix this script? Because the bidder only get the zeny but the porings won't run. Thanks in advance
Edited by AnnieRuruuse [codebox] if the script > 10 lines
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.