Вопросы

Доброго времени суток, у меня в моде есть система заточки аксессуаров и она работает, все значения записываются, но по каким-то причинам увеличение урона не срабатывает. У меня есть инклуд weapon-config, до этого в нём не было перехвата функции, я его сделал и по идее дефолтные паблики OnPlayerGiveDamage и OnPlayerTakeDamage щас срабатывают. Буду очень благодарен любой помощи! (К слову, в переменной
pInfo[playerid][pAcsSharpening] все значения равны 11)

 

Паблики OnPlayerGiveDamage и OnPlayerTakeDamage в самом моде:

public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
{
    new damage;
    switch(pInfo[playerid][pAcsSharpening][2])
    {
        case 0..3: damage = 0;
        case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;
        case 12: damage = 8;
    }
    amount += (amount / 100) * damage;
    switch(pInfo[playerid][pAcsSharpening][3])
    {
        case 0..3: damage = 0;
        case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;
        case 12: damage = 8;
    }
    amount += (amount / 100) * damage;
    return 1;
}

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    new nodamage;
    if(pInfo[playerid][pAcsSharpening][1] != 0)
    {
        switch(pInfo[playerid][pAcsSharpening][1])
        {
            case 1..3: nodamage = 0;
            case 4: nodamage = 2;
            case 5: nodamage = 4;
            case 6: nodamage = 5;
            case 7: nodamage = 6;
            case 8: nodamage = 8;
            case 9: nodamage = 10;
            case 10: nodamage = 12;
            case 11,12: nodamage = 15;
        }
    }
    if(pInfo[playerid][pAcsSharpening][4] != 0)
    {
        switch(pInfo[playerid][pAcsSharpening][4])
        {
            case 1..3: nodamage = 0;
            case 4..11: nodamage = pInfo[playerid][pAcsSharpening][4]-2;
            case 12: nodamage = 9;
        }
    }
    new damage;
    switch(pInfo[playerid][pAcsSharpening][2])
    {
        case 0..3: damage = 0;
        case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;
        case 12: damage = 8;
    }
    amount += (amount / 100) * damage;
    switch(pInfo[playerid][pAcsSharpening][3])
    {
        case 0..3: damage = 0;
        case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;
        case 12: damage = 8;
    }
    amount += (amount / 100) * damage;
    if(pInfo[playerid][pAcsSharpening][1] == 0 && pInfo[playerid][pAcsSharpening][4] == 1 || pInfo[playerid][pAcsSharpening][4] == 0 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100) * nodamage;
    if(pInfo[playerid][pAcsSharpening][4] == 1 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100)*nodamage*2;
    return 1;
}

 

Эти же паблики, но в weapon-config с моим перехватом (расположен внизу каждого паблика), мало ли как-то не так сделал

  открыть спойлер

 

Поделиться сообщением


Ссылка на сообщение

5 ответов на этот вопрос

  • 0
gais_st
Свой человек

@phizl для начала предлагаю отдебажить твой код с помощью того же принта, и посмотреть что и как выдаёт :smoke:

Код с дебагом

  открыть спойлер




Никогда не откажусь от <3 под ответом

Отредактировано пользователем gais_st

Поделиться сообщением


Ссылка на сообщение
  • 0
gais_st
Свой человек

@angel_sinvays Для чего самому прописывать дебаги, если можно сделать это другому:)
Достаточно ввести запрос: "Добавь дебаги"

Если человеку действительно это будет нужно, и он отдебажит код, то тогда можно уже будет разбираться в чём проблема :bn:

Или тут запрещено добавлять дебаги?)


Никогда не откажусь от <3 под ответом

Поделиться сообщением


Ссылка на сообщение
  • 0
watson
Завсегдатый

@gais_st Ну слушай, по такому запросу и этот человек сам смог бы прописать это если бы он знал о том что ChatGPT умеет прописывать дебаги))

Поделиться сообщением


Ссылка на сообщение
  • 0
gais_st
Свой человек

@angel_sinvays Ну ведь он этого не знал, судя по тому что он обратился на форум :look:

Всегда имея большой код, и если ты не понимаешь его логики, и где могли бы быть ошибки, то проще всего сделать дебаг всего кода.
В данном варианте так и есть, именно по этому что бы не тратить своё время и было сделан дебаг не в ручную.

Предлагаю на этом и закончить "флеймить" :)

Отредактировано пользователем gais_st

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • crearot
      От crearot
      Мы ищем талантливого 3D-моделлера в команду.  Гибкий график, опытный коллектив.
      Что мы предлагаем:
      — Конкурентоспособную и стабильную заработную плату;
      — Гибкий график и возможность работать удаленно;
      — Работа в окружении специалистов, готовых способствовать развитию ваших навыков;
      — Перспективы карьерного и профессионального роста.
      От вас требуется:
      — Опыт владением 3ds Max и Blender для моделирования и текстурирования;
      — Работа по референсам;
      — Опыт создания интерьеров и экстерьеров;
      — Наличие портфолио.
      — Работа с текстурами (архивы (сборка, пересборка), добавление текстур, создание архивов под разные видеоускорители(PVR, DXT, ETC))
      — Работа с архивами моделей (.img образы) для добавления моделей и пересборки
      — Моделирование карты, работа по т/з для создания ландшафта на карте и т.д


      Отправьте резюме: → https://forms.gle/Trn4vjMEi58EDybv6
    • Axel myself
      От Axel myself
       
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(25676) : error 017: undefined symbol "Geo_GetCountry2"
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(81191) : error 017: undefined symbol "Geo_GetCountry2"
      Pawn compiler 3.2.3664              Copyright (c) 1997-2017, ITB CompuPhase

      2 Errors.


      Помогите пожалуйста с проблемой, ничего нового не добавлял, сам 50/50 разбираюсь в павно) но посмотрев на глаз особо ничего ошибочного не попалось
      Буду благодарен.