GetPlayerSurfingVehicleID — различия между версиями
Материал из Pro-Pawn Wiki
DeimoS (обсуждение | вклад) м (Изменил вид проверки на админку + макрос extract на функцию sscanf) |
DeimoS (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
{{Returns | {{Returns | ||
| ID транспортного средства, на котором находится игрок, либо <code>INVALID_VEHICLE_ID</code>. | | ID транспортного средства, на котором находится игрок, либо <code>INVALID_VEHICLE_ID</code>. | ||
+ | }} | ||
+ | {{NoteInfo | ||
+ | | Функция будет возвращать <code>INVALID_VEHICLE_ID</code> для игрока, если в транспорте, на котором тот стоит, отсутствует '''водитель'''. | ||
}} | }} | ||
{{Example}} | {{Example}} |
Текущая версия на 07:08, 28 марта 2023
Данная функция была добавлена в SA-MP 0.3a и не работает в более ранних версиях. |
Описание:
Узнает ID транспортного средства, на поверхности которого стоит игрок.
Параметры:
(playerid) |
playerid | ID проверяемого игрока. |
Возвращаемое значение:
ID транспортного средства, на котором находится игрок, либо
INVALID_VEHICLE_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);
}
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);
}