• Страница 1 из 1
  • 1
Форум » Программирование в Pawno » Стандартные функции » InVehicleSeat(vehicleid)
InVehicleSeat(vehicleid)
Добавлено 12.05.2016 в 00:48 | Сообщение №1
Сообщений: 265 Репутация: 0
Администраторы
С этой функцией можно узнать, сидит ли кто-то из игроков на водительском месте указанного транспорта.

Код
stock InVehicleSeat(vehicleid)
{
        for(new i, i < GetMaxPlayers(); i++) if(IsPlayerInVehicle(i, vehicleid) && GetPlayerVehicleSeat(i) == 0) return 1;
        return 0;
}

Пример команды:
Код
if(strcmp("/test", cmdtext, true, 10) == 0)
{
    for(new v; v < MAX_VEHICLES; v++)
    {
        switch(InVehicleSeat(v))
        {
            case 1: continue;
            case 0: SetVehicleToRespawn(v);
        }
    }
    SendClientMessageToAll(0xFFFFFFFF, "Администрация заспавнила весь свободный транспорт.");
    return 1;
}

Можно и так:
Код
// функция
stock IsVehicleOccupied(vehicleid)
{
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
                if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER) return true;
        }
        return 0;
}
// комманда
CMD:respawncars(playerid, params[])
{
        for(new d = 0; d < MAX_VEHICLES; d++)
        {
                if(IsVehicleOccupied(d)) continue;
                SetVehicleToRespawn(d);
        }
        SendClientMessageToAll(-1, "Весь пустой транспорт был заспавнен администратором");
        return true;
}


Программист любитель :)
Форум » Программирование в Pawno » Стандартные функции » InVehicleSeat(vehicleid)
  • Страница 1 из 1
  • 1
Поиск: