Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: GetPlayerWeaponData вопрос

  1. #1
    ыыыыы Аватар для Mexanizm
    Регистрация
    16.01.2012
    Адрес
    Россия. Воронеж
    Возраст
    30
    Сообщений
    2,450
    Репутация: 287

    Звание: как роза среди колючек

    Вопрос GetPlayerWeaponData вопрос

    Всем привет. Столкнулся с такой проблему, что дальше не позволяет вести работу.
    После как игрок отстрелял все патроны дигла - оружие удалится из слота игрока автоматом, но оказывается, функция GetPlayerWeaponData вернёт id оружия, хотя по идее его нет. Патронов 0. Помогает только новый спавн. Тогда значения обнулятся.

    Как бороться с этим ?)
    Modern RP





  2. #2
    Активный пользователь Аватар для Argument
    Регистрация
    06.11.2012
    Адрес
    δδδδδδδδδδδδδδδδ
    Возраст
    54
    Сообщений
    780
    Репутация: 118

    Звание: скоро придёт к известности
    Делать еще одну проверку на патроны, если 0, то не учитывать.
    Мониторинг форумов (статистика за сегодня)
    Pawno.su:
    Lightcode.ru:
    Pro-pawn.ru:
    Pawno-info.ru:

  3. 1 пользователь сказал cпасибо Argument за это полезное сообщение:

    Mexanizm (11.03.2016)

  4. #3
    ыыыыы Аватар для Mexanizm
    Регистрация
    16.01.2012
    Адрес
    Россия. Воронеж
    Возраст
    30
    Сообщений
    2,450
    Репутация: 287

    Звание: как роза среди колючек
    Цитата Сообщение от Argument Посмотреть сообщение
    Делать еще одну проверку на патроны, если 0, то не учитывать.
    Это не выход. Может без костылей как то можно ? Например я чего то не знаю, возможно как нибудь можно повлиять на функцию ?
    Например с античитом на оружие получается трабла, а отсюда и ложные кики. Возвращаются же неправильные данные. У игрок нет оружия но оно возвращается.
    Modern RP





  5. #4
    ыыыыы Аватар для Mexanizm
    Регистрация
    16.01.2012
    Адрес
    Россия. Воронеж
    Возраст
    30
    Сообщений
    2,450
    Репутация: 287

    Звание: как роза среди колючек
    Прикольно, проблема оказывается известна и вообще является ли проблемой со стороны разрабов...
    В SetPlayerAmmo написали

    Tip
    Set the ammo to 0 to remove a weapon from a player's inventory. Note that the weapon will still show up inGetPlayerWeaponData, albeit with 0 ammo.


    Фиксанул просто проверкой как
    Argument указал.
    Последний раз редактировалось Mexanizm; 11.03.2016 в 02:09.
    Modern RP





  6. #5
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем
    Как бороться с этим ?)
    Всё просто - не использовать эту функцию
    :)

  7. 1 пользователь сказал cпасибо EvgeN 1137 за это полезное сообщение:

    Mexanizm (11.03.2016)

  8. #6
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность
    В fixes.inc это исправлено так:
    PHP код:
    stock FIXES_GetPlayerWeaponData(playeridslot, &weapons, &ammo)
    {
        
    // This reuses the "slot" variable so we don't have to declare a new one
        // and can put all the code in a single statement.
        
    return
            
    slot GetPlayerWeaponData(playeridslotweaponsammo),
            
    weapons ammo weapons 0,
            
    slot;
    }
    #if defined _ALS_GetPlayerWeaponData
        #undef GetPlayerWeaponData
    #else
        #define _ALS_GetPlayerWeaponData
    #endif
     
    #define GetPlayerWeaponData FIXES_GetPlayerWeaponData 
    Цитата Сообщение от Mexanizm Посмотреть сообщение
    Прикольно, проблема оказывается известна и вообще является ли проблемой со стороны разрабов...
    В SetPlayerAmmo написали

    Tip
    Set the ammo to 0 to remove a weapon from a player's inventory. Note that the weapon will still show up inGetPlayerWeaponData, albeit with 0 ammo.


    Фиксанул просто проверкой как
    Argument указал.
    Дак багов куча и куйман их не собирается фиксить.
    Блог: ziggi.org
    GitHub: github.com/ziggi
    Open-GTO Project: https://github.com/Open-GTO
    FCNPC (боты для SA-MP): https://github.com/Open-GTO/FCNPC

  9. 1 пользователь сказал cпасибо ziggi за это полезное сообщение:

    Mexanizm (11.03.2016)

  10. #7
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от Mexanizm Посмотреть сообщение
    Всем привет. Столкнулся с такой проблему, что дальше не позволяет вести работу.
    После как игрок отстрелял все патроны дигла - оружие удалится из слота игрока автоматом, но оказывается, функция GetPlayerWeaponData вернёт id оружия, хотя по идее его нет. Патронов 0. Помогает только новый спавн. Тогда значения обнулятся.

    Как бороться с этим ?)
    А зачем, по сути, удалять оружие из инвентаря? Количество патронов никаким образом не должно влиять на "кол-во оружия у тебя в руках". Как-то так.

  11. 1 пользователь сказал cпасибо Fallen A. за это полезное сообщение:

    Mexanizm (11.03.2016)

  12. #8
    ыыыыы Аватар для Mexanizm
    Регистрация
    16.01.2012
    Адрес
    Россия. Воронеж
    Возраст
    30
    Сообщений
    2,450
    Репутация: 287

    Звание: как роза среди колючек
    Цитата Сообщение от ziggi Посмотреть сообщение
    В fixes.inc это исправлено так:
    PHP код:
    stock FIXES_GetPlayerWeaponData(playeridslot, &weapons, &ammo)
    {
        
    // This reuses the "slot" variable so we don't have to declare a new one
        // and can put all the code in a single statement.
        
    return
            
    slot GetPlayerWeaponData(playeridslotweaponsammo),
            
    weapons ammo weapons 0,
            
    slot;
    }
    #if defined _ALS_GetPlayerWeaponData
        #undef GetPlayerWeaponData
    #else
        #define _ALS_GetPlayerWeaponData
    #endif
     
    #define GetPlayerWeaponData FIXES_GetPlayerWeaponData 


    Дак багов куча и куйман их не собирается фиксить.

    Спасибо Зигги. Я собсна оттуда и подглядел после совета Argumenta. Полезный инклуд.


    Цитата Сообщение от Fallen A. Посмотреть сообщение
    А зачем, по сути, удалять оружие из инвентаря? Количество патронов никаким образом не должно влиять на "кол-во оружия у тебя в руках". Как-то так.
    Дак я то думал логика игры такая, что если патроны закончились, то и оружие автоматом удалилось из слота. Соответственно исходя из этого и проверки строил. Оказывается пушка остаётся. По логике вещей, если так сделано, то может Rockstar задумывали изначально делать систему оружия без учёта по патронам, то есть закончилось оружие, например Калаш, он не прячется, а остаётся в руках, и его можно листать, только стрелять нельзя. Хз.
    Я месяц себе мозги насиловал с античитом на оружие, с ложными киками, а проблема была вон в чём. А мозгов, что бы пропринтить результаты функции не хватило...
    Последний раз редактировалось Mexanizm; 11.03.2016 в 12:01.
    Modern RP





  13. #9
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от Mexanizm Посмотреть сообщение
    Спасибо Зигги. Я собсна оттуда и подглядел после совета Argumenta. Полезный инклуд.



    Дак я то думал логика игры такая, что если патроны закончились, то и оружие автоматом удалилось из слота. Соответственно исходя из этого и проверки строил. Оказывается пушка остаётся. По логике вещей, если так сделано, то может Rockstar задумывали изначально делать систему оружия без учёта по патронам, то есть закончилось оружие, например Калаш, он не прячется, а остаётся в руках, и его можно листать, только стрелять нельзя. Хз.
    Я месяц себе мозги насиловал с античитом на оружие, с ложными киками, а проблема была вон в чём. А мозгов, что бы пропринтить результаты функции не хватило...
    Античит здесь простейший и реализация такая же.

  14. #10
    ыыыыы Аватар для Mexanizm
    Регистрация
    16.01.2012
    Адрес
    Россия. Воронеж
    Возраст
    30
    Сообщений
    2,450
    Репутация: 287

    Звание: как роза среди колючек
    Цитата Сообщение от Fallen A. Посмотреть сообщение
    Античит здесь простейший и реализация такая же.
    Да ты что ?! Не шутишь ? Простейший то простейший, однако гемору сколько было.... Я ещё раз говорю, что не знал раньше, что функция возвращает ложные значения и гемороился по этому поводу, думая, что проблема в другом.

    И вообще у меня глаза уже плавится начали от компа. Пора спать.
    Modern RP





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

Ваши права

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