[Ajuda] bug estranho.
#1

Bom, vamos lб, essa й a stock de verificaзгo pra verificar se o jogador estб perto de um barco de pescador...

PHP код:
stock EstaPertoBarcoPescador(playerid)
{
    new 
Float:Xp, Float:Yp, Float:Zp, Valor = 0;
    
    
GetVehiclePos(72, Xp, Yp, Zp), GetVehiclePos(73, Xp, Yp, Zp), GetVehiclePos(74, Xp, Yp, Zp),
    
GetVehiclePos(75, Xp, Yp, Zp), GetVehiclePos(76, Xp, Yp, Zp), GetVehiclePos(77, Xp, Yp, Zp);
    if(
IsPlayerInRangeOfPoint(playerid, 30.0, Xp, Yp, Zp))
    {
        
Valor = 1; // True
    
}
    else
    {
        
Valor = 0; // Falso
    
}
    return 
Valor;
} 
Tentei passar um Loop entre os valores 72 e 77, e sempre sу retorna o ъltimo barco, ou seja 77.

Como estou usando a verificaзгo:

PHP код:
CMD:pescar(playerid, params[])
{
    new 
porte[15];
    if(
sscanf(params, "s[15]", porte)) return SCM(playerid, COLOR_ERRO, "| ERRO | Digite: /Pescar [Porte], Portes Existentes: Baixo, Medio, Alto.");
    if(
PlayerInfo[playerid][Prof] != PROF_PESCADOR) return SCM(playerid, COLOR_ERRO, "| ERRO | Vocк nгo й um(a) Pescador(a).");
    
//Baixo
    
if(!strcmp(porte, "baixo", true))
    {
        if(
IsPlayerInPlace(playerid, -789.3403,441.1166, -694.0235,540.2366))
        {
            if(
GetPlayerCash(playerid) > 100)
            {
                if(
Pescando[playerid] == false)
                {
                    if(
EstaPertoBarcoPescador(playerid))
                    {
                           new 
jstring[400];
                        
Pescando[playerid] = true;
                        
format(jstring, sizeof(jstring), "{808040}Pescador: {FFFFFF}Agora vocк estб pescando na Gang Zone que irб te dar esses tipos de peixes:");
                        
format(jstring, sizeof(jstring), "%s\n\n{808040}Peixes: {FFFFFF}Preзos Mйdios - Sardinha %d R$ | Traнra %d R$ | Tilбpia %d R$.", jstring, VALOR_KG_SARDINHA, VALOR_KG_TRAIRA, VALOR_KG_TILAPIA);
                        
format(jstring, sizeof(jstring), "%s\n\n{FFFF00}Aviso: {FFFFFF}Esses preзos podem variar, mas й o valor do Kilo, se vocк for vender.", jstring);
                        
format(jstring, sizeof(jstring), "%s\n\n{808040}Pesca: {FFFFFF}Espere 1 Minuto e 30 Segundos para terminar a pesca... e nгo saia da бrea de pesca.", jstring);
                        
ShowPlayerDialog(playerid, AVISO_PESCA, DIALOG_STYLE_MSGBOX, "{FFFF00}Pescando.. Informaзхes", jstring, "Fechar", "");
                        
SetTimerEx("TerminoPesca", SEGUNDOS * 5, false, "i", playerid);
                        
sGivePlayerCash(playerid, - 100);
                    }
                    else return 
SCM(playerid, COLOR_ERRO, "| ERRO | Vocк nгo estб perto de um barco.");
                }
                else return 
SCM(playerid, COLOR_ERRO, "| ERRO | Vocк jб estб pescando...");
            }
            else return 
SCM(playerid, COLOR_ERRO, "| ERRO | Vocк precisa ter 100 R$ para comprar uma vara, se nгo, vocк nгo pesca.");
        }
    } 
Como eu disse acima, sу da pra pescar com o barco id 77, eu vejo pelo id dos barcos pelo /dl, tб tudo certinho.
Reply
#2

Vocк estб pegando as posiзхes e colocando todas na mesma variбvel, entгo o valor dela serб o do ъltimo barco.
pawn Код:
stock EstaPertoBarcoPescador(playerid)
{
    new Float:Xp, Float:Yp, Float:Zp;
    for(new i = 72; i != 77; i++)
    {
      GetVehiclePos(i, Xp, Yp, Zp);
      if(IsPlayerInRangeOfPoint(playerid, 30.0, Xp, Yp, Zp))
      {
         return 1;
      }
    }

    return 0;
}
Reply
#3

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Vocк estб pegando as posiзхes e colocando todas na mesma variбvel, entгo o valor dela serб o do ъltimo barco.
pawn Код:
stock EstaPertoBarcoPescador(playerid)
{
    new Float:Xp, Float:Yp, Float:Zp;
    for(new i = 72; i != 77; i++)
    {
      GetVehiclePos(i, Xp, Yp, Zp);
      if(IsPlayerInRangeOfPoint(playerid, 30.0, Xp, Yp, Zp))
      {
         return 1;
      }
    }

    return 0;
}
Vlw amigo!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)