GetPlayerSurfingVehicleID — различия между версиями

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск
м (Изменил вид проверки на админку + макрос extract на функцию sscanf)
Строка 28: Строка 28:
 
CMD:getsurfveh(playerid, params[])
 
CMD:getsurfveh(playerid, params[])
 
{
 
{
     if (0 == IsPlayerAdmin(playerid))
+
     if (IsPlayerAdmin(playerid) == 0)
 
         return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
 
         return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
     // Узнаем ID игрока для проверки.
+
     new targetid;
    extract params -> new player:targetid; else // sscanf2
+
    if(sscanf(params, "r", targetid))// Узнаем ID игрока для проверки.
 
         return SendClientMessage(playerid, -1, "Использование: /getsurfveh [ID игрока]");
 
         return SendClientMessage(playerid, -1, "Использование: /getsurfveh [ID игрока]");
 
     if (targetid == INVALID_PLAYER_ID)
 
     if (targetid == INVALID_PLAYER_ID)

Версия 10:58, 9 августа 2018

Add.png Данная функция была добавлена в SA-MP 0.3a и не работает в более ранних версиях.


Описание:

Узнает ID транспортного средства, на поверхности которого стоит игрок.

Параметры:

(playerid)
playerid ID проверяемого игрока.


Возвращаемое значение:

ID транспортного средства, на котором находится игрок, либо INVALID_VEHICLE_ID.

Пример использования:

const VEHICLE_MODEL_INFERNUS = 411;
const VEHICLE_COLOR_WHITE = 1;

public OnGameModeInit()
{
    // Создадим Infernus возле дома Сиджея.
    AddStaticVehicle(
        VEHICLE_MODEL_INFERNUS,
        2498.0, -1682.0, 13.0, 280.0,
        VEHICLE_COLOR_WHITE, VEHICLE_COLOR_WHITE
    );
}

CMD:getsurfveh(playerid, params[])
{
    if (IsPlayerAdmin(playerid) == 0)
        return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
    new targetid;
    if(sscanf(params, "r", targetid))// Узнаем ID игрока для проверки.
        return SendClientMessage(playerid, -1, "Использование: /getsurfveh [ID игрока]");
    if (targetid == INVALID_PLAYER_ID)
        return SendClientMessage(playerid, -1, "Игрок не найден.");
    // Узнаем, находится ли игрок на каком-либо транспортном средстве, ...
    new vehicleid = GetPlayerSurfingVehicleID(targetid);
    // ... если нет - выводим соответствующее сообщение.
    if (vehicleid == INVALID_VEHICLE_ID)
        return SendClientMessage(playerid, -1, "Игрок не находится на т/с.");
    // Иначе выводим сообщение с ID т/с, на котором находится игрок.
    new buffer[64];
    format(buffer, sizeof(buffer), "Игрок находится на т/с #%d", vehicleid);
    return SendClientMessage(playerid, -1, buffer);
}