vehicle question
#1

Hi I want to ask, after I create a vehicle and destroy it there a way to not respawn again this vehicle?
If possible can you give me the code or at least explain how something can be done?
Reply
#2

Quote:
Originally Posted by rumen98
Посмотреть сообщение
Hi I want to ask, after I create a vehicle and destroy it there a way to not respawn again this vehicle?
If possible can you give me the code or at least explain how something can be done?
Vehicle spawner filterscript.
pawn Код:
#include <a_samp>
#include <zcmd>

#undef MAX_PLAYERS
#define MAX_SLOTS       50 //Max players of your server. Changing it is recommended!

#define COLOR_WHITE     0xFFFFFFAA
#define COLOR_RED       0xFF0000AA
#define COLOR_GREEN     0x00FF00AA
#define COLOR_YELLOW    0xFFFF00AA

new bool:RconOnly = true,
        VehicleSpawned[MAX_SLOTS],
        bool:MessageGiven[MAX_SLOTS];

public OnFilterScriptInit()
{
    for(new i = 0; i < MAX_SLOTS; i++){
        if(VehicleSpawned[i] != -1){
            DestroyVehicle(VehicleSpawned[i]);
            VehicleSpawned[i] = (-1);
        }
        MessageGiven[i] = false;
    }
    print("Kwarde's Vehicle Spawn system LOADED");
    return 1;
}

public OnFilterScriptExit()
{
    for(new i = 0; i < MAX_SLOTS; i++){
        if(VehicleSpawned[i] != -1){
            DestroyVehicle(VehicleSpawned[i]);
            VehicleSpawned[i] = (-1);
        }
        MessageGiven[i] = false;
    }
    return 1;
}

public OnPlayerConnect(playerid)
{
    if(VehicleSpawned[playerid] != -1){
        DestroyVehicle(VehicleSpawned[playerid]);
        VehicleSpawned[playerid] = (-1);
    }
    MessageGiven[playerid] = false;
    SendClientMessage(playerid, COLOR_GREEN, "Admins use: /kvechelp");
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    if(VehicleSpawned[playerid] != -1){
        DestroyVehicle(VehicleSpawned[playerid]);
        VehicleSpawned[playerid] = (-1);
    }
    MessageGiven[playerid] = false;
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(!MessageGiven[playerid]){
        SendClientMessage(playerid, COLOR_RED, "Admins use: /kvechelp");
        MessageGiven[playerid] = true;
    }
    return 1;
}

