Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: SA-MP | О наболевшем - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (13 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

SA-MP | О наболевшем Оценка: -----

#1
Пользователь офлайн   m1n1vv 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Тема сделана для обсуждения и предложения возможностей, которые нельзя сделать нынешними методами, или должны стать частью клиента. Лучшие предложения буду закреплять в теме. Только старайтесь внятно и содержательно описать.

Все будет разделено на 5 групп:
  • Объекты;
  • Коллбэки;
  • Функции;
  • Предложения;
  • Исправление ошибок.


Объекты:
Изображение
ИзображениеСпец объекты с числами - объекты, на которых уже заранее нанесены числа [0..9] белого цвета (для удобного использования параметров materialcolor1 и materialcolor2 в дальнейшем). А нужны для различных реализаций с SetPlayerAttachedObject.
ИзображениеИсправить коллизию объекта ID:16203 с зоны 69. Дело в том, что этот объект является и коллизией объекта ID:16323, ангары.


Коллбэки:
Изображение
ИзображениеOnPlayerChangeWeapon - вызывается при любой смене оружия. Тестовая реализация
   Параметры:
public OnPlayerChangeWeapon(playerid, newweapon, oldweapon) {}
  • playerid - ID игрока
  • newweapon - ID нового оружия
  • oldweapon - ID старого оружия


Функции:
Изображение
ИзображениеShowVehicleMarkers - скрывает иконки всего транспорта. Параметр использовать как в ShowPlayerMarkers.
Изображение
ИзображениеIsPlayerAimed - определяет, прицелился ли игрок или нет.
   Параметры:
IsPlayerAimed(playerid);
  • playerid - ID игрока
Изображение
ИзображениеToggleHUDComponnent - переключает компоненты худа. Можно будет скрыть.
   Параметры:
ToggleHUDComponnent(playerid, componentid, bool:toggle);
  • playerid - ID игрока
  • componentid - ID компонента (0 - все, 1 - карта, 2 - худ)
  • bool:toggle - переключатель (true - включить, false - выключить)
Изображение
ИзображениеSetPlayerFatigue - изменить усталость игрока. Эта функция может повлиять на скорость движения игрока и не только.
   Параметры:
SetPlayerFatigue(playerid, Float:fatigue);
  • playerid - ID игрока
  • Float:fatigue - значение усталости [0..100]

ИзображениеGetPlayerFatigue - узнать усталость игрока.
   Параметры:
GetPlayerFatigue(playerid, &Float:fatigue);
  • playerid - ID игрока
  • &Float:fatigue - переменная, в которую будет записано значение усталости
Изображение
ИзображениеSetPlayerOxygen - изменить уровень кислорода игрока.
   Параметры:
SetPlayerOxygen(playerid, Float:oxygen);
  • playerid - ID игрока
  • Float:oxygen - значение кислорода [0..100]

ИзображениеGetPlayerOxygen - узнать уровень кислорода игрока.
   Параметры:
GetPlayerOxygen(playerid, &Float:oxygen);
  • playerid - ID игрока
  • &Float:oxygen - переменная, в которую будет записано значение кислорода
Изображение
ИзображениеSetObjectSize - изменить размер объекта.
   Параметры:
SetObjectSize(objectid, Float:size);
  • objectid - ID объекта
  • Float:size - размер объекта

ИзображениеGetObjectSize - узнать размер объекта.
   Параметры:
GetObjectSize(objectid, &Float:size);
  • objectid - ID объекта
  • &Float:size - переменная, в которую будет записан размер объекта
Изображение
ИзображениеSetPlayerPhysique - визуально растянуть модель игрока (0 - 1000). Пример
   Параметры:
SetPlayerPhysique(playerid, integer);
  • playerid - ID игрока
  • integer - размер модели игрока

ИзображениеGetPlayerPhysique - узнать размер модели игрока.
   Параметры:
GetPlayerPhysique(playerid);
  • playerid - ID игрока
Изображение
ИзображениеToggleObjectCollisions - коллизия объекта.
   Параметры:
ToggleObjectCollisions(objectid, bool:toggle);
  • objectid - ID объекта
  • bool:toggle - переключатель (true - включить, false - выключить)
Изображение
ИзображениеSetPlayerAttachedWeapon - автоматически крепит объект оружия с небольшим увеличением в руки игроку в правильной позиции.
   Параметры:
SetPlayerAttachedWeapon(playerid, weaponid, materialcolor1, materialcolor2);
  • playerid - ID игрока
  • weaponid - ID оружия
  • materialcolor1, materialcolor2 - окрас оружия
Изображение
ИзображениеSetVisualEffect - установка визуального эффекта очков ночного видения или тепловизора, эффект нахождения под водой или размытия в движении для игрока
   Параметры:
SetVisualEffect(playerid, effectid);
  • playerid - ID игрока
  • effectid - ID визуального эффекта
    • 0 - отключение эффекта
    • 1 - эффект ночного видения
    • 2 - эффект тепловизора
    • 3 - эффект нахождения под водой
    • 4 - эффект размытия в движении (как нитро)

ИзображениеSetVisualEffectToAll - установка визуального эффекта для всех.
   Параметры:
SetVisualEffectToAll(effectid);
  • effectid - ID визуального эффекта

ИзображениеGetVisualEffect - узнать ID визуального эффекта.
   Параметры:
GetVisualEffect(playerid);
  • playerid - ID игрока
Изображение
ИзображениеSightTextur - установить другую текстуру прицела для игрока.
   Параметры:
SightTexture(playerid, sightid);
  • playerid - ID игрока
  • sightid - ID прицела (создать отдельную библиотеку на стороне клиента)

ИзображениеSightTexturToAll - установить другую текстуру прицела для всех.
   Параметры:
SightTextureToAll(sightid);
  • sightid - ID прицела
Изображение
ИзображениеAttachSoundToVehicle - прикрепить ID звука к транспорту (чтобы звук следовал за тс).
   Параметры:
AttachSoundToVehicle(vehicleid, soundid);
  • vehicleid - ID транспорта
  • soundid - ID звука

ИзображениеAttachSoundToVehicleSrc - прикрепить ссылку на звук к транспорту.
AttachSoundToVehicleSrc(vehicleid, sound[]);
  • vehicleid - ID транспорта
  • sound - ссылка за запись
Изображение
ИзображениеCircleGangZoneCreate - создать круглую ганг зону.
   Параметры:
CircleGangZoneCreate(Float:x, Float:y, Float:radius);
  • Float:x, Float:y - центр ганг зоны
  • Float:radius - радиус окружности зоны
Изображение
ИзображениеTextDrawSetPos - изменить позицию TextDraw.
   Параметры:
TextDrawSetPos(text, Float:x, Float:y);
  • text - имя TextDraw
  • Float:x, Float:y - новая позиция TextDraw

ИзображениеPlayerTextDrawSetPos - изменить позицию TextDraw для игрока.
   Параметры:
PlayerTextDrawSetPos(playerid, text, Float:x, Float:y);
  • playerid - ID игрока
  • text - имя TextDraw
  • Float:x, Float:y - новая позиция TextDraw
Изображение
ИзображениеRecoveryBuildingForPlayer - восстановить все объекты удаленные через RemoveBuildingForPlayer.
   Параметры:
RecoveryBuildingForPlayer(playerid);
  • playerid - ID игрока
Изображение
ИзображениеIsAutomaticShooting - проверяет, стреляет игрок или нет. Необходимо для работы с таймерами.
   Параметры:
IsAutomaticShooting(playerid);
  • playerid - ID игрока
Изображение
ИзображениеSetPosAttachObject - установить позицию прикрепленного объекта (к чему именно не имеет значения).
   Параметры:
SetPosAttachObject(objectid, Float:x, Float:y, Float:z);
  • objectid - ID объекта
  • Float:x, Float:y, Float:z - позиции объекта

ИзображениеGetPosAttachObject - узнать позицию прикрепленного объекта.
   Параметры:
GetPosAttachObject(objectid, &Float:x, &Float:y, &Float:z);
  • objectid - ID объекта
  • &Float:x, &Float:y, &Float:z - позиции объекта

ИзображениеSetRotAttachObject - установить ротацию прикрепленного объекта.
   Параметры:
SetRotAttachObject(objectid, Float:x, Float:y, Float:z);
  • objectid - ID объекта
  • Float:x, Float:y,Float: z - позиции объекта

ИзображениеGetRotAttachObject - узнать ротацию прикрепленного объекта.
   Параметры:
GetRotAttachObject(objectid, &Float:x, &Float:y, &Float:z);
  • objectid - ID объекта
  • &Float:x, &Float:y, &Float:z - позиции объекта
Изображение
ИзображениеSetConnectCamera - устанавливает камеру при коннекте к серверу. Функция для OnGameModeInit.
   Параметры:
SetConnectCamera(Float:x, Float:y, Flaot:z, Float:lx, Float:ly, Flaot:lz);
  • Float:x, Float:y, Flaot:z - позиция камеры
  • Float:lx, Float:ly, Flaot:lz - направление
Изображение
ИзображениеSetPlayerWalkAnim -устанавливает анимацию прогулки пешком по умолчанию на клавиши управления персонажем (как при нажатии Alt).
   Параметры:
SetPlayerWalkAnim(playerid);
  • playerid - ID игрока
Изображение
ИзображениеSetObjectBehavior - в 0.3.8 в функции загрузки объекта есть параметр поведения объекта. Но хотелось, чтобы это можно было менять. Например с статического обычного объекта на панорамное окно.
   Параметры:
SetObjectBehavior(objectid, behaviorid);
  • objectid - ID объекта
  • behaviorid - ID объекта поведения


Предложения:
Изображение
ИзображениеВ функцию Create3DTextLabel добавить параметры шрифта и размера текста.
ИзображениеВ функцию fopen добавить поддержку создания каталогов.
ИзображениеВ функцию MoveObject добавить компонент создания объекта после завершения движения.
ИзображениеТип диалога: DIALOG_STYLE_TABLIST_CATEGORIES. Сортирует список на подкатегории. Пример
ИзображениеТип диалога: DIALOG_STYLE_MSGBOX_HEADERS. Этот стиль похож на DIALOG_STYLE_MSGBOX, но может разделять контент в таблицу. Пример
ИзображениеВстроить в SA:MP chromium. Заменить TD языками верстки. Подойдет для реализаций сайтов в стиле GTAV.


Исправление ошибок:
Изображение
ИзображениеSetPlayerAmmo - если у игрока забрать оружие и снова выдать, то при стрельбе будет воспроизводиться только анимация.
ИзображениеИсправление работу с упакованными строками в printf и format.
ИзображениеИсправление обновления всех AttachObject. На данный момент они пару раз обновляю.

Сообщение отредактировал m1n1vv: 12 Ноябрь 2017 - 16:36

1

#2
Пользователь офлайн   SooBad 

  • Псевдо-переферийный магус
  • Вставить ник
  • Раскрыть информацию
Fix функций printf, format. Возможность работать им с упакованными строками.
Fix на стороне клиента, связанный с крашами невалидным транспортом и аттачем объектов к игроку.
Fix "плохой" рекурсии, на стороне компилятора. При нахождение данного типа рекурсии, выводится ошибка с указанием предположительной строки.
Fix длинных строк. Дать возможность работать с ними в обычном компиляторе.

Сообщение отредактировал m1n1vv: 28 Январь 2017 - 18:28
Причина редактирования: Fix

0

#3
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
ToggleHUDComponnent(playerid, componentid, bool:toggle); // Переключает компоненты худа. Можно будет скрыть.

SetPlayerFatigue(playerid, Float:fatigue); // Изменить усталость игрока.
GetPlayerFatigue(playerid, &Float:fatigue);

SetPlayerOxygen(playerid, Float:oxygen); // Изменить кислород игрока.
GetPlayerOxygen(playerid, &Float:oxygen);

SetObjectSize(objectid, Float:size); // Изменить размер объекта
GetObjectSize(objectid, &Float:size);

SetPlayerPhysique(playerid, integer); // Визуально растянуть модель игрока (0 - 1000). Скрин: https://pp.vk.me/c620917/v620917761/ce89/uDKd43zwvXA.jpg
GetPlayerPhysique(playerid);

ToggleObjectCollisions(objectid, bool:toggle); // Включить или отключить колизию объекта.

0

#4
Пользователь офлайн   Pa4enka 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSooBad (28 Январь 2017 - 17:21) писал:

Fix функций printf, format. Возможность работать им с упакованными строками.

Если можно было бы их сделать упакованными, то разработчик сделал их такими еще в предыдущих версиях.
0

#5
Пользователь офлайн   SooBad 

  • Псевдо-переферийный магус
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияPa4enka (28 Январь 2017 - 17:26) писал:

Если можно было бы их сделать упакованными, то разработчик сделал их такими еще в предыдущих версиях.

Просто у некоторых разработчиков руки из попы растут. Где-то недосмотрят, где-то не доделают.
И это не единственные функции, которые работают не совсем корректно, вернее, имеют не полный функционал.
0

#6
Пользователь офлайн   m1n1vv 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSooBad (28 Январь 2017 - 17:21) писал:

Fix на стороне клиента, связанный с крашами невалидным транспортом и аттачем объектов к игроку.

Никогда с этим не сталкивался
0

#7
Пользователь офлайн   SooBad 

  • Псевдо-переферийный магус
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияm1n1vv (28 Январь 2017 - 21:02) писал:

Никогда с этим не сталкивался

Этот "баг", фактически, и используют крашеры в вредительских целях. Прикрепляя невалидные объекты к авто, поездам и т.п.
0

#8
Пользователь офлайн   Dergun 

  • NET Team
  • Вставить ник
  • Раскрыть информацию
Загрузка ресурсов на клиент еще бы не помешала думаю.
0

#9
Пользователь офлайн   AloneAmigo 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
Ну чот по-детски как-то
"Хочу чтобы можно было объекты увеличить, игроков увеличить, усталость, и голод, а ещё маркеры авто заменить на пони, и ещё одежду клёво было бы, а ещё мониторы в мониторах в авто"
А то что в NEX-AС уже 7к строк фиксов - это норм, просто подключим и всё

Сообщение отредактировал m1n1vv: 29 Январь 2017 - 10:15
Причина редактирования: Fix

0

#10
Пользователь офлайн   Nexius 

  • Знаток
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияAloneAmigo (28 Январь 2017 - 23:43) писал:

А то что в NEX-AС уже 7к строк фиксов - это норм, просто подключим и всё

Насколько я знаю, античит встроенный когда-то в сампе был, SAC назывался. Но из-за нытья тех, кто замену моделек на свою телегу не мог поставить (проще говоря, никакие клео моды юзать было нельзя), его выпилили. Выходит, выгоднее иметь потенциальных читеров, чем терять онлайн. Так что о встроенном античите вряд ли думать стоит.

Сообщение отредактировал Nexius: 29 Январь 2017 - 15:05

0

Поделиться темой:


  • (13 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей