Me anda mal el comando
#1

Hola, en mi GM tengo este comando pero es que cuando lo uso, el vehнculo no estaciona.

pawn Код:
if (strcmp(cmd, "/estacionar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            {
                new coche = GetPlayerVehicleID(playerid);
                if(EsUnAutoEnVenta(coche))
                {
                    if(JugadorInfo[playerid][jLlave] == coche)
                    {
                        new Float:x,Float:y,Float:z;
                        new Float:a;
                        GetVehiclePos(coche, x, y, z);
                        GetVehicleZAngle(coche, a);
                        AutoInfo[coche][aLocationx] = x;
                        AutoInfo[coche][aLocationy] = y;
                        AutoInfo[coche][aLocationz] = z;
                        AutoInfo[coche][aAngle] = a;
                        GameTextForPlayer(playerid, "Estacionaste tu auto aqui, este respawneara aqui!.", 10000, 3);
                        GuardarFiles();
                    }
                    else
                    {
                        SendClientMessage(playerid, ROJO_OSCURO, " Este auto no es tuyo!");
                        return 1;
                    }
                }
            }
        }
        return 1;
    }
La cosa es, uso el comando y dice que estaciono, pero lo respawneo y no aparece en donde lo estacione, aparece en el lugar estandar donde estaba a la venta.
Reply
#2

creo que el problema es return 1;

intenta asн a ver:

pawn Код:
if (strcmp(cmd, "/estacionar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            {
                new coche = GetPlayerVehicleID(playerid);
                if(EsUnAutoEnVenta(coche))
                {
                    if(JugadorInfo[playerid][jLlave] == coche)
                    {
                        new Float:x,Float:y,Float:z;
                        new Float:a;
                        GetVehiclePos(coche, x, y, z);
                        GetVehicleZAngle(coche, a);
                        AutoInfo[coche][aLocationx] = x;
                        AutoInfo[coche][aLocationy] = y;
                        AutoInfo[coche][aLocationz] = z;
                        AutoInfo[coche][aAngle] = a;
                        GameTextForPlayer(playerid, "Estacionaste tu auto aqui, este respawneara aqui!.", 10000, 3);
                        GuardarFiles();
                    }
                    else
                    {
                        SendClientMessage(playerid, ROJO_OSCURO, " Este auto no es tuyo!");
                    }
                }
            }
        }
        return 1;
    }
Reply
#3

no creo que el problema estй ahн xD xTexTx pasa los cуdigos de GuardarFiles y OnVehicleSpawn
Reply
#4

Esa es la linea del GuardarFiles

