Чего не хватает в SA:MP
#1

В этой теме предложены наверно самые ожидаемы функции.

Все будет разделено на 5 групп:
  • Объекты;
  • Коллбэки;
  • Функции;
  • Предложения;
  • Исправление ошибок.
Объекты:
  • Спец объекты с числами - объекты, на которых уже заранее нанесены числа [0..9] белого цвета (для удобного использования параметров materialcolor1 и materialcolor2 в дальнейшем). А нужны для различных реализаций с SetPlayerAttachedObject.
  • Исправить коллизию объекта ID:16203 с зоны 69. Дело в том, что этот объект является и коллизией объекта ID:16323, ангары.
Коллбэки:
  • OnPlayerChangeWeapon - вызывается при любой смене оружия.
    Code:
    public OnPlayerChangeWeapon(playerid, newweapon, oldweapon) {}
    
    • playerid - ID игрока
    • newweapon - ID нового оружия
    • oldweapon - ID старого оружия
Функции:
  • ShowVehicleMarkers - скрывает иконки всего транспорта. Параметр использовать как в ShowPlayerMarkers.
  • IsPlayerAimed - определяет, прицелился ли игрок или нет.
    Code:
    IsPlayerAimed(playerid);
    
    • playerid - ID игрока
  • ToggleHUDComponnent - переключает компоненты худа. Можно будет скрыть.
    Code:
    ToggleHUDComponnent(playerid, componentid, bool:toggle);
    
    • playerid - ID игрока
    • componentid - ID компонента (0 - все, 1 - карта, 2 - худ)
    • bool:toggle - переключатель (true - включить, false - выключить)
  • SetPlayerFatigue - изменить усталость игрока. Эта функция может повлиять на скорость движения игрока и не только.
    Code:
    SetPlayerFatigue(playerid, Float:fatigue);
    
    • playerid - ID игрока
    • Float:fatigue - значение усталости [0..100]
  • GetPlayerFatigue - узнать усталость игрока.
    Code:
    GetPlayerFatigue(playerid, &Float:fatigue);
    
    • playerid - ID игрока
    • &Float:fatigue - переменная, в которую будет записано значение усталости
  • SetPlayerOxygen - изменить уровень кислорода игрока.
    Code:
    SetPlayerOxygen(playerid, Float:oxygen);
    
    • playerid - ID игрока
    • Float:oxygen - значение кислорода [0..100]
  • GetPlayerOxygen - узнать уровень кислорода игрока.
    Code:
    GetPlayerOxygen(playerid, &Float:oxygen);
    
    • playerid - ID игрока
    • &Float:oxygen - переменная, в которую будет записано значение кислорода
  • SetObjectSize - изменить размер объекта.
    Code:
    SetObjectSize(objectid, Float:size);
    
    • objectid - ID объекта
    • Float:size - размер объекта
  • GetObjectSize - узнать размер объекта.
    Code:
    GetObjectSize(objectid, &Float:size);
    
    • objectid - ID объекта
    • &Float:size - переменная, в которую будет записан размер объекта
  • SetPlayerPhysique - визуально растянуть модель игрока (0 - 1000). Пример
    Code:
    SetPlayerPhysique(playerid, integer);
    
    • playerid - ID игрока
    • integer - размер модели игрока
  • GetPlayerPhysique - узнать размер модели игрока.
    Code:
    GetPlayerPhysique(playerid);
    
    • playerid - ID игрока
  • ToggleObjectCollisions - коллизия объекта.
    Code:
    ToggleObjectCollisions(objectid, bool:toggle);
    
    • objectid - ID объекта
    • bool:toggle - переключатель (true - включить, false - выключить)
  • SetPlayerAttachedWeapon - автоматически крепит объект оружия с небольшим увеличением в руки игроку в правильной позиции.
    Code:
    SetPlayerAttachedWeapon(playerid, weaponid, materialcolor1, materialcolor2);
    
    • playerid - ID игрока
    • weaponid - ID оружия
    • materialcolor1, materialcolor2 - окрас оружия
  • SetVisualEffect - установка визуального эффекта очков ночного видения или тепловизора, эффект нахождения под водой или размытия в движении для игрока
    Code:
    SetVisualEffect(playerid, effectid);
    
    • playerid - ID игрока
    • effectid - ID визуального эффекта
     0 - отключение эффекта
     1 - эффект ночного видения
     2 - эффект тепловизора
     3 - эффект нахождения под водой
     4 - эффект  размытия в движении (как нитро)
  • SetVisualEffectToAll - установка визуального эффекта для всех.
    Code:
    SetVisualEffectToAll(effectid);
    
    • effectid - ID визуального эффекта
  • GetVisualEffect - узнать ID визуального эффекта.
    Code:
    GetVisualEffect(playerid);
    
    • playerid - ID игрока
  • SightTextur - установить другую текстуру прицела для игрока.
    Code:
    SightTexture(playerid, sightid);
    
    • playerid - ID игрока
    • sightid - ID прицела (создать отдельную библиотеку на стороне клиента)
  • SightTexturToAll - установить другую текстуру прицела для всех.
    Code:
    SightTextureToAll(sightid);
    
    • sightid - ID прицела
  • AttachSoundToVehicle - прикрепить ID звука к транспорту (чтобы звук следовал за тс).
    Code:
    AttachSoundToVehicle(vehicleid, soundid);
    
    • vehicleid - ID транспорта
    • soundid - ID звука
  • AttachSoundToVehicleSrc - прикрепить ссылку на звук к транспорту.
    Code:
    AttachSoundToVehicleSrc(vehicleid, sound[]);
    
    • vehicleid - ID транспорта
    • sound - ссылка за запись
  • CircleGangZoneCreate - создать круглую ганг зону.
    Code:
    CircleGangZoneCreate(Float:x, Float:y, Float:radius);
    
    • Float:x, Float:y - центр ганг зоны
    • Float:radius - радиус окружности зоны
Предложения:
  • В функцию Create3DTextLabel добавить параметры шрифта и размера текста.
  • В функцию fopen добавить поддержку создания каталогов.
  • В функцию MoveObject добавить компонент создания объекта после завершения движения.
  • Добавить возможность восстановления объектов удаленных через RemoveBuildingForPlayer, RecoveryBuildingForPlayer.
  • Тип диалога: DIALOG_STYLE_TABLIST_CATEGORIES. Сортирует список на подкатегории. Пример
  • Тип диалога: DIALOG_STYLE_MSGBOX_HEADERS. Этот стиль похож на DIALOG_STYLE_MSGBOX, но может разделять контент в таблицу. Пример
  • Встроить в SA:MP chromium. Заменить TD языками верстки. Подойдет для реализаций сайтов в стиле GTAV.
Исправление ошибок:
  • SetPlayerAmmo - если у игрока забрать оружие и снова выдать, то при стрельбе будет воспроизводиться только анимация.
  • Исправление работу с упакованными строками в printf и format.
  • Исправление обновления всех AttachObject. На данный момент они пару раз обновляются и больше не меняют значений.
Автор: m1n1vv
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)