-
Объявления
-
Новый список серверов 11/17/2016
-
-
Публикации
177 -
Зарегистрирован
-
Посещение
Репутация
106 Многим уже помогО Nurkz
- Активность Главная страница
-
Звание
Продвинутый пользователь
- День рождения 05/06/1993
Информация
- Пол Мужчина
- Город Tallinn
Контакты
-
Skype
[email protected]
ook.com
-
Ну во первых в участке кода if (mob->lookup_const(mobt, "DamageMotion", &i32) && i32 >= 0) { if (battle_config.monster_damage_delay_rate != 100) md.status.dmotion = i32 * battle_config.monster_damage_delay_rate / 100; else md.status.dmotion = i32; } нужно добавить проверку, считается ли моб боссом if (mob->lookup_const(mobt, "DamageMotion", &i32) && i32 >= 0) { if (!(md.status.mode & MD_BOSS) && battle_config.monster_damage_delay_rate != 100) md.status.dmotion = i32 * battle_config.monster_damage_delay_rate / 100; else md.status.dmotion = i32; } и далее после участка кода // MVP EXP Bonus: MEXP if (mob->lookup_const(mobt, "MvpExp", &i32) && i32 >= 0) { // Some new MVP's MEXP multiple by high exp-rate cause overflow. [LuzZza] int64 exp = apply_percentrate64(i32, battle_config.mvp_exp_rate, 100); md.mexp = (unsigned int)cap_value(exp, 0, UINT_MAX); } добавляем if ((md.status.mode & MD_BOSS)) { if (md.mexp == 0 && battle_config.boss_damage_delay_rate != 100) md.status.dmotion = md.status.dmotion * battle_config.boss_damage_delay_rate / 100; else if (md.mexp > 0 && battle_config.mvp_damage_delay_rate != 100) md.status.dmotion = md.status.dmotion * battle_config.mvp_damage_delay_rate / 100; else if (battle_config.monster_damage_delay_rate != 100) md.status.dmotion = md.status.dmotion * battle_config.monster_damage_delay_rate / 100; }
-
У вас на 678 строке происходит декрементация idx и дальнейшая работа с ним, а в 676 строке idx не декрементирован
-
Есть желание создать лоу рейт сервер.
Nurkz ответил в тема Leprechaun в Совместные проекты / поиск партнёров
-
Сам думал о такой идее, но все упиралось во время. Нужна будет любая помощь, можете писать Тоже интересно, на чем пишете? Пс. На open-source проект пойдёт куда быстрее.
-
Вы правы, но очень многое было переписано, можно считать это был своего рода эксклюзив. И всё же, за основу брался старенький еАмод. =) Но были и свои проблемы, недочеты, поэтому мы недавно перешли на Herc.
-
Глянул, в последних ра проверку из clif_parse_loadEndAck засунули в src/map/pc.c функция pc_setpos for( i = 0; i < EQI_MAX; i++ ) { if( sd->equip_index[i] >= 0 ) if( pc_isequip(sd,sd->equip_index[i]) ) pc_unequipitem(sd,sd->equip_index[i],2); } Ну и в src/map/map.c функция map_quit for (i = 0; i < EQI_MAX; i++) { if (sd->equip_index[i] >= 0) if (pc_isequip(sd,sd->equip_index[i])) pc_unequipitem(sd,sd->equip_index[i],2); } В обоих случаях просто заменить на банальное. for (i = 0; i < EQI_MAX; i++) { if (sd->equip_index[i] >= 0) { if ((sd->class_ & MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level > 96) continue; if (pc_isequip(sd,sd->equip_index[i])) pc_unequipitem(sd,sd->equip_index[i],2); } } Не идеально, но сойдет.
-
Отключи проверку предметов для снов 99-го, pc_checkequip вроде. Или если нужно только при смене карты, clif_parse_LoadEndAck
-
То чувство, когда у гепарда появился анти ддос.. А @Functor то молодец
-
@Kubix! Напиши в пм, есть желание затестить YARL.
-
Ребят, внедрение внешних программ запрещено =)
-
К - Качество! Или как не надо пользоваться "гуглтранслейтом".. ПС! Фаталити! Простите, не удержался =)
-
По теме как надо косить под руофф - https://oldro.me/ Ребята, которые смогли, но их жадность их же и погубила.
-
Ох, я и забыл что мне далеко до уровня написания кода здешнего уровня. Ну поведайте нам чего же не хватает ?