fsdebug FS spawn bug
#1

pawn Код:
dcmd_v(playerid, params[])
{
    new
        idx,
        iString[ 128 ];

    if ( gPlayerStatus[ playerid ] != 0 )
    {
        format              ( iString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[ gPlayerStatus[ playerid ] - 1 ] );
        SendClientMessage   ( playerid, COLOR_RED, iString );

        return true;
    }

    if ( params[ 0 ] == '\0' )  // Same effect as a !strlen check.
        return SendClientMessage( playerid, COLOR_RED, "[USAGE]: /v MODELID/NAME or /vehicle MODELID/NAME" );

    //***************
    // Fix by Mike! *
    //***************

    idx = GetVehicleModelIDFromName( params );

    if( idx == -1 )
    {
        idx = strval(iString);

        if ( idx < MIN_VEHI_ID || idx > MAX_VEHI_ID )
            return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid MODELID/NAME");
    }

    new
        Float:x,
        Float:y,
        Float:z,
        Float:a;

    new vehicleid;
    vehicleid= GetPlayerVehicleID(playerid);
    DestroyVehicle(vehicleid);
    GetPlayerPos(playerid, x, y, z);
    GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
    GetPlayerFacingAngle(playerid, a);

    curPlayerVehM[playerid] = idx;

    curPlayerVehI[playerid] = CreateVehicle(idx, x, y, z + 2.0, a + 90.0, -1, -1, 5000);
    LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));

    new LastCreatedVeh[MAX_PLAYERS];

    curServerVehP[curPlayerVehI[playerid]][spawn]   = true;
    curServerVehP[curPlayerVehI[playerid]][vmodel]  = idx;
    curServerVehP[curPlayerVehI[playerid]][vInt]    = GetPlayerInterior(playerid);

    format(iString, 128, "[SUCCESS]: Spawned a \"%s\" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[idx - MIN_VEHI_ID], idx, curPlayerVehI[playerid]);

    SendClientMessage(playerid, COLOR_GREEN, iString);
    LastCreatedVeh[playerid] = 1;
   
    LastCreatedVeh[playerid] = CreateVehicle(idx, x, y, z + 1, a + 90.0, -1, -1, -1);
    if(LastCreatedVeh[playerid] != 0) {
    DestroyVehicle(LastCreatedVeh[playerid]);
    LastCreatedVeh[playerid]=0;
    }
    if(LastCreatedVeh[playerid] == 0) {
    LastCreatedVeh[playerid] = CreateVehicle(idx, x, y, z + 1, a + 90.0, -1, -1, -1);
    }

    return true;
}

no errors , but in game it spawns 2 vehicles per 1 cmd , for example /v nrg i find 2 nrg spawned not one , and when i use it again the 1st 2 dont disappear , +rep to any helper
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)