Salfer Опубликовано 4 сентября, 2016 Жалоба Поделиться Опубликовано 4 сентября, 2016 (изменено) Столкнулся со следующей проблемой: В клиенте не отображались бонусы bonus bAtkRate,n; Attack power + n% bonus bMatkRate,n; Magical attack power + n% (по факту выдает, но не отображает) Стал разбираться. Нашел, что в clif.c задаются для игроков case SP_MATK1: WFIFOL(fd,4)=pc_rightside_matk(sd); break; case SP_MATK2: WFIFOL(fd,4)=pc_leftside_matk(sd); break; нашел эти значения в pc.h #define pc_leftside_matk(sd) \ (\ ((sd)->sc.data[SC_MAGICPOWER] && (sd)->sc.data[SC_MAGICPOWER]->val4) \ ?((sd)->battle_status.matk_min * 100 + 50) / ((sd)->sc.data[SC_MAGICPOWER]->val3+100) \ :(sd)->battle_status.matk_min \ ) #define pc_rightside_matk(sd) \ (\ ((sd)->sc.data[SC_MAGICPOWER] && (sd)->sc.data[SC_MAGICPOWER]->val4) \ ?((sd)->battle_status.matk_max * 100 + 50) / ((sd)->sc.data[SC_MAGICPOWER]->val3+100) \ :(sd)->battle_status.matk_max \ ) Если тупо изменить это на #define pc_leftside_matk(sd) ( (sd)->battle_status.matk_min ) #define pc_rightside_matk(sd) ( (sd)->battle_status.matk_max ) То система начинает отображать и MatkRate, но вот при использовании умения MAGICPOWER значение не изменяется, только после применения атакующего скилла. Есть идеи, как это можно поправить? Изменено 4 сентября, 2016 пользователем Salfer Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения