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=264948)



Высадка из авто. - White_116 - 28.06.2011

Нужно решить проблемку! Как можно высадить игрока из машины, который зашёл в АФК. Причём вылезти он должен когда находится в АФК! Смену позиции не предлагать-не высаживает.


Re: Высадка из авто. - Stepashka - 28.06.2011

Чего уже пробывал делать?


Re: Высадка из авто. - OKStyle - 29.06.2011

DestroyVehicle, не?


Re: Высадка из авто. - CaHbKo - 29.06.2011

GetPlayerPos, SetPlayerPos на теже координаты.


Re: Высадка из авто. - White_116 - 29.06.2011

Quote:
Originally Posted by CaHbKo
Посмотреть сообщение
GetPlayerPos, SetPlayerPos на теже координаты.


Пробавал мир менять тоже результата недало.
Машинку конечно не хочется респавнить, так как пассажиров нужно туда заталкивать потом.
Есть ещё какие способы высадить.


Re: Высадка из авто. - Jon_De - 29.06.2011

ClearAnimations ? поидее на игрока в АФК ничего не действует


Re: Высадка из авто. - Norck - 30.06.2011

Кикни игрока: нет игрока - нет проблем

Ну а на крайняк - если респаун тачи поможет, то это лучше, чем ничего.
Не проверял:
pawn Код:
/*
    Высадить водителя из указанного транспортного средства:
    Вернет false - если в указанном транспорте нет водителя
    Вернет true - если все прошло успешно
*/

bool:RemoveDriverFromVehicle(carid)
{
    new mp = GetMaxPlayers(), driver=-1;
    for(new playerid; playerid < mp; playerid++)
    {
        if(!IsPlayerConnected(playerid)) continue;
        if(GetPlayerVehicleID(playerid) != carid) continue;
        if(GetPlayerVehicleSeat(playerid) != 0) continue;
        driver = playerid;
        break;
    }
    if(driver == -1) return false; // В транспорте нет водителя
    new Float:x,Float:y,Float:z,Float:a;
    GetVehiclePos(carid,x,y,z);
    GetVehicleZAngle(carid,a);
    new passenger[3] = {-1,-1,-1};    // Хватит для любого транспорта, кроме автобусов
    for(new playerid; playerid < mp; playerid++)
    {
        if(!IsPlayerConnected(playerid)) continue;
        if(GetPlayerVehicleID(playerid) != carid) continue;
        if(playerid == driver) continue;
        passenger[GetPlayerVehicleSeat(playerid)-1] = playerid;
    }
    SetVehicleToRespawn(carid);
    SetVehiclePos(carid,x,y,z);
    SetVehicleZAngle(carid,a);
    for(new i; i < sizeof(passenger); i++)
    {
        if(passenger[i] != -1)
        PutPlayerInVehicle(passenger[i],carid,i+1);
    }    
    return true;
}



Re: Высадка из авто. - White_116 - 01.07.2011

Norck- спасибо за готовый скрипт!


Re: Высадка из авто. - Norck - 01.07.2011

Ты хоть проверь, работает или нет


Re: Высадка из авто. - CaHbKo - 01.07.2011

Quote:
Originally Posted by White_116
Посмотреть сообщение
Что?