- Регистрация
- 14 Дек 2013
- Сообщения
- 251
- Лучшие ответы
- 0
- Репутация
- 67
Приветствую всех пользователей портала Pawno-Info.Ru Решил разобрать все функции SA:MP, которые есть на данный момент по сей день. Все функции будут максимально подробно описаны и по ходу обновления SA:MP тема будет обновляться.
AddMenuItem(Menu:menuid, column, title[]);
AddMenuItem - Данная функция добавляет новый пункт в уже вызванном меню
Menu:menuid - ID уже созданного меню (CreateMenu), куда нужно добавить новый пункт
column - Столбец уже созданного меню, куда нужно добавить новый пункт
title[] - Название нового столбца в уже созданном меню
Примечания:
- Можно создать максимум 12 пунктов меню
- Можно использовать максимум 2 столбца (0 и 1)
- Можно добавить только 8 цветовых кодов для одного пункта (~r~, ~g~...)
- Максимальная длина пункта меню 31 символ
Применение:
PHP:
new Menu: test_menu;
public OnGameModeInit()
{
test_menu = CreateMenu("Text", 2, 200.0, 100.0, 150.0, 150.0);
AddMenuItem(test_menu, 0, "Text");
return true;
}
AddPlayerClass(skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
AddPlayerClass - Добавляет новый класс к уже имеющимся классам. Классы используются для того, чтобы игроки могли выбрать скин при спавне
skin - ID скина с которым будет спавниться игрок (0 - 311)
Float:x - Точка спавна по оси X
Float:y - Точка спавна по оси Y
Float:z - Точка спавна по оси Z
Float:Angle - Угол поворота игрока
weapon1 - Оружие №1 (0 - 46)
weapon1_ammo - Количество патрон к оружию №1 (1 - 9999)
weapon2 - Оружие №2 (0 - 46)
weapon2_ammo - Количество патрон к оружию №2 (1 - 9999)
weapon3 - Оружие №3 (0 - 46)
weapon3_ammo - Количество патрон к оружию №3 (1 - 9999)
Примечание:
- Максимум 320 классов (0 - 319). Если количество классов будет превышено, то класс ID 319 будет заменяться на последний добавленный
Применение:
PHP:
public OnGameModeInit()
{
AddPlayerClass(295, 1958.33, 1343.12, 15.36, 269.15, 25, 100, 30, 100, 24, 100); // Скин Вузи
return true;
}
AddPlayerClassEx(teamid, skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
AddPlayerClassEx - Добавляет новый класс к уже имеющимся классам. Классы используются для того, чтобы игроки могли выбрать скин при спавне. В отличии от функции AddPlayerClass, в этой функции теперь можно выставлять ID команды
teamid - ID команды, в которой будет спавниться игрок
skin - ID скина с которым будет спавниться игрок (0 - 311)
Float:x - Точка спавна по оси X
Float:y - Точка спавна по оси Y
Float:z - Точка спавна по оси Z
Float:Angle - Угол поворота игрока
weapon1 - Оружие №1 (0 - 46)
weapon1_ammo - Количество патрон к оружию №1 (1 - 9999)
weapon2 - Оружие №2 (0 - 46)
weapon2_ammo - Количество патрон к оружию №2 (1 - 9999)
weapon3 - Оружие №3 (0 - 46)
weapon3_ammo - Количество патрон к оружию №3 (1 - 9999)
Примечание:
- Максимум 319 классов (0 - 318). Если количество классов будет превышено, то класс ID 318 будет заменяться на последний добавленный
Применение:
PHP:
public OnGameModeInit()
{
AddPlayerClass(1, 295, 1958.33, 1343.12, 15.36, 269.15, 25, 100, 30, 100, 24, 100); // Скин Вузи
return true;
}
AddStaticPickup(model, type, Float:X, Float:Y, Float:Z, Virtualworld);
AddStaticPickup - Данная функция добавляет в игру "статический" пикап. Такие пикапы используются для выдачи оружия, здоровья, брони и т.д. Они функционируют без добавления функционала. Они срабатывают автоматически (Если пикап здоровья, то вам выдадут здоровье)
model - ID пикапа
type - Тип пикапа
Float:X - Местонахождение пикапа по оси X
Float:Y - Местонахождение пикапа по оси Y
Float:Z - Местонахождение пикапа по оси Z
Virtualworld - ID виртуального мира, в котором будет находится пикап (-1 - для всех виртуальных миров)
Применение:
PHP:
public OnGameModeInit()
{
AddStaticPickup(1240, 23, 1506.3359, 1432.3585, 10.1191, -1);
return true;
}
AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2);
AddStaticVehicle - Данная функция добавляет в игру "статический" транспорт.
modelid - ID транспорта (400 - 611)
Float:spawn_x - Местоположение транспорта по оси X
Float:spawn_y - Местоположение транспорта по оси Y
Float:spawn_z - Местоположение транспорта по оси Z
Float:angle - Угол поворота транспорта
color1 - ID цвета №1 (0 - 255)
color2 - ID цвета №2 (0 - 255)
Применение:
PHP:
public OnGameModeInit()
{
AddStaticVehicle(411, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 0); // Создаем Infernus
return true;
}
AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2, respawn_delay, addsiren);
AddStaticVehicleEx - Данная функция добавляет в игру "статический" транспорт, с указанием времени (в секундах) его респавна, если оно пустует.
modelid - ID транспорта (400 - 611)
Float:spawn_x - Местоположение транспорта по оси X
Float:spawn_y - Местоположение транспорта по оси Y
Float:spawn_z - Местоположение транспорта по оси Z
Float:angle - Угол поворота транспорта
color1 - ID цвета №1 (0 - 255)
color2 - ID цвета №2 (0 - 255)
respawn_delay - Время респавна транспорта (в секундах)
addsiren - Параметр добавлен в версии 0.3.7 и в более ранних версиях работать не будет. Параметр, который добавляет транспорту характерный звуковой сигнал (сирена) (По умолчанию 0)
Применение:
PHP:
public OnGameModeInit()
{
AddStaticVehicleEx(411, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 0, 600, 0); // Создаем Infernus
return true;
}
AddVehicleComponent(vehicleid, componentid);
AddVehicleComponent - Данная функция позволяет добавлять на транспорт различные компоненты (тюнинг (нитро, диски, спойлеры, бамперы и т.д.))
vehicleid - ID транспорта
componentid - ID компонента тюнинга (1000 - 1193)
Применение:
PHP:
new car_id;
public OnGameModeInit()
{
car_id = AddStaticVehicleEx(411, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 0, 600, 0); // Создаем Infernus
return true;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT)
{
if(GetPlayerVehicleID(playerid) == car_id) AddVehicleComponent(car_id, 1010); // Устанавливаем нитро
}
return true;
}
AllowAdminTeleport(allow);
AllowAdminTeleport - Данная функция позволяет установить/снять ограничение на телепорт по метке на карте для RCON администраторов.
allow - Параметр, который позволяет установить/снять ограничение (1 - выключить, 0 - выключить)
Применение:
PHP:
public OnGameModeInit()
{
AllowAdminTeleport(1); // Разрешаем RCON администраторам телепортироваться по метке на карте
return true;
}
AllowInteriorWeapons(allow);
AllowInteriorWeapons - Данная функция позволяет разрешить/запретить носить оружие в стандартных интерьерах GTA SA.
allow - Параметр, который позволяет разрешить/запретить ношение оружия в интерьерах (1 - разрешить, 0 - запретить)
Примечание:
- Данная функция не действительна в текущей версии SA:MP
Применение:
PHP:
public OnGameModeInit()
{
AllowInteriorWeapons(1); // Разрешаем игрокам носить оружие в интерьерах
return true;
}
AllowPlayerTeleport(playerid, allow);
AllowPlayerTeleport - Данная функция позволяет установить/снять ограничение на телепорт по метке на карте для игрока
playerid - ID игрока (0 - 999)
allow - Параметр, который позволяет установить/снять ограничение (1 - выключить, 0 - выключить)
Применение:
PHP:
public OnPlayerConnect(playerid)
{
AllowPlayerTeleport(playerid, 1); // Разрешаем нам телепортироваться по метке на карте
return true;
}
ApplyActorAnimation(actorid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time);
ApplyActorAnimation - Данная функция позволяет проиграть актёру (NPC боту) анимацию
actorid - ID актёра (NPC бота)
animlib[] - Библиотека анимаций
animname[] - Имя анимации из выбранной библиотеки
Float:fDelta - Скорость воспроизведения анимации (Стандарт: 4.1)
loop - Цикл анимации (1 - включить цикл (анимация будет повторяться снова и снова, пока её не отключат), 0 - выключить цикл (анимация проиграется 1 раз))
lockx - Возвращение актёра (NPC бота) обратно по оси X (1 - Актёр (NPC бот) от смещения по оси X возвращаться не будет, 0 - Актёр (NPC бот) от смещения по оси X будет возвращаться)
locky - Возвращение актёра (NPC бота) обратно по оси Y (1 - Актёр (NPC бот) от смещения по оси Y возвращаться не будет, 0 - Актёр (NPC бот) от смещения по оси Y будет возвращаться)
freeze - Включить/выключить заморозку игрока после завершения анимации (1 - включить заморозку после завершения анимации, 0 - выключить заморозку после завершения анимации)
time - Таймер (в миллисекундах) цикла (0 - бесконечный цикл)
Применение:
PHP:
new actor;
public OnGameModeInit()
{
actor = CreateActor(179, 316.1, -134.0, 999.6, 90.0); // Создаем актёра (NPC бота)
ApplyActorAnimation(actor, "DEALER", "shop_pay", 4.1, 0, 0, 0, 0, 0); // Проигрываем анимацию для этого актёра (NPC бота)
return true;
}
ApplyAnimation(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync);
ApplyAnimation - Данная функция позволяет проиграть анимацию игроку
playerid - ID игрока (0 - 999)
animlib[] - Библиотека анимаций
animname[] - Имя анимации из выбранной библиотеки
Float:fDelta - Скорость воспроизведения анимации (Стандарт: 4.1)
loop - Цикл анимации (1 - включить цикл (анимация будет повторяться снова и снова, пока её не отключат), 0 - выключить цикл (анимация проиграется 1 раз))
lockx - Возвращение игрока обратно по оси X (1 - Игрок от смещения по оси X возвращаться не будет, 0 - Игрок от смещения по оси X будет возвращаться)
locky - Возвращение игрока обратно по оси Y (1 - Игрок от смещения по оси Y возвращаться не будет, 0 - Актёр Игрок от смещения по оси Y будет возвращаться)
freeze - Включить/выключить заморозку игрока после завершения анимации (1 - включить заморозку после завершения анимации, 0 - выключить заморозку после завершения анимации)
time - Таймер (в миллисекундах) цикла (0 - бесконечный цикл)
forcesync - Синхронизация анимации серверf с игроком. (0 - отключает синхронизацию (стандарт), 1 - Синхронизация для всех остальных игроков в зоне прорисовки, 2 - То же самое, что и 1 пункт, но применяет анимацию только для остальных игроков в радиусе прорисовки, а не к указанному игроку)
Применение:
PHP:
public OnPlayerSpawn(playerid)
{
ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, 1, 1, 1, 1, 1); // Проигрываем анимацию
return true;
}
Attach3DTextLabelToPlayer(Text3D:id, playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
Attach3DTextLabelToPlayer - Данная функция позволяет прикрепить к игроку уже созданный 3D Text, созданный с помощью функции Create3DTextLabel
Text3D:id - ID уже созданного 3D текста
playerid - ID игрока (0 - 999)
Float:OffsetX - Смещение 3D текста по оси X относительно центра игрока (0.0)
Float:OffsetY - Смещение 3D текста по оси Y относительно центра игрока (0.0)
Float:OffsetZ - Смещение 3D текста по оси Z относительно центра игрока (0.0)
Применение:
PHP:
new Text3D: player_text;
public OnGameModeInit()
{
player_text = Create3DTextLabel("Пользователь Pawno-Info.Ru", 0xFFFF00FF, 7.77, 7.77, 7.77, 100.0, 0, 1);
return true;
}
public OnPlayerSpawn(playerid)
{
Attach3DTextLabelToPlayer(player_text, playerid, 0.0, 0.0, 2.0);
return true;
}
Attach3DTextLabelToVehicle(Text3D:id, vehicleid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
Attach3DTextLabelToVehicle - Данная функция позволяет прикрепить к любому транспорту уже созданный 3D Text, созданный с помощью функции Create3DTextLabel
Text3D:id - ID уже созданного 3D текста
vehicleid - ID транспорта
Float:OffsetX - Смещение 3D текста по оси X относительно центра транспорта (0.0)
Float:OffsetY - Смещение 3D текста по оси Y относительно центра транспорта (0.0)
Float:OffsetZ - Смещение 3D текста по оси Z относительно центра транспорта (0.0)
Применение:
PHP:
public OnGameModeInit()
{
new car_id;
Text3D: car_text;
car_text = Create3DTextLabel("Транспорт пользователя Pawno-Info.Ru", 0xFFFF00FF, 7.77, 7.77, 7.77, 100.0, 0, 1);
car_id = CreateVehicle(411, 0.0. 0.0, 15.0, 0, 0, 600);
Attach3DTextLabelToVehicle(car_text, car_id, 0.0, 0.0, 2.0);
}
AttachCameraToObject(playerid, objectid);
AttachCameraToObject - Данная функция позволяет прикрепить камеру игрока к объекту, созданному с помощью функции CreateObject
playerid - ID игрока, камера которого будет прикреплена к объекту (0 - 999)
objectid - ID объекта, к которому нужно прикрепить камеру игрока
Применение:
PHP:
public OnPlayerSpawn(playerid)
{
new object = CreateObject(1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
AttachCameraToObject(playerid, object);
return true;
}
AttachCameraToPlayerObject(playerid, playerobjectid);
AttachCameraToPlayerObject - Данная функция прикрепляет камеру игрока к игроку-объекту. Можно перемещать свою камеру в тот момент, как она будет прикреплена к объекту
playerid - ID игрока (0 - 999)
playerobjectid - ID игрока-объекта, к которому будет прикреплена камера игрока
Применение:
PHP:
public OnPlayerSpawn(playerid)
{
new player_object = CreatePlayerObject(playerid, 1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
AttachCameraToPlayerObject(playerid, player_object);
return true;
}
AttachObjectToObject(objectid, attachtoid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:RotX, Float:RotY, Float:RotZ, SyncRotation = 1);
AttachObjectToObject - Данная функция позволяет прикрепить один объект к другому объекту, и этот прикрепленный объект, будет следовать за основным объектом
objectid - ID объекта, который вы хотите прикрепить к главному объекту
attachtoid - ID главного объекта
Float:OffsetX - Смещение по оси X относительно главного объекта
Float:OffsetY - Смещение по оси Y относительно главного объекта
Float:OffsetZ - Смещение по оси Z относительно главного объекта
Float:RotX - Вращение по оси X относительно главного объекта
Float:RotY - Вращение по оси Y относительно главного объекта
Float:RotZ - Вращение по оси Z относительно главного объекта
SyncRotation = 1 - Вращение объектов (1 - включить вращение главного и прикрепленного объекта, 0 - выключить вращение главного и прикрепленного объекта)
Применение:
PHP:
public OnGameModeInit()
{
new object = CreateObject(1245, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
new main_object = CreateObject(1245, 2.0, 2.0, 3.0, 0.0, 0.0, 0.0);
AttachObjectToObject(object, main_object, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1);
return true;
}
AttachObjectToPlayer(objectid, playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:rX, Float:rY, Float:rZ);
AttachObjectToPlayer - Данная функция позволяет прикрепить объект к игроку
objectid - ID объекта, который вы хотите прикрепить к игроку
playerid - ID игрока (0 - 999)
Float:OffsetX - Смещение объекта по оси X относительно центра игрока (0.0)
Float:OffsetY - Смещение объекта по оси Y относительно центра игрока (0.0)
Float:OffsetZ - Смещение объекта по оси Z относительно центра игрока (0.0)
Float:rX - Угол поворота объекта по оси X относительно центра игрока (0.0)
Float:rY - Угол поворота объекта по оси Y относительно центра игрока (0.0)
Float:rZ - Угол поворота объекта по оси Z относительно центра игрока (0.0)
Применение:
PHP:
new object;
public OnGameModeInit()
{
object = CreateObject(19341, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
return true;
}
public OnPlayerSpawn(playerid)
{
AttachObjectToPlayer(object, playerid, 1.5, 0.5, 0.0, 0.0, 1.5, 2.0);
return true;
}
AttachObjectToVehicle(objectid, vehicleid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:RotX, Float:RotY, Float:RotZ);
AttachObjectToVehicle - Данная функция позволяет прикрепить объект к транспорту
objectid - ID объекта, который вы хотите прикрепить к транспорту
vehicleid - ID транспорта
Float:OffsetX - Смещение объекта по оси X относительно центра транспорта (0.0)
Float:OffsetY - Смещение объекта по оси Y относительно центра транспорта (0.0)
Float:OffsetZ - Смещение объекта по оси Z относительно центра транспорта (0.0)
Float:RotX - Угол поворота объекта по оси X относительно центра транспорта (0.0)
Float:RotY - Угол поворота объекта по оси Y относительно центра транспорта (0.0)
Float:RotZ - Угол поворота объекта по оси Z относительно центра транспорта (0.0)
Применение:
PHP:
new object;
public OnGameModeInit()
{
object = CreateObject(19341, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
return true;
}
CMD:test(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return
SendClientMessage(playerid, COLOR_GREY, "Вы должны находиться в транспорте!");
AttachObjectToVehicle(objectid, GetPlayerVehicleID(playerid), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
return true;
}
AttachPlayerObjectToPlayer(objectplayer, objectid, attachplayer, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:rX, Float:rY, Float:rZ);
AttachPlayerObjectToPlayer - Данная функция позволяет прикрепить объект к другому игроку или к этому же игроку
objectplayer - ID игрока, для которого был создан объект (0 - 999)
objectid - ID объекта
attachplayer - ID игрока, которому нужно прикрепить объект
Float:OffsetX - Смещение по оси X относительно центра игрока, которому нужно прикрепить объект (0.0)
Float:OffsetY - Смещение по оси Y относительно центра игрока, которому нужно прикрепить объект (0.0)
Float:OffsetZ - Смещение по оси Z относительно центра игрока, которому нужно прикрепить объект (0.0)
Float:rX - Угол поворота по оси X относительно центра игрока, которому нужно прикрепить объект (0.0)
Float:rY - Угол поворота по оси Y относительно центра игрока, которому нужно прикрепить объект (0.0)
Float:rZ - Угол поворота по оси Z относительно центра игрока, которому нужно прикрепить объект (0.0)
Примечание:
- Данная функция была удалена
Применение:
PHP:
new player_object[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
player_object[playerid] = CreatePlayerObject(playerid,19300, 0.0000, -1282.9984, 10.1493, 0.0000, -1, -1, 100);
AttachPlayerObjectToPlayer(playerid, player_object[playerid], playerid, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0);
return true;
}
AttachPlayerObjectToVehicle(playerid, objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ);
AttachPlayerObjectToVehicle - Данная функция позволяет прикрепить объект игрока к транспортному средству
playerid - ID игрока, для которого был создан объект (0 - 999)
objectid - ID объекта
vehicleid - ID транспорта
Float:OffsetX - Смещение по оси X относительно центра транспорта, которому нужно прикрепить объект (0.0)
Float:OffsetY - Смещение по оси Y относительно центра транспорта, которому нужно прикрепить объект (0.0)
Float:OffsetZ - Смещение по оси Z относительно центра транспорта, которому нужно прикрепить объект (0.0)
Float:fRotX - Угол поворота по оси X относительно центра транспорта, которому нужно прикрепить объект (0.0)
Float:fRotY - Угол поворота по оси Y относительно центра транспорта, которому нужно прикрепить объект (0.0)
Float:fRotZ - Угол поворота по оси Z относительно центра транспорта, которому нужно прикрепить объект (0.0)
Применение:
PHP:
CMD:test(playerid)
{
new object = CreatePlayerObject(playerid, 16442, 0, 0, 0, 0, 0, 0);
AttachPlayerObjectToVehicle(playerid, object, GetPlayerVehicleID(playerid), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
return true;
}
AttachTrailerToVehicle(trailerid, vehicleid);
AttachTrailerToVehicle - Данная функция позволяет прикрепить прицеп к транспорту
trailerid - ID прицепа, который нужно присоединить к транспорту
vehicleid - ID транспорта, к которому будет присоединен прицеп
Применение:
PHP:
public OnGameModeInit()
{
new car_id = CreateVehicle(403,2424.8999000,2791.7000000,11.5000000,270.0000000,34,25,600, 0);
new trailer_id = CreateVehicle(584, 251.4276,1396.1947,11.1916,271.8214, 1, 1, 600, 0);
AttachTrailerToVehicle(trailer_id, car_id);
return true;
}
Ban(playerid);
Ban - Данная функция позволяет заблокировать доступ игроку к серверу навсегда
playerid - ID игрока (0 - 999)
Применение:
PHP:
CMD:test(playerid, params[])
{
if(sscanf(params,"i", params[0])) return
SendClientMessage(playerid, 0xFFFFFFFF, "Введите /test [id]");
if(params[0] == playerid) return
SendClientMessage(playerid, 0xB4B4B4FF, "Вы указали свой ID!")
Ban(params[0]);
return true;
}
BanEx(playerid, reason[]);
BanEx - Данная функция позволяет заблокировать доступ игроку к серверу навсегда с указанием причины блокировки аккаунта
playerid - ID игрока (0 - 999)
reason[] - Причина блокировки аккаунта
Применение:
PHP:
CMD:test(playerid, params[])
{
if(sscanf(params,"is[128]", params[0], params[1])) return
SendClientMessage(playerid, 0xFFFFFFFF, "Введите /test [id] [причина]");
if(params[0] == playerid) return
SendClientMessage(playerid, 0xB4B4B4FF, "Вы указали свой ID!")
Ban(params[0], params[1]);
return true;
}
CancelEdit(playerid);
CancelEdit - Данная функция позволяет выключить режим редактирования объекта для игрока
playerid - ID игрока (0 - 999)
Применение:
PHP:
CMD:test(playerid)
{
CancelEdit(playerid);
return true;
}
В данной теме представлено 25 функций
Помог? Жмякай Спасибо
Последнее редактирование модератором: