[Duda]їBug de samp o error mio?
#1

Buenas, resulta que he creado un comando parar reparar vehiculos por partes, tiene para reparar motor, puertas, luces y llantas, el problema es que al reparar las puertas, si tiene las luces daсadas, no repara las puertas hasta que se reparen las luces.
No se si me entendieron pero se lo explicare de otra manera:

/reparar puertas (Si el vehiculo solo tiene daсadas las puertas, las repara)
/reparar puertas (Si el vehiculo tiene daсadas las luces, no repara las puertas)

/reparar luces (Si el vehiculo solo tiene daсadas las luces, las repara)
/reparar luces (Si el vehiculo tiene daсadas las luces y las puertas, me repara las puertas si ya he colocado el comando de reparar las puertas anteriormente, y tambien me repara las luces, si no he colocado el comando de reparar puertas anteriormente, solamente me repara las luces).

El comando es el siguiente:

PHP код:
CMD:reparar(playerid,params[])
    {
        new 
paneles,puertas,luces,ruedas;
        new 
vehid GetPlayerVehicleID(playerid);
        new 
choice[32];
        if(
sscanf(params,"s[32]",choice)) return ParamsINC(playerid,"/reparar [Motor/Puertas/Luces/Ruedas]");
        if(
strcmp(choice,"motor",true) == 0)
        {
            
SetVehicleHealth(vehid,1000.0);
            
Mensaje(playerid,C_VERDE,"ЎHas reparado el motor del vehiculo!");
            return 
1;
        }
        else if(
strcmp(choice,"puertas",true) == 0)
        {
            
GetVehicleDamageStatus(vehidpanelespuertaslucesruedas);
            
puertas encode_doors(000000);
            
paneles encode_panels(0000000);
            
UpdateVehicleDamageStatus(vehidpanelespuertaslucesruedas);
            
Mensaje(playerid,C_VERDE,"ЎHas reparado las puertas del vehiculo!");
            return 
1;
        }
        else if(
strcmp(choice,"luces",true) == 0)
        {
            
GetVehicleDamageStatus(vehidpanelespuertaslucesruedas);
            
luces encode_lights(0000);
            
paneles encode_panels(0000000);
            
UpdateVehicleDamageStatus(vehidpanelespuertaslucesruedas);
            
Mensaje(playerid,C_VERDE,"ЎHas reparado las luces del vehiculo!");
            return 
1;
        }
        else if(
strcmp(choice,"ruedas",true) == 0)
        {
            
GetVehicleDamageStatus(vehidpanelespuertaslucesruedas);
            
ruedas encode_tires(0000);
            
paneles encode_panels(0000000);
            
UpdateVehicleDamageStatus(vehidpanelespuertaslucesruedas);
            
Mensaje(playerid,C_VERDE,"ЎHas reparado las ruedas del vehiculo!");
            return 
1;
        }
        return 
1;
    } 
No se que es eso de panels, lo teste y no vi que hubiera cambio alguno en el vehiculo al reparar, de manera que lo agregue en cada opcion, por las dudas.

Bueno, ese es el comando, si no me entendieron en lo que dije anteriormente, el problema es que pareciera que le diera valor a una variable al usar "puertas", y al usar "luces" verifica el valor de la variable y arregla ambas, puertas y luces.
No se si es un bug de samp o es un error mio en el cmd(que no creo por que es bastante sencillo y ya lo observe una y otra vez).

PD: Tambien lo teste por comandos independientes, sin usar sscanf, y ocurre lo mismo.
Reply
#2

Revivo.
Reply
#3

Para lograr hacerlo por partes tienes que utilizar binarios, aquн te dejo una idea

https://sampforum.blast.hk/showthread.php?tid=529021 - Para neumбticos
https://sampforum.blast.hk/showthread.php?tid=496438 - Para puertas
Reply
#4

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
Para lograr hacerlo por partes tienes que utilizar binarios, aquн te dejo una idea

https://sampforum.blast.hk/showthread.php?tid=529021 - Para neumбticos
https://sampforum.blast.hk/showthread.php?tid=496438 - Para puertas
Es lo mismo que el "encode", їno?

Editado: Segun lo que observe si es lo mismo pero encode es como que hiciera el trabajo de los binarios por mi. De igual manera quiero saber es por que de esa manera no lo agarrar cuando deberia de hacerlo.
Reply
#5

Revivo.
Reply
#6

Revivo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)