Poringraceeventbe givingto betafter therace starts,thensee whichplayersporingbewinningbetanditalmostalways winandI would like tofix it <<(google translater)
//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 "O vencedor é o "+$prace_winner$+" e você apostou em "+prace_winner$+".";
if( prace_winner$ == $prace_winner$ && prace_winner$ != "") {
dispbottom "Você venceu!";
mapannounce "cydonia"," Parabéns! "+strcharinfo(0)+" venceu!",1,0xFFAB54;
getitem 7539,10;
emotion 21,1;
} else
dispbottom "Você perdeu."; 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;
}
}
- script Timers#prace0 -1,{
OnClock0000: callsub OnCalll;
OnClock0200: callsub OnCalll;
OnClock0400: callsub OnCalll;
OnClock0600: callsub OnCalll;
OnClock0816: callsub OnCalll;
OnClock1023: callsub OnCalll;
OnClock1200: callsub OnCalll;
OnClock1400: callsub OnCalll;
OnClock1600: callsub OnCalll;
OnClock1800: callsub OnCalll;
OnClock2000: callsub OnCalll;
OnClock2200: callsub OnCalll;
OnCalll:
set $prace_gate,1;
announce "A 'Corrida dos Porings' irá começar em breve, façam suas apostas!",bc_all|bc_yellow;
end;
}
//====== Principal: ============================================
cydonia,100,59,3 script Bidder#prace0 765,{
set .@prace_zeny,20000000; // Preço para apostar. [Padrão: 20000000]
if ($prace_random < 1) callsub OnInit;
if (@prace_playing==1) callsub AlreadyPlaying;
if($prace_gate == 0){ mes "[Bidder]"; mes "Não teremos corrida no momento..."; 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,"Poring Noel#prace5");
if (.@x1 != 103 || .@x2 != 106 || .@x3 != 109 || .@x4 != 112 || .@x5 != 115){
mes "[Bidder]"; mes "Uma corrida está em andamento..."; close;
}
mes "[Bidder]"; mes "Escolha o poring em que deseja apostar:";mes "Irá custar "+.@prace_zeny+" Zeny.";next;
switch(select("Poring","Angeling","Metaling","Deviling","Poring Noel","Poporing")){
case 1: callfunc "OnBid","Poring";
case 2: callfunc "OnBid","Angeling";
case 3: callfunc "OnBid","Metaling";
case 4: callfunc "OnBid","Deviling";
case 5: callfunc "OnBid","Poring Noel";
}
OnReady:
set $prace_bets,$prace_bets+1;
set $prace_bidders[$prace_bets],getcharid(3);
set @prace_playing,1;
mes "[Bidder]";
mes "Eu tenho "+$prace_bets+" apostas.";
setnpctimer 60000; startnpctimer;
npctalk strcharinfo(0)+" fez sua aposta!";
close;
Start1: setnpctimer 0; startnpctimer; end;
AlreadyPlaying: mes "[Bidder]"; mes "Você apostou em ^00bb00"+prace_winner$+"^000000."; close;
StartRace:
donpcevent "Metaling#prace3::OnRace";
donpcevent "Poring#prace1::OnRace";
donpcevent "Angeling#prace2::OnRace";
donpcevent "Poring Noel#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 "Poring Noel#prace5::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 "Poring Noel#prace5::OnReturn";
end;
WinRace:
set $prace_gate,0;
mapannounce "cydonia","O vencedor é o "+$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 "cydonia","Porings, em suas marcas...",1,0xFFAB54; end;
OnTimer3000: mapannounce "cydonia","...3...",1,0xFFAB54; end;
OnTimer4000: mapannounce "cydonia","...2...",1,0xFFAB54; end;
OnTimer5000: mapannounce "cydonia","...1...",1,0xFFAB54; callsub StartRace; end;
OnTimer6000: stopnpctimer; mapannounce "cydonia","Gooo!!!",1,0xFFAB54; end;
OnTimer35000: set $prace_winner$,""; set $prace_bets,0; stopnpctimer; callsub ReturnRace;
OnTimer90000: npctalk "Eu tenho "+$prace_bets+" aposta(s). Alguém mais?"; end;
OnTimer110000: npctalk "A corrida irá começar em breve. Última chance."; end;
OnTimer120000: callsub Start1;
}
//====== Função Apostar: =======================================
function script OnBid {
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,"Poring Noel#prace5");
if (.@x1 == 103 || .@x2 == 106 || .@x3 == 109 || .@x4 == 112 || .@x5 == 115){
if (Zeny < .@prace_zeny) { callsub OnZeny; } else { set Zeny,Zeny-.@prace_zeny; }
set prace_winner$,getarg(0); callsub OnReady;
}
mes "[Bidder]"; mes "Uma corrida está em andamento..."; close;
OnZeny: set prace_winner$,""; mes "[Bidder]"; mes "Você não tem Zeny suficiente."; close;
OnReady: set $prace_bets,$prace_bets+1; set $prace_bidders[$prace_bets],getcharid(3);
set @prace_playing,1; mes "[Bidder]"; mes "Eu tenho "+$prace_bets+" apostas.";
setnpctimer 60000; startnpctimer; npctalk strcharinfo(0)+" fez sua aposta!"; close;
}
//====== Monstros: ==============================================
cydonia,103,54,4 script Poring#prace1 1002,{
end;
OnRace: initnpctimer; startnpctimer; end;
OnStop: stopnpctimer; end;
OnReturn: npcwalkto 103,54; end;
OnTimer1100:
getmapxy(.@mapname$,.@x,.@y,1,"Poring#prace1");
if(rand(100) < $prace_random) npcwalkto .@x,.@y-1;
setnpctimer rand($prace_random2); startnpctimer;
if ((.@y-1) == 31) { set $prace_winner$,"Poring"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; }
}
cydonia,106,54,4 script Angeling#prace2 1096,{
end;
OnRace: initnpctimer; startnpctimer; end;
OnStop: stopnpctimer; end;
OnReturn: npcwalkto 106,54; end;
OnTimer1100:
getmapxy(.@mapname$,.@x,.@y,1,"Angeling#prace2");
if(rand(100) < $prace_random) npcwalkto .@x,.@y-1;
setnpctimer rand($prace_random2); startnpctimer;
if ((.@y-1) == 31) { set $prace_winner$,"Angeling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; }
}
cydonia,109,54,4 script Metaling#prace3 1613,{
end;
OnRace: initnpctimer; startnpctimer; end;
OnStop: stopnpctimer; end;
OnReturn: npcwalkto 109,54; end;
OnTimer1100:
getmapxy(.@mapname$,.@x,.@y,1,"Metaling#prace3");
if(rand(100) < $prace_random) npcwalkto .@x,.@y-1;
setnpctimer rand($prace_random2); startnpctimer;
if ((.@y-1) == 31) { set $prace_winner$,"Metaling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; }
}
cydonia,112,54,4 script Deviling#prace4 1582,{
end;
OnRace: initnpctimer; startnpctimer; end;
OnStop: stopnpctimer; end;
OnReturn: npcwalkto 112,54; end;
OnTimer1100:
getmapxy(.@mapname$,.@x,.@y,1,"Deviling#prace4");
if(rand(100) < $prace_random) npcwalkto .@x,.@y-1;
setnpctimer rand($prace_random2); startnpctimer;
if ((.@y-1) == 31) { set $prace_winner$,"Deviling"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; }
}
cydonia,115,54,4 script Poring Noel#prace5 1062,{
end;
OnRace: initnpctimer; startnpctimer; end;
OnStop: stopnpctimer; end;
OnReturn: npcwalkto 115,54; end;
OnTimer1100:
getmapxy(.@mapname$,.@x,.@y,1,"Poring Noel#prace5");
if(rand(100) < $prace_random) npcwalkto .@x,.@y-1;
setnpctimer rand($prace_random2); startnpctimer;
if ((.@y-1) == 31) { set $prace_winner$,"Poring Noel"; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; }
}
Question
Scofield
Poring race event be giving to bet after the race starts, then see which players poring be winning bet and it almost always win and I would like to fix it <<(google translater)
Link to comment
Share on other sites
1 answer 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.