SA-MP Forums Archive
[Ajuda] Comando nгo funciona - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Comando nгo funciona (/showthread.php?tid=444638)



Comando nгo funciona - BarbaNegra - 17.06.2013

Bom dia a todos do fуrum,queria ver se hб possibilidade de vocкs me ajudar nesse comando no qual nгo funciona.O comando seria para a profissгo de mecвnico no qual o mesmo conserta veнculos,sу que hб um problema nгo dб certo,eu jб tentei arrumб-lo de vбrias forma,porйm sem resultado.O comando nгo estб checando se a pessoa estб com dinheiro para poder arrumar o veнculo e nem consertando.Vou separar as partes
que usa o comando.
Na include:
PHP код:
{
    if(
PlayerInfo[playerid][pJob] == JOB_MECHANIC)
    {
        if(
RefillOffer[playerid] == INVALID_PLAYER_ID && RepairOffer[playerid] == INVALID_PLAYER_ID)
        {
            if(
PlayerInfo[playerid][pPasatizhi])
            {
                if(!
RepairReset[playerid])
                {
                    new 
id, part, price, string[150], Float:X, Float:Y[2], Float:Z, rname[30];
                    if(
sscanf(params,"uii", id, part, price) || part < 1 || part > 5)
                    {
                        
SendClientMessage(playerid,COLOR_ISPOLZUY,"Use: /reparar [ID/Nome] [ID parte do veнculo] [Preзo]");
                        
SendClientMessage(playerid,COLOR_WHITE,"__________ lista disponнveis ID's __________");
                        
SendClientMessage(playerid,COLOR_WHITE,"1. Motor");
                        
SendClientMessage(playerid,COLOR_WHITE,"2. Painel");
                        
SendClientMessage(playerid,COLOR_WHITE,"3. Portas");
                        
SendClientMessage(playerid,COLOR_WHITE,"4. Farуis");
                        
SendClientMessage(playerid,COLOR_WHITE,"5. Rodas");
                        
SendClientMessage(playerid,COLOR_WHITE,"____________________________________________");
                        return 
true;
                    }
                    switch(
part)
     {
                        case 
1: rname = "Reparou o Motor";
                        case 
2: rname = "Reparou o Painel";
                        case 
3: rname = "Reparou as Portas";
                        case 
4: rname = "Reparou os Farуis";
                        case 
5: rname = "Reparou as rodas";
                    }
                    if(
RepairOffer[id] == INVALID_PLAYER_ID)
                    {
                        if(
GetPlayerState(id) == PLAYER_STATE_DRIVER)
                        {
                            if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
                            {
           if(
price > 0)
                                {
                                    new 
carid = GetPlayerVehicleID(id);
                                    
GetVehicleModelInfo(GetVehicleModel(carid), VEHICLE_MODEL_INFO_SIZE, X, Y[1], Z);
                                    
GetVehicleShiftPos( carid, 0, X, Y[0], Z, Y[1] / 2 );
                                    if(
IsPlayerInRangeOfPoint( playerid, 1.0, X, Y[0], Z ) )
                                    {
                                        if(
price > 200) return SendClientMessage(playerid,COLOR_GREY,"Nгo pode cobrar mais de $200 pelo serviзo");
                                        
format(string,sizeof(string),"{FFFFFF}Mecвnico {10F441}%s {FFFFFF}oferece-lhe %s.\nCusto: {10F441}$%d",cPN(playerid), rname, price);
                                        
ProxDetector(1.0, playerid, string, COLOR_PURPLE);
                                        if(!
ShowPlayerDialogEx(id,75,0,"Reparos",string,"Aceitar","Cancelar"))
                                        {
                                            
SendClientMessage(playerid, COLOR_GREY, "Nгo disponнvel no momento.");
                                        }
                                        else
                                        {
                                            
format(string,sizeof(string),"Vocк quer consertar %s veнculo %s por $%d",cPN(id), rname, price);
                                            
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
                                            
RepairOffer[playerid] = id;
                                            
RepairOffer[id] = playerid;
                                            
RepairPrice[id] = price;
                                            
RepairPart[id] = part;
                                        }
                                    }
                                    else 
SendClientMessage(playerid,COLOR_GREY,"Vocк estб muito longe desse veнculo.");
                                }
                                else 
SendClientMessage(playerid,COLOR_GREY,"Preзo deve ser entre RS $ 1 a $ 200.");
                            }
                            else 
SendClientMessage(playerid,COLOR_GREY,"Vocк deve estar fora desse veнculo.");
                        }
                        else 
SendClientMessage(playerid,COLOR_GREY,"O jogador deve sentar-se no veнculo.");
                    }
                    else 
SendClientMessage(playerid,COLOR_GREY,"Este jogador jб recebeu uma proposta para uma reparaзгo.");
                }
                else 
SendClientMessage(playerid,COLOR_GREY,"Vocк pode reparar, reabastece, instalaзгo de nйon/apenas 1 vezes em 30 segundos");
            }
            else 
SendClientMessage(playerid,COLOR_GREY,"Vocк nгo tem uma chave para reparar veнculos.");
        }
        else 
SendClientMessage(playerid,COLOR_GREY,"Jб tem alguйm reparando o veнculo.");
    }
    return 
true;
} 
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
:
PHP код:
case 75:
        {
            new 
rname[30];
            new 
offer = RepairOffer[playerid];
            if(
response)
            {
                if(
offer != INVALID_PLAYER_ID && RepairOffer[offer] == playerid)
                {
                    new 
carid = GetPlayerVehicleID(playerid), Float:X, Float:Y, Float:Z;
                    
GetVehicleShiftPos( carid, 0, X, Y, Z, 3.0 );
                    if(
IsPlayerInRangeOfPoint( offer, 2.0, X, Y, Z) )
                    {
                        if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerState(offer) == PLAYER_STATE_ONFOOT)
                        {
                            if(
GetMoney(playerid) >= RepairPrice[playerid])
                            {
                                switch(
RepairPart[playerid])
                                {
                                    case 
1:
                                    {
                                        
rname = "Reparou o Motor";
                                        
SetBonnetStatus( carid, true );
                                        
SetPlayerFaceToPoint(offer, X, Y);
                                    }
                                    case 
2:
                                    {
                                        
rname = "Reparou o Painel";
                                        
RepairReset[offer] = 15 * 20;
                                    }
                                    case 
3:
                                    {
                                        
rname = "Reparou as Portas";
                                        
RepairReset[offer] = 15 * 20;
                                    }
                                    case 
4:
                                    {
                                        
rname = "Reparou os Farуis";
                                        
RepairReset[offer] = 10 * 20;
                                    }
                                    case 
5:
                                    {
                                        
rname = "Reparou as rodas";
                                        
RepairReset[offer] = 20 * 20;
                                    }
                                    default: return 
false;
                                }
                                
ApplyAnimation(offer, "ROB_BANK", "CAT_Safe_Rob", 4.1, 0, 1, 1, 1, 0, 1);
                                
format(string,sizeof(string),"Vocк usou os serviзos de mecвnica %s ( %s ) por $%d",cPN(offer), rname, RepairPrice[playerid]);
                                
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
                                
format(string,sizeof(string),"Forneceu um serviзo ao jogador %s ( %s ) por $%d",cPN(playerid), rname, RepairPrice[playerid]);
                                
ProxDetector(1.0, playerid, string, COLOR_PURPLE);
                                
SendClientMessage(offer,COLOR_LIGHTBLUE,string);
                                
GiveMoney(playerid,-RepairPrice[playerid],"Repair-");
                                
GiveMoney(offer,RepairPrice[playerid],"Repair+");
                                
SetEngineStatus( carid, false );
                                
SaveAccount(playerid);
                                
SaveAccount(offer);
                                
InJob[offer] = 1;
                            }
                            else
                            {
                                
SendClientMessage(playerid,COLOR_GREY,"Vocк nгo tem dinheiro.");
                                
CheckRepair( offer );
                            }
                        }
                        else
                        {
                            
SendClientMessage(playerid,COLOR_GREY,"vocк estб fora de veнculo ou o mecвnico.");
                            
CheckRepair( offer );
                        }
                    }
                    else
                    {
                        
SendClientMessage(playerid,COLOR_GREY,"Mecвnico estб longe do veнculo.");
                        
CheckRepair( offer );
                    }
                }
                else
                {
                    
SendClientMessage(playerid,COLOR_GREY,"Ocorreu um erro.");
                    
CheckRepair( offer );
                }
            }
            else
            {
                
SendClientMessage(playerid,COLOR_GREY,"Vocк se recusou.");
                
CheckRepair( offer );
            }
            return 
true;
        } 
Quando o condutor do veiculo aceita arrumar o carro aparece isso,
PHP код:
 SendClientMessage(playerid,COLOR_GREY,"Ocorreu um erro."); 

Caso esteja faltando alguma parte eu posto,espero que entendam e me ajudem,agradeзo.


Re: Comando nгo funciona - Delete_ - 17.06.2013

Otimize seu comando:
pawn Код:
if (Condicao != 1) return SendClientMessage(playerid, 1, "ERRO");
Vocк irб encontrar o erro rapidinho.


Re: Comando nгo funciona - BarbaNegra - 17.06.2013

И assim,o mecвnico manda o convite para o condutor do veнculo para aceitar o preзo e a parte do veнculo para consertar.Quando o condutor aceita aн aparece esse erro.Eu tentei tirar todo o dinheiro do condutor para ver
se estava checando o dinheiro do condutor tambйm nгo deu.Acho que um problema estб levando ao outro..