CMD:kvechelp(playerid, params[])
{
    if(RconOnly && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    SendClientMessage(playerid, COLOR_YELLOW, "|---------- Kwarde's Vehicle Spawn System ----------|");
    SendClientMessage(playerid, COLOR_WHITE, "** /kvec [ID] -> Spawns a vehicle. [ID] is the vehicle model ID (eg. /kvec 411 for an infernus)");
    SendClientMessage(playerid, COLOR_WHITE, "** /kcallvec -> Calls your spawned vehicle");
    SendClientMessage(playerid, COLOR_WHITE, "** /kgotovec -> Teleports you into your spawned vehicle");
    SendClientMessage(playerid, COLOR_WHITE, "** /kremovevec -> Removes your spawned vehicle");
    SendClientMessage(playerid, COLOR_WHITE, "**!: /krcononly -> Toggle the commands above for RCON only on/off");
    SendClientMessage(playerid, COLOR_WHITE, "**!: /krallvec -> Remove all spawned vehicles");
    SendClientMessage(playerid, COLOR_YELLOW, "|---------- Kwarde's Vehicle Spawn System ----------|");
    return 1;
}

CMD:kvec(playerid, params[])
{
    if(RconOnly && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    new Float:sPos[4];

    if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: {FFFF00}/kvec [ID]");
    if(strval(params) < 400 || strval(params) > 611) return SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid vehicle model ID");

    if(IsPlayerInAnyVehicle(playerid)){
        GetVehiclePos(GetPlayerVehicleID(playerid), sPos[0], sPos[1], sPos[2]);
        GetVehicleZAngle(GetPlayerVehicleID(playerid), sPos[3]);
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            SetVehicleToRespawn(GetPlayerVehicleID(playerid));
        else
            RemovePlayerFromVehicle(playerid);
    }
    else{
        GetPlayerPos(playerid, sPos[0], sPos[1], sPos[2]);
        GetPlayerFacingAngle(playerid, sPos[3]);
    }
    if(VehicleSpawned[playerid] != -1)
        DestroyVehicle(VehicleSpawned[playerid]);
    VehicleSpawned[playerid] = CreateVehicle(strval(params[0]), sPos[0], sPos[1], sPos[2], sPos[3], -1, -1, -1);
    SetVehicleVirtualWorld(VehicleSpawned[playerid], GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(VehicleSpawned[playerid], GetPlayerInterior(playerid));
    PutPlayerInVehicle(playerid, VehicleSpawned[playerid], 0);
    SendClientMessage(playerid, COLOR_GREEN, "* Your vehicle has been spawned.");
    return 1;
}

CMD:kcallvec(playerid, params[])
{
    if(RconOnly && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    if(VehicleSpawned[playerid] == -1) return SendClientMessage(playerid, COLOR_RED, "ERROR: You didn't spawn a vehicle yet.");
    new Float:sPos[4];
    if(IsPlayerInAnyVehicle(playerid)){
        GetVehiclePos(GetPlayerVehicleID(playerid), sPos[0], sPos[1], sPos[2]);
        GetVehicleZAngle(GetPlayerVehicleID(playerid), sPos[3]);
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            SetVehicleToRespawn(GetPlayerVehicleID(playerid));
        else
            RemovePlayerFromVehicle(playerid);
    }
    else{
        GetPlayerPos(playerid, sPos[0], sPos[1], sPos[2]);
        GetPlayerFacingAngle(playerid, sPos[3]);
    }
    RemoveAllPlayersFromVehicle(VehicleSpawned[playerid]);
    SetVehiclePos(VehicleSpawned[playerid], sPos[0], sPos[1], sPos[2]);
    SetVehicleZAngle(VehicleSpawned[playerid], sPos[3]);
    SetVehicleVirtualWorld(VehicleSpawned[playerid], GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(VehicleSpawned[playerid], GetPlayerInterior(playerid));
    PutPlayerInVehicle(playerid, VehicleSpawned[playerid], 0);
    SendClientMessage(playerid, COLOR_GREEN, "* Your vehicle has been called.");
    return 1;
}

CMD:kgotovec(playerid, params[])
{
    if(RconOnly && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    if(VehicleSpawned[playerid] == -1) return SendClientMessage(playerid, COLOR_RED, "ERROR: You didn't spawn a vehicle yet.");
    RemoveAllPlayersFromVehicle(VehicleSpawned[playerid]);
    PutPlayerInVehicle(playerid, VehicleSpawned[playerid], 0);
    SendClientMessage(playerid, COLOR_GREEN, "* You've been teleported to your vehicle");
    return 1;
}

CMD:kremovevec(playerid, params[])
{
    if(RconOnly && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    if(VehicleSpawned[playerid] == -1) return SendClientMessage(playerid, COLOR_RED, "ERROR: You didn't spawn a vehicle yet.");
    DestroyVehicle(VehicleSpawned[playerid]);
    VehicleSpawned[playerid] = (-1);
    SendClientMessage(playerid, COLOR_GREEN, "* Your vehicle has been removed.");
    return 1;
}

CMD:krcononly(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    if(RconOnly){
        RconOnly = false;
        SendClientMessageToAll(COLOR_GREEN, "Vehicle Spawner available for everyone. (/kvechelp)");
    }
    else{
        RconOnly = true;
        SendClientMessageToAll(COLOR_RED, "* Kwarde's Vehicle Spawn System is now only avaible for RCON admins!");
    }
    return 1;
}

CMD:krallvec(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This is for RCON admins only!");
    for(new i = 0; i < MAX_SLOTS; i++){
        if(VehicleSpawned[i] != -1){
            DestroyVehicle(VehicleSpawned[i]);
            VehicleSpawned[i] = (-1);
        }
        MessageGiven[i] = false;
    }
    SendClientMessageToAll(COLOR_RED, "All spawned vehicles have removed by an Admin");
    return 1;
}

stock RemoveAllPlayersFromVehicle(vehicleid)
{
    for(new i = 0; i < MAX_SLOTS; i++)
        if(IsPlayerInVehicle(i, vehicleid))
            RemovePlayerFromVehicle(i);
    return 1;
}
Reply
#3

I mean for example this command when creating vehicle and one of the players paid the car for example and it blows up, how can I make this car not respawn again

PHP код:
CMD:sultan(playeridparams[])
{
if(
GetPlayerMoney(playerid) == 10000)
{
if(
IsPlayerInRangeOfPoint(playerid3.0,2140.4116,-2256.4915,13.3010))
{
    
GivePlayerMoney(playerid,-10000);
    
CreateVehicle(560,2140.4116,-2258.4915,14.3010,180.0000,10,10,-1);
}else{
SendClientMessage(playerid,COLOR_RED,"You are no in Buy Zone");
}
}else{
SendClientMessage(playerid,COLOR_RED,"You dont have enough money");
}
return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)