Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 9 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 88
  1. #1
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±

    fixes.inc - исправление багов SA-MP

    fixes.inc
    GitHub

    Описание
    Исправления ошибок SA-MP, написанные сообществом.

    Введение
    SA-MP - это тестируемое программное обеспечение написанное небольшой командой в своё свободное время, возможно здесь есть ошибки (как и в любом программном обеспечении). Некоторые из них были известны в течении длительного времени, но имеют низкий приоритет из-за их незначительных эффектов, другие просто не исправляются в течение длительного времени. Для многих из этих ошибок есть решения, которые могут быть реализованы с помощью Pawn (и это может быть проще, чем их реализация в исходном коде SA-MP). Целью этого скрипта является объединение как можно большего числа исправлений в одну библиотеку, удобную в использовании всем.

    Использование
    Для того, чтобы использовать этот скрипт, просто включите его после подключения стандартных SA-MP функций, но перед другими библиотеками:
    1. #include <a_samp>
    2. // Любые переопределения стандартных констант должны быть здесь
    3. //#undef MAX_PLAYERS
    4. //#define MAX_PLAYERS 10
    5. #include <fixes>
    6. #include <other>

    Для отключения любого исправления по какой-либо причине делайте следующее:
    1. #define FIX_<name> 0

    Например, чтобы отключить все file.inc исправления, если вы всегда правильно проверяете дескриптор файла, сделайте следующее:
    1. #include <a_samp>
    2. #define FIX_file_inc 0
    3. #include <fixes>
    4. #include <other>

    Все имена исправлений имеют отдельные слова, и все они, с их описанием, перечислены ниже.

    Если на вашем сервере работает только один скрипт (то есть нет фильтр скриптов), вы можете использовать следующую настройку для улучшения кода fixes.inc:
    1. #include <a_samp>
    2. #define FIXES_Single 1
    3. #include <fixes>
    4. #include <other>


    Исправления
    Название
    Ошибка
    Автор
    Сообщение
    Официально исправлено?
    GetPlayerColor Возвращает "0" если "SetPlayerColor" не был вызван. KoczkaHUN
    FILTERSCRIPT Несмотря на то, что этот макрос есть в каждом новом скрипте (new.pwn), многие люде не определяют "FILTERSCRIPT" в соответствующих случаях. Y_Less
    SpawnPlayer Убивает игрока, если он в транспорте. Y_Less
    SetPlayerName Использование "SetPlayerName" с новым именем, отличающимся от старого только регистром символов, не меняет ник вовсе. Y_Less/simonepri
    GetPlayerSkin Возвращает новый скин после вызова "SetSpawnInfo", но до фактического изменения скина у игрока. Y_Less
    GetWeaponName Ничего не возвращает для 18, 44 и 45. Y_Less 0.3.7
    SetPlayerWorldBounds Прицеливание может обойти границу. Y_Less
    TogglePlayerControllable Другие игроки видят как вы бежите на месте. Slice Link
    HydraSniper Вход в военный самолёт со снайперской винтовкой ломает картинку (как с камерой). funky1234 Link
    IsPlayerInCheckpoint Функция возвращает неопределённое значение если до её вызова не была вызвана ни одна из функций чекпоинтов. Y_Less
    IsPlayerInRaceCheckpoint Функция возвращает неопределённое значение если до её вызова не была вызвана ни одна из функций чекпоинтов. Y_Less
    GetPlayerWeapon Возвращает старое значение после использования "SetPlayerArmedWeapon" для игрока в транспорте. Y_Less
    PutPlayerInVehicle Если функция используется на пассажире и водителе (переброс игроков из одного автомобиля в другой), водитель не видит пассажира в новом транспорте. leong124/Y_Less Link
    KEY_AIM "KEY_AIM" не определена по умолчанию. Y_Less
    SetPlayerCheckpoint При создании нового чекпоинта в случае, когда уже создан другой чекпоинт, в параметр "Float:size" нового чекпоинта передавалось значение старого чекпоинта. ziggi
    SetPlayerRaceCheckpoint При создании нового чекпоинта в случае, когда уже создан другой чекпоинт, в параметр "Float:size" нового чекпоинта передавалось значение старого чекпоинта. ziggi
    TextDrawCreate Падает при пустой строке. wups
    TextDrawSetString Падает при пустой строке и длине, больше чем 1024. TomTrox
    AllowInteriorWeapons Ничего не делает. KoczkaHUN
    OnPlayerEnterVehicle Крашит других игроков когда игрок садится на недействительное место. RyDeR`/Y_Less Link
    OnPlayerEnterVehicle_2 Сервер падает когда читер садится в недействительный транспорт. im/Y_Less
    AllowTeleport В версии 0.3dRC9 были удалены "AllowPlayerTeleport" и "AllowAdminTeleport" в пользу "OnPlayerClickMap". Некоторые скрипты используют эти функции. Y_Less
    SetPlayerSpecialAction Удаление джетпаков у игроков изменением их special action на 0 продолжает воспроизводить звук пока они не умрут. MP2
    OnDialogResponse Читеры могут подменить ID диалога и отправить ответ на не тот диалог, который они видят в настоящее время. Y_Less 0.3e RC6
    GetPlayerDialog (Отключено) Эта функция не существует. Y_Less/simonepri
    PlayerDialogResponse Диалог игрока не скрывается при перезагрузке сервера, что заставляет сервер сообщать "Warning: PlayerDialogResponse PlayerId: 0 dialog ID doesn't match last sent dialog ID". simonepri
    SetSpawnInfo Кикает игрока если "SpawnPlayer" была вызвана до "SetSpawnInfo". Y_Less
    SetPlayerSkin Скидывает с сиденья на байках. CyNiC Link
    HideMenuForPlayer Падает при передаче недействительного ID меню. Y_Less Link
    valstr Падает при больших числах. Slice
    fclose (Отключено) Падает при недействительном дескрипторе. Slice
    fwrite (Отключено) Падает при недействительном дескрипторе. Slice
    fread (Отключено) Падает при недействительном дескрипторе. Slice
    fputchar (Отключено) Падает при недействительном дескрипторе. Slice
    fgetchar (Отключено) Падает при недействительном дескрипторе. Slice
    fblockwrite (Отключено) Падает при недействительном дескрипторе. Slice
    fblockread (Отключено) Падает при недействительном дескрипторе. Slice
    fseek (Отключено) Падает при недействительном дескрипторе. Slice
    flength (Отключено) Падает при недействительном дескрипторе. Slice
    file_inc (Отключено) Включает или выключает все исправления для файлов вместе (может вызвать серьёзные накладные расходы). Y_Less
    IsPlayerAttachedObjectSlotUsed Не работает в OnPlayerDisconnect. Y_Less Link
    SetPlayerAttachedObject Не удаляются объекты при выключении режима. Y_Less Link
    OnPlayerDeath Клиент зависает если он умирает с применённой анимацией. h02 Link
    strins Игнорирует параметр "maxlength", возможны падения. Slice
    IsPlayerConnected Использует только два нижних байта переданного ID. Slice
    OnPlayerCommandText ZCMD может упасть при передаче пустой строки. Y_Less Link
    TrainExit При выходе из поезда, перемещённого с помощью "PutPlayerInVehicle", камера не сбрасывается должным образом. Terminator3/Y_Less
    Kick Вызов "Kick" в "OnPlayerConnect" не работает должным образом. Y_Less Link 0.3x
    OnVehicleMod Крэшит других игроков при применении недействительного компонента. JernejL/Y_Less Link
    random (Отключено) Не работает с отрицательными значениями. simonepri
    sleep Утечка байтов из стека. Y_Less
    AddMenuItem Падает при передаче недействительного ID меню. Y_Less
    SetMenuColumnHeader Падает при передаче недействительного ID меню. Y_Less
    ShowMenuForPlayer Падает при передаче недействительного ID меню. Y_Less
    HideMenuForPlayer Падает при передаче недействительного ID меню. Y_Less Link
    HideMenuForPlayer_2 (Отключено) Игнорирует параметр "menuid". Y_Less
    DisableMenu Падает при передаче недействительного ID меню. Y_Less
    DisableMenuRow Падает при передаче недействительного ID меню. Y_Less
    Menus Все исправления для функций меню. Y_Less
    GetPlayerMenu Возвращает предыдущее меню когда ничего не отображается. Y_Less
    GetPlayerInterior Всегда возвращает 0 для NPC. Y_Less/simonepri
    ClearAnimations Использование ClearAnimation в момент, когда игрок находится в транспорте, выбрасывает игрока из него. simonepri
    ClearAnimations_2 Если ApplyAnimation была вызвана со значением 1 для параметра freeze, ClearAnimations не делает ничего когда анимация заканчивается. simonepri
    KEY_CROUCH При нажатии KEY_CROUCH на месте пассажира вы начинаете целиться; если вы повторно нажмёте KEY_CROUCH игрок не возвращается в транспорт. simonepri
    GangZoneCreate Ошибка зон банд на главной карте для игроков, расположенных под определёнными углами по отношению к ним. simonepri/Y_Less
    SPECIAL_ACTION_PISSING Задефайнить это. simonepri
    IsValidVehicle "IsValidVehicle" не определена по умолчанию. simonepri
    ApplyAnimation Передача недействительной библиотеки анимации в ApplyAnimation вызывает падение клиента для игроков в зоне стрима. simonepri
    ApplyAnimation_2 Когда ApplyAnimation вызывается первый раз после появления игрока, она не работает. simonepri
    OnPlayerSpawn San Andreas забирает $100 у игроков. Y_Less
    GetGravity "GetGravity" не определена по умолчанию. Whitetiger Link
    gpci "gpci" не определена по умолчанию. simonepri Link
    Natives Несколько функций включено по умолчанию, это включает или отключает их все. Y_Less
    OnPlayerConnect Эта функция не вызывается для игроков при включении фильтрскрипта. Y_Less
    OnPlayerDisconnect Эта функция не вызывается для игроков при включении фильтрскрипта. Y_Less
    GameText Некоторые стили не отображаются при указанном времени. Y_Less
    GameTextStyles San Andreas имеет фиксированные стили для зон и имён транспорта, но они не включены в список стилей GameText. Y_Less
    HideGameText Там нет функции "HideGameTextForXYZ". Y_Less
    BODYPARTS Части тела, используемые в OnPlayer(Take/Give)Damage, не определены по умолчанию. Whitetiger
    CAMERAMODES Режимы камеры, используемые в GetPlayerCameraMode, не определены по умолчанию. Whitetiger Link
    SetPlayerCamera Функции камеры, вызванные сразу после включения режима слежения, не работают. Emmet_
    SetPlayerTime Использование этой функции в "OnPlayerConnect" не работает. Emmet_
    OnPlayerRequestClass При выборе класса иногда появляются случайные дубины и бутылки. Y_Less
    SetPlayerColor При использовании в OnPlayerConnect, затрагивающий игрок не увидит цвет в меню TAB. Emmet_ Link
    FileMaths Вы можете написать тарабарщину вида "File:a; ++a;". Y_Less
    GetPlayerWeaponData Оружие, в котором закончились патроны, по-прежнему возвращается. Y_Less Link
    strcmp Возвращает 0 если одна из строк пустая. Y_Less
    GetPVarString Возвращает неправильный код символа для символов с кодом 128 и выше. ziggi/Mutha_X/Daniel_Cortez Link/Link
    GetSVarString Возвращает неправильный код символа для символов с кодом 128 и выше. ziggi/Mutha_X/Daniel_Cortez Link/Link
    toupper Не работает на Linux для символов с кодом 128 и выше. ziggi Link
    tolower Не работает на Linux для символов с кодом 128 и выше. ziggi Link


    Настройки
    Есть несколько настроек для улучшения работы этого скрипта. Задевайните эти символы как "1", прежде чем подключить fixes.inc (удалите или установите их в 0, чтобы отключить их):
    • FIXES_Single - У вас есть только один работающий скрипт (нет фильтрскриптов), упрощает код.
    • FIXES_SilentKick - Когда игрок кикается за запрещённые моды/транспорты, не отправлять им сообщение.
    • FIXES_Debug - Дополнительная информация в консоли сервера.


    Некоторые исправления отключены по умолчанию, но вы можете их включить:
    1. #define FIX_GetPlayerDialog 1 // Добавляет новую функцию, это не цель данного скрипта.
    2. #define FIX_random 1 // Я не думаю, что не работающие отрицательные числа является ошибкой.
    3. #define FIX_file_inc 1 // Это включает все "fwhatever" исправления (исправления для файлов).
    4. #define FIX_HideMenuForPlayer_2 1 // Скрывать определённое меню, а не только текущее.



    Дополнение
    Файл достаточно хорошо документирован, со списком исправленных ошибок в верхней части. Если вы знаете о других ошибках, или у вас есть какие-либо решения для, было бы хорошо, если бы вы разместили их в этой теме (в соответствии с используемой структурой). Эту библиотеку также необходимо тщательное тестировать, чтобы найти ошибки в исправлениях.

    Опять же, это общественный проект, если у кого есть комментарии, улучшения, критика и т.д. пожалуйста, напишите их в этой теме. Это включает в себя дополнения к исходному коду, документацию, переводы или любую другую информацию, из соответствующей области.


    Другие исправления

    Здесь представлено несколько других библиотек, нацеленых на исправление других серьёзных проблем:

    • Fixes2 - Y_Less исправления "SetTimer", "SetTimerEx" и другие.
    • SQLitei - Slice исправления и улучшения многих SQLite функций
    • Timer Fix - Slice исправление, чтобы сделать "SetTimer" и "SetTimerEx" более точными.


    Ошибки
    Отправлено Y_Less:
    Это тестируемое программное обеспечение написанное небольшой командой в своё свободное время, возможно здесь есть ошибки (как и в любом программном обеспечении). Это программное обеспечение нацелено исправлять ошибки, не вызывать их, но здесь тоже могут быть ошибки.
    Наиболее вероятной причиной ошибок является отключение некоторых исправлений. Некоторые исправления являются взаимозависимыми и они ДОЛЖНЫ работать даже тогда, когда связанные с ними исправления отключены, не каждая комбинация была протестирована. Есть буквально миллиарды возможных комбинаций - если вы найдёте ту, которая не компилируется или не работает, пожалуйста, сообщите нам.

    По поводу перевода
    Нормальных знаний английского у меня нет, переводил наспех, поэтому в тексте возможны ошибки. Об этих ошибках вы можете сообщить в этой теме.

    Скачать
    • Последнюю версию вы всегда можете найти на GitHub.
    Последний раз редактировалось ziggi; 15.03.2018 в 20:26. Причина: Исправил опечатки + переписал некоторые описания ошибок

  2. 17 пользователя(ей) сказали cпасибо:
    1lyad (14.09.2016) Alpano (30.03.2017) BadPawn (12.07.2016) DeimoS (12.07.2016) Geebrox (12.07.2016) Guldan (29.11.2016) iWors (31.07.2016) Mr_LemoneZ (04.01.2017) Nash_Brigers (11.08.2016) Nurick (12.07.2016) Osetin (30.07.2016) oukibt (22.11.2020) paik (20.07.2016) Redsan (30.07.2016) Sp1ke (13.07.2016) Unreal (06.08.2016) vovandolg (12.07.2016)
  3. #2
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Использую этот инклуд, очень полезный, много багов исправляет. Однажды мучался и не мог найти проблему в PlayerTextDraw, везде открывал темы с просьбой помочь, никто ничем не смог помочь. Подключил этот инклуд, избавился не только от той проблемы... Советую)
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

  4. #3
    Аватар для Glant
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2014
    Сообщений
    54
    Репутация:
    3 ±
    Вопрос, связанный с FIX_GameText: В инклуде в паблике OnPlayerSpawn все геймтексты (здесь текстдрвы) почему удаляются? Почему?
    К примеру, поставил я геймтекст на 10 секунд, и тут отправил игрока на спавн, и геймекст сткрылся. Если закомментировать код скрытия геймекстов при спавне, это не отразится на всем фиксе?

    - - - Добавлено - - -

    в Гитхабе также оставил вопросик по фиксу GetPlayerWeapon

    - - - Добавлено - - -

    Еще предлагаю интегрировать фикс на баг со слежкой, когда наблюдаемый игрок меняет виртуальный мир, умирает или отключается

    Тема с фиксом: http://pro-pawn.ru/showthread.php?11...28-spectate%29

  5. #4
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Glant Посмотреть сообщение
    Вопрос, связанный с FIX_GameText: В инклуде в паблике OnPlayerSpawn все геймтексты (здесь текстдрвы) почему удаляются? Почему?
    К примеру, поставил я геймтекст на 10 секунд, и тут отправил игрока на спавн, и геймекст сткрылся. Если закомментировать код скрытия геймекстов при спавне, это не отразится на всем фиксе?
    Работу обычных GameText проверял? Что-то мне подсказывает, что они ведут себя точно также. Потом проверю.

    Цитата Сообщение от Glant Посмотреть сообщение
    в Гитхабе также оставил вопросик по фиксу GetPlayerWeapon
    Видел, как появится время и желание займусь.

    Цитата Сообщение от Glant Посмотреть сообщение
    Еще предлагаю интегрировать фикс на баг со слежкой, когда наблюдаемый игрок меняет виртуальный мир, умирает или отключается

    Тема с фиксом: http://pro-pawn.ru/showthread.php?11...28-spectate%29
    Я бы не завал это багом, так задумано в SA-MP. Но в любом случае, цель этого инклуда - это исправление ошибок, а не внедрение новых возможностей. Это одно и тоже, что и предложить внедрить античит - да, это недочёт, но это не баг.

  6. #5
    Аватар для Glant
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2014
    Сообщений
    54
    Репутация:
    3 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Работу обычных GameText проверял? Что-то мне подсказывает, что они ведут себя точно также. Потом проверю.
    Проверял, не исчезает

    - - - Добавлено - - -

    Видел, как появится время и желание займусь.
    А есть какое-то представление как пофиксить? Я сам пытался написать костыль, да не получается пока.
    Вот что у меня:
    - Перехватывать функции GivePlayerWeapon, SetPlayerAremdWeapon, ResetPlayerWeapons, и в них хранить weaponid's в переменных, а при ResetPlayerWeapons и вовсе обнулять.
    - Перехват функции GetPlayerWeapon и в ней возвращать значение из переменной

    Но все упирается в одну мелочь, как я уже писал в Гитхабе, 3 вида оружия (UZI, MP-5 и TEC-9) оказываются в руках "автоматом" при посадке в авто. "Автоматом" в ковычках, потому что это не всегда так, изредка этого не происходит.


    Мне сейчас нужен этот фикс, и если есть решение, прошу выложить в кратце, попробую реализовать.

  7. #6
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Glant Посмотреть сообщение
    А есть какое-то представление как пофиксить? Я сам пытался написать костыль, да не получается пока.
    Вот что у меня:
    - Перехватывать функции GivePlayerWeapon, SetPlayerAremdWeapon, ResetPlayerWeapons, и в них хранить weaponid's в переменных, а при ResetPlayerWeapons и вовсе обнулять.
    - Перехват функции GetPlayerWeapon и в ней возвращать значение из переменной
    Всё верно.

    Цитата Сообщение от Glant Посмотреть сообщение
    Но все упирается в одну мелочь, как я уже писал в Гитхабе, 3 вида оружия (UZI, MP-5 и TEC-9) оказываются в руках "автоматом" при посадке в авто. "Автоматом" в ковычках, потому что это не всегда так, изредка этого не происходит.
    Можно заставить менять оружие на автомат при посадке всегда, тогда проблем не будет.
    Ещё не забудь про парашют, на сколько я помню он убирается при посадке в транспорт.

  8. #7
    Аватар для Glant
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2014
    Сообщений
    54
    Репутация:
    3 ±
    Можно заставить менять оружие на автомат при посадке всегда, тогда проблем не будет.
    Блин, точняк! Сначала просканировать на наличие оружия, затем SetPlayerArmedWeapon.

  9. #8
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Glant Посмотреть сообщение
    Блин, точняк! Сначала просканировать на наличие оружия, затем SetPlayerArmedWeapon.
    Таймер только придется сделать, так как все функции быстро срабатывают, а оружие может появится через ~1 сек, плюс в GivePlayerWeapon что то подобное, чтоб водителям кидало за плечи, а не в руки...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  10. #9
    Аватар для Glant
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2014
    Сообщений
    54
    Репутация:
    3 ±
    таймер не нужен, оружие само по себе оказывается сразу же
    Последний раз редактировалось Glant; 31.07.2016 в 20:20.

  11. #10
    Аватар для Glant
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2014
    Сообщений
    54
    Репутация:
    3 ±
    Фикс на GetPlayerWeapon (точнее будет сказать доработал, ибо пока был фикс только на SetPlayerArmedWeapon в машине:

    Для фикса SetPlayerArmedWeapon в перехватчике этой фукнции записывали weaponid в переменные лишь в том случае, если игрок находится в транспорте. А когда игрок выходил, то заносили значение -1. Такое же значение устанавливалось по дефолту при подключении игрока. На это и обращал внимание пепрехватчик GetPlayerWeapon: если в переменной стоит -1, то возвращать оригинальную функцию, иначе значение из нашей переменной.
    Мой фикс придерживается этого же принципа, и я всего лишь дополнил:



    PHP код:
    stock FIXES_GivePlayerWeapon(playeridweaponidammo)
    {
        new 
    vid GetPlayerVehicleID;

           

        if(
    vid)
        {
             
    // код другого фикса

        #if FIX_GetPlayerWeapon
            #if FIXES_Single
                    
    FIXES_gsPlayerWeapon[playerid] = weaponid;
                
    #else
                    
    SetPVarInt(playeridFIXES_pvarPlayerWeaponweaponid);
                
    #endif           
            #endif
        
    }
    }


    // Новый перехватчик
    #if defined _ALS_ResetPlayerWeapons
            #error _ALS_ResetPlayerWeapons defined
        #endif
        
    native BAD_ResetPlayerWeapons(playerid) = ResetPlayerWeapons;

        
    stock FIXES_ResetPlayerWeapons(playerid)
        { 
            if(
    IsPlayerInAnyVehicle(playerid))
            { 
            
    #if FIXES_Single
                
    FIXES_gsPlayerWeapon[playerid] = 0;
            
    #else
                
    SetPVarInt(playeridFIXES_pvarPlayerWeapon0);
            
    #endif
            
    }    
            
            return 
    ResetPlayerWeapons(playerid);
        }                                       
        
    #define _ALS_ResetPlayerWeapons
        #define ResetPlayerWeapons FIXES_ResetPlayerWeapons



    public OnPlayerStateChange(playeridnewstateoldstate)
    {
        
    // код другого фикса

        // ====================
        // BEGIN:    GetPlayerWeapon
        // ==================== 
        #if FIX_GetPlayerWeapon
            
    if(newstate == PLAYER_STATE_DRIVER)
            {
                new 
    weaponammo;
                
    // Micro SMG/Uzi, MP5, TEC-9 are in 4th slot
                
    GetPlayerWeaponData(playerid4weaponammo);
                if(
    weapon
                {
                    
    SetPlayerArmedWeapon(playeridweapon);
                    
                
    #if defined FIXES_Single
                    
    FIXES_gsPlayerWeapon[playerid] = weapon;
                
    #else
                    
    SetPVarInt(playeridFIXES_pvarPlayerWeaponweaponid);
                
    #endif
                
    }    
            }
        
    #endif
        // ====================
        // END:    GetPlayerWeapon
        // ==================== 






    P.S С парашютом заморачиваться нет необходимости, так как он убирается лишь когда игрок осознанно садится, и за это время кулак (id 0) запоминается само. А при неосознанном парашют "остается в руках".
    Последний раз редактировалось Glant; 31.07.2016 в 20:24.

 

 
Страница 1 из 9 1 2 3 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •