Jump to content
  • 0

Event


Scofield

Question


  • Group:  Members
  • Topic Count:  107
  • Topics Per Day:  0.03
  • Content Count:  265
  • Reputation:   11
  • Joined:  01/11/13
  • Last Seen:  

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)

 

//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"; }
}
Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  107
  • Topics Per Day:  0.03
  • Content Count:  265
  • Reputation:   11
  • Joined:  01/11/13
  • Last Seen:  

up

Link to comment
Share on other sites

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...