Jump to content
  • 0

Poring Race' not working


leertaste

Question


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  137
  • Reputation:   1
  • Joined:  02/02/13
  • Last Seen:  

Hey there,

 

I'm actually using this script:
It worked a few months ago also under rAthena instead of eAthena.

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

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_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;
}

Since I'm not well known to syntax-development I have to ask:

What has to be done to make it work again? :)

Edited by leertaste
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...