Estacionar
#1

Hola, me pueden ayudar, es algo que no se, lo que quisiera hacer es un timer, que cada X tiepo se ejecute, y haga la funcion de estacionar, pero que si el tipo estaciona y el vehiculo le explota, aparezca donde el lo estaciono,
acб el comando estacionar, lo que no se es como hacer para que cada X se guarde la pos del vehiculo para que los users no tengan que estar estacionando siempre antes de deslogear.

їMe ayudan porfavor?



pawn Код:
CMD:estacionar(playerid, params[])
{
    if(Info[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
    {
        new ownerid = Info[playerid][pVehicleKeysFrom];
        if(IsPlayerConnected(ownerid))
        {
            new d = Info[playerid][pVehicleKeys];
            if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "Tu debes ser el conductor.");
                new Float:x, Float:y, Float:z, Float:angle, Float:health;
                GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
                PlayerVehicleInfo[ownerid][d][pvHealth] = health;
                if(health < 600) return SendClientMessageEx(playerid, COLOR_GREY, "Tu vehнculo estб demasiado daсado para estacionarlo.");
                if(Info[playerid][pLockCar] == GetPlayerVehicleID(playerid)) Info[playerid][pLockCar] = INVALID_VEHICLE_ID;
                GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
                GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
                SurfingCheck(GetPlayerVehicleID(playerid));
                UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
                PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
                SetPlayerArmedWeapon(playerid, 0);

                new string[29 + (MAX_PLAYER_NAME * 2)];
                format(string, sizeof(string), "* %s ha estacionado el vehiculo de %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                fVehSpeed[playerid] = 0.0;
                return 1;
            }
        }
    }
    for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
    {
        if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
        {
            if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "Tu debes ser el conductor.");
            new Float:x, Float:y, Float:z, Float:angle, Float:health;
            GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
            PlayerVehicleInfo[playerid][d][pvHealth] = health;
            if(health < 600) return SendClientMessageEx(playerid, COLOR_GREY, " Tu vehiculo estб muy daсado para estacionarlo.");
            if(Info[playerid][pLockCar] == GetPlayerVehicleID(playerid)) Info[playerid][pLockCar] = INVALID_VEHICLE_ID;
            GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
            GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
            SurfingCheck(GetPlayerVehicleID(playerid));
            UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
            PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
            SetPlayerArmedWeapon(playerid, 0);

            new string[30 + (MAX_PLAYER_NAME * 2)];
            format(string, sizeof(string), "* %s ha estacionado su vehiculo.", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            fVehSpeed[playerid] = 0.0;
            return 1;
        }
    }
    SendClientMessageEx(playerid, COLOR_GREY, "Tu necesitas estar dentro de tu vehiculo para hacer esto.");
    return 1;
}
Reply
#2

con un timer y listo! ya ahн tienes el cуdigo!
Reply
#3

Pero estuve buscando como hacer un timer con un comando, pero los comandos que salian eran con onplayercommandtext, y yo uso CMD:, por lo que no entendi mucho, acб este ejemplo

pawn Код:
SetTimerEx("EjecutarComando", 60000, false, "d", playerid); // 60000 = 60 segundos en milisegundos, false = NO repetir el timer, true = repetir el timer.

// En otra parte del FS/GM:
forward EjecutarComando(playerid);
public EjecutarComando(playerid)
{
          OnPlayerCommandText(playerid, "/zombie");
return 1;
}
їY CMD o ZCMD?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)