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

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск
м (Откат правок VVWVV (обсуждение) к версии Daniel-Cortez)
 
(не показаны 3 промежуточные версии 3 участников)
Строка 10: Строка 10:
 
{{Returns
 
{{Returns
 
| ID транспортного средства, на котором находится игрок, либо <code>INVALID_VEHICLE_ID</code>.
 
| ID транспортного средства, на котором находится игрок, либо <code>INVALID_VEHICLE_ID</code>.
 +
}}
 +
{{NoteInfo
 +
| Функция будет возвращать <code>INVALID_VEHICLE_ID</code> для игрока, если в транспорте, на котором тот стоит, отсутствует '''водитель'''.
 
}}
 
}}
 
{{Example}}
 
{{Example}}
Строка 28: Строка 31:
 
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)
Строка 38: Строка 41:
 
     new vehicleid = GetPlayerSurfingVehicleID(targetid);
 
     new vehicleid = GetPlayerSurfingVehicleID(targetid);
 
     // ... если нет - выводим соответствующее сообщение.
 
     // ... если нет - выводим соответствующее сообщение.
     if (INVALID_VEHICLE_ID == vehicleid)
+
     if (vehicleid == INVALID_VEHICLE_ID)
 
         return SendClientMessage(playerid, -1, "Игрок не находится на т/с.");
 
         return SendClientMessage(playerid, -1, "Игрок не находится на т/с.");
 
     // Иначе выводим сообщение с ID т/с, на котором находится игрок.
 
     // Иначе выводим сообщение с ID т/с, на котором находится игрок.

Текущая версия на 07:08, 28 марта 2023

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


Описание:

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

Параметры:

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


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

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

Info rhombus.png
Примечание
Функция будет возвращать 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);
}