Nezdeshniy Опубликовано 26 июня, 2012 Жалоба Поделиться Опубликовано 26 июня, 2012 (изменено) Буду краток, задача убрать задержку на использование скила Venom Splesher НО!!!!!! оставить задержку на срабатывание....skill_cast_db:// Structure of Database:// SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2//-- AS_SPLASHER141,1000,0,0,5000:5500:6000:6500:7000:7500:8000:8500:9000:9500,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000skill_db:// Structure of Database://id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,name,description141,1,6,1,-1,0xF,2,10,1,yes,0,0,0,weapon,0, AS_SPLASHER,Venom SplasherSRC status.c:case SC_SPLASHER: // custom Venom Splasher countdown timer //if (sce->val4 % 1000 == 0) { // char timer[10]; // snprintf (timer, 10, "%d", sce->val4/1000); // clif_message(bl, timer); //} if((sce->val4 -= 500) > 0) { sc_timer_next(500 + tick, status_change_timer, bl->id, data); return 0; } break;Возможно я что то упустил, в сорцах есть еще несколько частей кода для данного скила, часть из них я определил и они не относятся к задержке, прошу помочь... Изменено 26 июня, 2012 пользователем Nezdeshniy Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 26 июня, 2012 Жалоба Поделиться Опубликовано 26 июня, 2012 Мммм... А подробнее можно? Сам процесс, как это должно быть в итоге? Ссылка на комментарий Поделиться на другие сайты Поделиться
Nezdeshniy Опубликовано 26 июня, 2012 Автор Жалоба Поделиться Опубликовано 26 июня, 2012 Мммм... А подробнее можно? Сам процесс, как это должно быть в итоге?Выше я привел то что есть по дефолту в афине, и работает это так(пишу все самое важное относительно работы по времени): кастуешь скил на монстра, проходит 9,5 секунды и монстр получает урон, в этот промежуток времени еще раз использовать этот скил нельзя, задача убрать этот запрет, что бы можно было использовать скил сколько угодно раз. что бы можно было им всех монстров рядом накрыть...Я понимаю что может быть появится баг с тем что можно будет килять монстра моментально если подряд кастовать на него но мне кажется что афина не даст там какойто эффкект вроде как есть.. вобщем не важно. Это не важно.Еще раз самое главное - найти решение отмены или уменьшения задержки использования скила, но что бы задержка, которая идет после каста на получение урона монстру осталась. Все что я смог сделать это убрать полностью задержку но и урон сразу идет, а мне надо что бы он шел после тех же 9,5 секунд.Для примера грубого представь что бы бьешь монстра снайпом даблстрейфом, но после выстрела урон монстр получает через 10 секунд. тоесть ты 10 секунд его бьешь, и только потом он начинает получать урон...Решение гдето рядом в кодах которые я привел, ну или там надо перепистаь как то иначе, но мне мои игры с числами и удалением лишних как мне казалось строк и участков кода результата не дали - только убирал полностью задержку или изменял ее длительность, вот такая хреновая ситуация.. а очень надо найти решение... Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 26 июня, 2012 Жалоба Поделиться Опубликовано 26 июня, 2012 Открываем ../src/map/skill.c и в функции skill_castend_nodamage_id меняем: case AS_SPLASHER: if(tstatus->mode&MD_BOSS || tstatus-> hp > tstatus->max_hp*3/4) { if (sd) clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); map_freeblock_unlock(); return 1; } clif_skill_nodamage(src,bl,skillid,skilllv, sc_start4(bl,type,100,skilllv,skillid,src->id,skill_get_time(skillid,skilllv),1000)); if (sd) skill_blockpc_start (sd, skillid, skill_get_time(skillid, skilllv)+3000); break;на: case AS_SPLASHER: if(tstatus->mode&MD_BOSS || tstatus-> hp > tstatus->max_hp*3/4) { if (sd) clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); map_freeblock_unlock(); return 1; } clif_skill_nodamage(src,bl,skillid,skilllv, sc_start4(bl,type,100,skilllv,skillid,src->id,skill_get_time(skillid,skilllv),1000)); break; 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 26 июня, 2012 Жалоба Поделиться Опубликовано 26 июня, 2012 До того же самого додумался, но потестить негде Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения