SA-MP Forums Archive
Проблема с ситсемой транспорта. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Проблема с ситсемой транспорта. (/showthread.php?tid=633868)



Проблема с ситсемой транспорта. - Artem_Loginov - 08.05.2017

При большом онлайне , когда игроки выходят удаляються и их машины и другие чужие , но почему я так и не пойму.

Вот код который я сделал , но почему то ид тачек сбиваются , просьба помочь , и даже бывает удаляються при выходе созданые т.с.

PHP Code:
    foreach(new iPlayer)
    {
        if(
PI[i][cCarId][0] == PI[playerid][cCarId][0] && PI[playerid][cCarId][0] != INVALID_VEHICLE_ID)
        {
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][0]]);
            
DestroyVehicle(PI[playerid][cCarId][0]);
        
        }
        if(
PI[i][cCarId][1] == PI[playerid][cCarId][1] && PI[playerid][cCarId][1] != INVALID_VEHICLE_ID)
        {
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][1]]);
            
DestroyVehicle(PI[playerid][cCarId][1]);
            
PI[playerid][cCarId][1] = INVALID_VEHICLE_ID;
        }
        if(
PI[i][cCarId][2] == PI[playerid][cCarId][2] && PI[playerid][cCarId][2] != INVALID_VEHICLE_ID)
        {
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][2]]);
            
DestroyVehicle(PI[playerid][cCarId][2]);
            
        }
    } 
Помогите пожалуйста


Re: Проблема с ситсемой транспорта. - Mutha_X - 08.05.2017

Quote:
Originally Posted by Artem_Loginov
View Post
При большом онлайне , когда игроки выходят удаляються и их машины и другие чужие , но почему я так и не пойму.

Вот код который я сделал , но почему то ид тачек сбиваются , просьба помочь , и даже бывает удаляються при выходе созданые т.с.

PHP Code:
    foreach(new iPlayer)
    {
        if(
PI[i][cCarId][0] == PI[playerid][cCarId][0] && PI[playerid][cCarId][0] != INVALID_VEHICLE_ID)
        {
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][0]]);
            
DestroyVehicle(PI[playerid][cCarId][0]);
        
        }
        if(
PI[i][cCarId][1] == PI[playerid][cCarId][1] && PI[playerid][cCarId][1] != INVALID_VEHICLE_ID)
        {
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][1]]);
            
DestroyVehicle(PI[playerid][cCarId][1]);
            
PI[playerid][cCarId][1] = INVALID_VEHICLE_ID;
        }
        if(
PI[i][cCarId][2] == PI[playerid][cCarId][2] && PI[playerid][cCarId][2] != INVALID_VEHICLE_ID)
        {
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][2]]);
            
DestroyVehicle(PI[playerid][cCarId][2]);
            
        }
    } 
Помогите пожалуйста
Вызываете из OnPlayerDisconnect? - Зачем тогда вам итератор i?


Re: Проблема с ситсемой транспорта. - CamperGTA - 09.05.2017

PHP Code:

    
foreach(new iPlayer
    { 
        if(
PI[i][cCarId][0] == PI[playerid][cCarId][0] && PI[playerid][cCarId][0] != INVALID_VEHICLE_ID
        { 
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][0]]); 
            
DestroyVehicle(PI[playerid][cCarId][0]); 
            
PI[playerid][cCarId][0] = INVALID_VEHICLE_ID
         
        } 
        if(
PI[i][cCarId][1] == PI[playerid][cCarId][1] && PI[playerid][cCarId][1] != INVALID_VEHICLE_ID
        { 
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][1]]); 
            
DestroyVehicle(PI[playerid][cCarId][1]); 
            
PI[playerid][cCarId][1] = INVALID_VEHICLE_ID
        } 
        if(
PI[i][cCarId][2] == PI[playerid][cCarId][2] && PI[playerid][cCarId][2] != INVALID_VEHICLE_ID
        { 
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][2]]); 
            
DestroyVehicle(PI[playerid][cCarId][2]); 
            
PI[playerid][cCarId][2] = INVALID_VEHICLE_ID
             
        } 
    } 



Re: Проблема с ситсемой транспорта. - Eims - 09.05.2017

Quote:
Originally Posted by CamperGTA
View Post
PHP Code:

    
foreach(new iPlayer
    { 
        if(
PI[i][cCarId][0] == PI[playerid][cCarId][0] && PI[playerid][cCarId][0] != INVALID_VEHICLE_ID
        { 
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][0]]); 
            
DestroyVehicle(PI[playerid][cCarId][0]); 
            
PI[playerid][cCarId][0] = INVALID_VEHICLE_ID
         
        } 
        if(
PI[i][cCarId][1] == PI[playerid][cCarId][1] && PI[playerid][cCarId][1] != INVALID_VEHICLE_ID
        { 
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][1]]); 
            
DestroyVehicle(PI[playerid][cCarId][1]); 
            
PI[playerid][cCarId][1] = INVALID_VEHICLE_ID
        } 
        if(
PI[i][cCarId][2] == PI[playerid][cCarId][2] && PI[playerid][cCarId][2] != INVALID_VEHICLE_ID
        { 
            
DestroyDynamic3DTextLabel(VehicleLabel[PI[playerid][cCarId][2]]); 
            
DestroyVehicle(PI[playerid][cCarId][2]); 
            
PI[playerid][cCarId][2] = INVALID_VEHICLE_ID
             
        } 
    } 
Всё тот же вопрос, что и задавал Mutha_X: зачем цикл на всех игроков, если нужно удалить автомобили игрока, который выходит с сервера?


Re: Проблема с ситсемой транспорта. - Andrey_Kiryuhin - 12.05.2017

+ ко всему сказанному
Quote:

PI[playerid][cCarId][0]

Ты хранишь ид машины на сервере, или ID в базе данных?
Если ид БД, то конечно удаляется машина другого..