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

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск
(Повторение в примечании о версии)
 
(не показано 6 промежуточных версии 3 участников)
Строка 1: Строка 1:
 
{{NoteSAMPAddedIn|0.3a}}
 
{{NoteSAMPAddedIn|0.3a}}
 
{{Description
 
{{Description
| Узнает ID транспортного средства, на котором находится игрок.  
+
| Узнает ID транспортного средства, на поверхности которого стоит игрок.  
 
}}
 
}}
 
{{Params|playerid}}
 
{{Params|playerid}}
 
{{Param
 
{{Param
 
| playerid
 
| playerid
| ID игрока, используемого для получения ID транспортного средства.
+
| ID проверяемого игрока.
 
}}
 
}}
 
{{Returns
 
{{Returns
| ID транспортного средства, если игрок находится на нём, иначе <code>INVALID_VEHICLE_ID</code>.
+
| ID транспортного средства, на котором находится игрок, либо <code>INVALID_VEHICLE_ID</code>.
 +
}}
 +
{{NoteInfo
 +
| Функция будет возвращать <code>INVALID_VEHICLE_ID</code> для игрока, если в транспорте, на котором тот стоит, отсутствует '''водитель'''.
 
}}
 
}}
 
{{Example}}
 
{{Example}}
Строка 15: Строка 18:
 
const VEHICLE_MODEL_INFERNUS = 411;
 
const VEHICLE_MODEL_INFERNUS = 411;
 
const VEHICLE_COLOR_WHITE = 1;
 
const VEHICLE_COLOR_WHITE = 1;
 
// Количество ячеек, необходимых для хранения
 
// ID транспортного средства в виде строки.
 
const MAX_VEHICLE_ID_LEN = 5;
 
  
 
public OnGameModeInit()
 
public OnGameModeInit()
 
{
 
{
     // Создадим Infernus возле дома Сиджея. Машина будет респавниться
+
     // Создадим Infernus возле дома Сиджея.
    // через 2 минуты после того, как окажется без водителя.
+
 
     AddStaticVehicle(
 
     AddStaticVehicle(
 
         VEHICLE_MODEL_INFERNUS,
 
         VEHICLE_MODEL_INFERNUS,
Строка 33: Строка 31:
 
CMD:getsurfveh(playerid, params[])
 
CMD:getsurfveh(playerid, params[])
 
{
 
{
     static const
+
     if (IsPlayerAdmin(playerid) == 0)
         fmt[] = "Игрок находится на %d";
+
         return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
     // Узнаем ID игрока для проверки.
+
     new targetid;
    extract params->new 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)
    // транспортном средстве. В случае, если
+
        return SendClientMessage(playerid, -1, "Игрок не найден.");
    // игрок не подключен или не находится на
+
     // Узнаем, находится ли игрок на каком-либо транспортном средстве, ...
    // транспортном средстве, то показываем ошибку.
+
     new vehicleid = GetPlayerSurfingVehicleID(targetid);
     new
+
    // ... если нет - выводим соответствующее сообщение.
        vehicleid = GetPlayerSurfingVehicleID(targetid);
+
     if (vehicleid == INVALID_VEHICLE_ID)
     if (INVALID_VEHICLE_ID == vehicleid)
+
         return SendClientMessage(playerid, -1, "Игрок не находится на т/с.");
         return SendClientMessage(playerid, -1, !"Игрок не подключен или не находится на т/с.");
+
     // Иначе выводим сообщение с ID т/с, на котором находится игрок.
     // Подготавливаем и отправляем сообщение с ID транспортного
+
     new buffer[64];
    // средства, на котором находится игрок.
+
     format(buffer, sizeof(buffer), "Игрок находится на т/с #%d", vehicleid);
     new
+
        buffer[sizeof(fmt) + (MAX_VEHICLE_ID_LEN - 2)];
+
     format(buffer, sizeof(buffer), fmt, vehicleid);
+
 
     return SendClientMessage(playerid, -1, buffer);
 
     return SendClientMessage(playerid, -1, buffer);
 
}
 
}
 
</pawn>
 
</pawn>
 
[[Категория:Функции SA-MP]]
 
[[Категория:Функции SA-MP]]

Текущая версия на 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);
}