pawn Код:
public GuardarFiles()
{
    new idx;
    new File: file2;
    while (idx < sizeof(CasaInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%f,%f,%s,%s,%d,%d,%d,%d,%d,%d\n",
        CasaInfo[idx][cComprada],
        CasaInfo[idx][cEntradax],
        CasaInfo[idx][cEntraday],
        CasaInfo[idx][cEntradaz],
        CasaInfo[idx][cSalidax],
        CasaInfo[idx][cSaliday],
        CasaInfo[idx][cSalidaz],
        CasaInfo[idx][cComprador],
        CasaInfo[idx][cDescripcion],
        CasaInfo[idx][cValor],
        CasaInfo[idx][cHeal],
        CasaInfo[idx][cInt],
        CasaInfo[idx][cCerrada],
        CasaInfo[idx][cNivel],
        CasaInfo[idx][cWorld]);
        CasaInfo[idx][cWorld] = idx;
        if(idx == 0)
        {
            file2 = fopen("casas.cfg", io_write);
        }
        else
        {
            file2 = fopen("casas.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    idx = 0;
    while (idx < sizeof(HotelInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%s,%d,%d\n",
        HotelInfo[idx][hComprada],
        HotelInfo[idx][hEntradax],
        HotelInfo[idx][hEntraday],
        HotelInfo[idx][hEntradaz],
        HotelInfo[idx][hComprador],
        HotelInfo[idx][hCerrada],
        HotelInfo[idx][hWorld]);
        if(idx == 0)
        {
            file2 = fopen("hotel.cfg", io_write);
        }
        else
        {
            file2 = fopen("hotel.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    idx = 0;
    while (idx < sizeof(NegocioInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d|%s|%s|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
        NegocioInfo[idx][nComprado],
        NegocioInfo[idx][nComprador],
        NegocioInfo[idx][nDescripcion],
        NegocioInfo[idx][nEntradaX],
        NegocioInfo[idx][nEntradaY],
        NegocioInfo[idx][nEntradaZ],
        NegocioInfo[idx][nSalidaX],
        NegocioInfo[idx][nSalidaY],
        NegocioInfo[idx][nSalidaZ],
        NegocioInfo[idx][nNivel],
        NegocioInfo[idx][nPrecio],
        NegocioInfo[idx][nEntrada],
        NegocioInfo[idx][nBanco],
        NegocioInfo[idx][nCerrado],
        NegocioInfo[idx][nInterior],
        NegocioInfo[idx][nProductos],
        NegocioInfo[idx][nMaxProductos],
        NegocioInfo[idx][nPrecioProd],
        NegocioInfo[idx][nWorld]);
        if(idx == 0)
        {
            file2 = fopen("negocios.cfg", io_write);
        }
        else
        {
            file2 = fopen("negocios.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    idx = 0;
    while (idx < sizeof(NegocioNInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d|%s|%s|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d\n",
        NegocioNInfo[idx][nbComprado],
        NegocioNInfo[idx][nbComprador],
        NegocioNInfo[idx][nbDescripcion],
        NegocioNInfo[idx][nbEntradaX],
        NegocioNInfo[idx][nbEntradaY],
        NegocioNInfo[idx][nbEntradaZ],
        NegocioNInfo[idx][nbNivel],
        NegocioNInfo[idx][nbPrecio],
        NegocioNInfo[idx][nbEntrada],
        NegocioNInfo[idx][nbBanco],
        NegocioNInfo[idx][nbProductos],
        NegocioNInfo[idx][nbMaxProductos],
        NegocioNInfo[idx][nbPrecioProd]);
        if(idx == 0)
        {
            file2 = fopen("nnegocios.cfg", io_write);
        }
        else
        {
            file2 = fopen("nnegocios.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    idx = 0;
    while (idx < sizeof(AlmacenInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%f|%f|%f|%d|%d|%d|%d\n",
        AlmacenInfo[idx][alPosicionX],
        AlmacenInfo[idx][alPosicionY],
        AlmacenInfo[idx][alPosicionZ],
        AlmacenInfo[idx][alPlata],
        AlmacenInfo[idx][alDrogas],
        AlmacenInfo[idx][alMateriales],
        AlmacenInfo[idx][alFaccion]);
        if(idx == 0)
        {
            file2 = fopen("almacenes.cfg", io_write);
        }
        else
        {
            file2 = fopen("almacenes.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    idx = 164;
    while (idx < sizeof(AutoInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%s,%s,%d,%d,%d,%f,%f,%f,%f,%f,%f,%f,%f,%d,%d\n",
        AutoInfo[idx][aComprador],
        AutoInfo[idx][aDescripcion],
        AutoInfo[idx][aComprado],
        AutoInfo[idx][aModelo],
        AutoInfo[idx][aValor],
        AutoInfo[idx][aLocationx],
        AutoInfo[idx][aLocationy],
        AutoInfo[idx][aLocationz],
        AutoInfo[idx][aAngle],
        AutoInfo[idx][aOriginalLocationx],
        AutoInfo[idx][aOriginalLocationy],
        AutoInfo[idx][aOriginalLocationz],
        AutoInfo[idx][aOriginalAngle],
        AutoInfo[idx][aColorUno],
        AutoInfo[idx][aColorDos]);
        if(idx == 164)
        {
            file2 = fopen("autos.cfg", io_write);
        }
        else
        {
            file2 = fopen("autos.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}


OnVehicleSpawn:

pawn Код:
public OnVehicleSpawn(vehicleid)
{
    Gasolina[vehicleid] = 100;
    Radio[vehicleid] = 0;
    Motor[vehicleid] = 0;
    Roto[vehicleid] = 0;
    Productos[vehicleid] = 0;
    Rentado[vehicleid] = 0;
    Transportando[vehicleid] = 0;
    return 1;
}
Oye, cuando respawnean tampoco se guarda el tuning.
Reply
#5

Imagino que sн el vehнculo respawnea (vuelve al lugar) y guardastes las coordenadas en un archivo y йsta se almacena en autos.. y al respawnear un auto el servidor llama a OnVehicleSpawn... deberнas de usar SetVehiclePos mas las coordenadas que estбn almacenadas la variable Autos en el callback OnVehicleSpawn

Si no entiendes:

https://sampwiki.blast.hk/wiki/SetVehiclePos
Para el бngulo del vehнculo: https://sampwiki.blast.hk/wiki/SetVehicleZAngle
Reply
#6

De echo no entendн tu explicaciуn xD
Reply
#7

Almacenas las coordenadas en la variable "AutoInfo" exactamente en

pawn Код:
AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]
Entonces para hacerlo "re-aparecer" que haces? Sн cuando un vehнculo re-aparece llama a OnVehicleSpawn (UnVehiculoAparece) que debes hacer?

pawn Код:
public OnVehicleSpawn(vehicleid)
{
    SetVehiclePos(vehicleid, variable_auto_x, variable_auto_y, variable_auto_z);
    SetVehicleZAngle(vehicleid, variable_auto_a);
    return 1;
}
Tan dificil es mirar la explicaciуn y aplicar la lуgica?
Reply
#8

їCual seria las variables? xD
Reply
#9

Quote:
Originally Posted by xTexTx
Посмотреть сообщение
їCual seria las variables? xD
Quote:
Originally Posted by Adoniiz
Посмотреть сообщение
Almacenas las coordenadas en la variable "AutoInfo" exactamente en

pawn Код:
AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]
AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]

AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]


AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]


AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]


AutoInfo[idx][aLocationx]
AutoInfo[idx][aLocationy]
AutoInfo[idx][aLocationz]
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)