Novik43Rus
Новичок
Доброго времени суток, недавно решил проблему со всеми крашами мода и тут вновь он подкрался незаметно :be:
Суть проблемы в том, что, путаются порядковые ID автомобилей на сервере. Когда набирается ~40 игроков на сервере, начинается следующее:
Игрок под ID30 заходит на сервер, играет несколько минут, затем заходит игрок и занимает ID33 например, то, у игрока под ID30 пропадает машина. Причем когда это начинается, даже неоны на абсолютно всех автомобилях путаются.
Когда игроков на сервере 2-25 все хорошо. Помогите решить данную проблему. Заранее спасибо.
Код создания машины:
Код удаления машины (при дисконнекте/смерти)
Суть проблемы в том, что, путаются порядковые ID автомобилей на сервере. Когда набирается ~40 игроков на сервере, начинается следующее:
Игрок под ID30 заходит на сервер, играет несколько минут, затем заходит игрок и занимает ID33 например, то, у игрока под ID30 пропадает машина. Причем когда это начинается, даже неоны на абсолютно всех автомобилях путаются.
Когда игроков на сервере 2-25 все хорошо. Помогите решить данную проблему. Заранее спасибо.
Код создания машины:
PHP:
if(Auto[playerid] == INVALID_VEHICLE_ID)
{
switch(Player[playerid][HouseKey])
{
case -1:
{
Auto[playerid] = CreateVehicle(Player[playerid][CAR], 2282.1985,-1748.5638,-81.8235,180.4529, Player[playerid][COL1], Player[playerid][COL2], -1);
createdauto = Auto[playerid];
idhozein[Auto[playerid]] = playerid;
createdauto ++;
dvigan[Auto[playerid]] = 0;
SetVehicleVirtualWorld(Auto[playerid], Player[playerid][ID]);
}
default:
{
new p = Player[playerid][HouseKey];
PadikID[playerid] = p;
Auto[playerid] = CreateVehicle(Player[playerid][CAR], Padik[p][pCarX],Padik[p][pCarY],Padik[p][pCarZ],Padik[p][pCarA], Player[playerid][COL1], Player[playerid][COL2], -1);
SetVehicleVirtualWorld(Auto[playerid], 0);
createdauto = Auto[playerid];
idhozein[Auto[playerid]] = playerid;
createdauto ++;
}
}
format(vladelec[Auto[playerid]], 32, "%s", Player[playerid][NAME]);
gas[Auto[playerid]] = Player[playerid][BENZIN];
probeg[Auto[playerid]] = Player[playerid][PROBEG];
turbo[Auto[playerid]] = Player[playerid][TURBO];
SetVehicleNumberPlate(Auto[playerid], "Swell");
switch(Player[playerid][TURBO])
{
case 0: usetrub[Auto[playerid]] = 2;
case 1: usetrub[Auto[playerid]] = 1;
default: usetrub[Auto[playerid]] = 2;
}
if(Player[playerid][KOLESO] != 255) AddVehicleComponent(Auto[playerid], Player[playerid][KOLESO]);
if(Player[playerid][GIDRA] != 255) AddVehicleComponent(Auto[playerid], Player[playerid][GIDRA]);
if(Player[playerid][NITRO] != 255)
{
AddVehicleComponent(Auto[playerid], Player[playerid][NITRO]);
nitro[Auto[playerid]] = 1;
}
switch(Player[playerid][NEON])
{
case 255: useneon[Auto[playerid]] = 2;
default:
{
neon[playerid][0] = CreateObject(Player[playerid][NEON],0,0,0,0,0,0,100.0);
neon[playerid][1] = CreateObject(Player[playerid][NEON],0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon[playerid][0], Auto[playerid], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon[playerid][1], Auto[playerid], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
useneon[Auto[playerid]] = 1;
}
}
}
Код удаления машины (при дисконнекте/смерти)
PHP:
if(Auto[playerid] != INVALID_VEHICLE_ID)
{
Player[playerid][BENZIN] = gas[Auto[playerid]];
Player[playerid][PROBEG] = probeg[Auto[playerid]];
DestroyVehicle(Auto[playerid]);
Auto[playerid] = INVALID_VEHICLE_ID;
createdauto --;
if(neon[playerid][0] != -1)
{
DestroyObject(neon[playerid][0]); neon[playerid][0] = -1;
DestroyObject(neon[playerid][1]); neon[playerid][1] = -1;
}
}
