new ta4ka[MAX_PLAYERS];
new ta4katest[MAX_PLAYERS];
if(ta4katest[playerid] == 1)DestroyVehicle(ta4ka[playerid]);
ta4ka[playerid] = CreateVehicle(idok,X,Y,Z,Angle,random(250),random(250),50000);
if(GetPlayerInterior(playerid)) LinkVehicleToInterior(ta4ka[playerid],GetPlayerInterior(playerid));
SetVehicleVirtualWorld(ta4ka[playerid],GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid,ta4ka[playerid],0);
ta4katest[playerid] = 1;
if(ta4katest[playerid] == 1)DestroyVehicle(ta4ka[playerid]);
При дисконнекте удаляете, но не обнуляете эти обе переменные. И вообще, тут и одной переменной хватит, это раз, а во-вторых, я бы посоветовал нормально называть их
|
new ta4ka[PLAYERS];
new ta4katest;
DestroyVehicle(ta4ka[playerid]);
ta4katest -=1;
DestroyVehicle(ta4ka[playerid]);
ta4ka[playerid] = CreateVehicle(idok,X,Y,Z,Angle,random(250),random(250),50000);
ta4katest = ta4ka[playerid];
// Fuell[caridhouse[playerid]] = PlayerInfo[playerid][pFuelcar];
ta4katest ++;
ta4katest -=1;
DestroyVehicle(ta4ka[playerid]);
ta4ka[playerid] = CreateVehicle(idok,X,Y,Z,Angle,random(250),random(250),50000);
new vehicle_id[MAX_PLAYERS];
//или сразу инициализируем каждую ячейку (тогда при коннекте можно опустить присваивание)
new vehicle_id[MAX_PLAYERS] = { INVALID_VEHICLE_ID, ... };
// Создает транспорт для игрока
create_player_vehicle(playerid)
{
// Если транспорт уже создан
if(vehicle_id[playerid] != INVALID_VEHICLE_ID)
{
DestroyVehicle(vehicle_id[playerid]);
}
vehicle_id[playerid] = CreateVehicle(idok, X, Y, Z, Angle, random(250), random(250), 50000);
if(GetPlayerInterior(playerid))
{
LinkVehicleToInterior(vehicle_id[playerid], GetPlayerInterior(playerid));
}
SetVehicleVirtualWorld(vehicle_id[playerid], GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicle_id[playerid], 0);
}
public OnPlayerConnect(playerid)
{
vehicle_id[playerid] = INVALID_VEHICLE_ID;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
// Если транспорт был создан
if(vehicle_id[playerid] != INVALID_VEHICLE_ID)
{
DestroyVehicle(vehicle_id[playerid]);
}
vehicle_id[playerid] = INVALID_VEHICLE_ID;
return 1;
}
код который выше - рабочий
Значит в чем то другом еще причина, где то еще тачки создаются/удаляются |