Axis 25 Опубликовано 21 апреля, 2015 исходник - феникс. бафы (target_one) невозможно наложить на другого чара. требует пати. подскажите куда копать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
dislike 302 Опубликовано 21 апреля, 2015 (изменено) Нужно смотреть на тип скила, он определяет действия при активации. И копать класс, возможно там какие то проверки дополнительные. Изменено 21 апреля, 2015 пользователем dislike 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 21 апреля, 2015 а на что конкретно надо обратить внимание? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 21 апреля, 2015 (изменено) Требуются исходники и знания java на начальной базе Сам пет не имеет определение на поиск таргета ( не актуально не в каких сборках почти) а на что конкретно надо обратить внимание? Изменено 21 апреля, 2015 пользователем 2terege 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 (изменено) бафы типа акумен, концентрация и им подобные не возможно наложить на цель. требует пати. тоже самое с хилами. надеюсь так подробнее объяснил. исходник имеется - феникс, а точнее саншайн Изменено 22 апреля, 2015 пользователем Axis Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rollfer 188 Опубликовано 22 апреля, 2015 <skill id="4400" levels="3" name="Acumen"> <table name="#Tab-mAtkSpd">1.15 1.23 1.3</table> <table name="#stackOrder">1 2 3</table> <set name="magicType" val="MAGIC" /> <set name="icon" val="icon.skill1085" /> <set name="magicLevel" val="1" /> <set name="castRange" val="400" /> <set name="target" val="TARGET_ONE" /> <set name="skillType" val="BUFF" /> <set name="operateType" val="OP_ACTIVE" /> <for> <effect count="1" name="Buff" stackOrder="#stackOrder" stackType="mAtkSpeedUp" time="3600" val="0"> <mul order="0x30" stat="mAtkSpd" val="#Tab-mAtkSpd" /> </effect> </for> </skill> сравни, у меня работает Skill.rar 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 спасибо, но дело не в статах скилов, а в ядре Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 (изменено) спасибо, но дело не в статах скилов, а в ядре для того чтоб он даже кинул вику требует доработку баф требует переписку пета исходника кода Сам пет ток бафает не требующие таргета <set name="target" val="TARGET_ONE" /> условия для наложения бафа имеет разное Изменено 22 апреля, 2015 пользователем 2terege 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 для того чтоб он даже кинул вику требует доработку баф требует переписку пета исходника кода Сам пет ток бафает не требующие таргета <set name="target" val="TARGET_ONE" /> условия для наложения бафа имеет разное какой пет, ты очем? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 какой пет, ты очем? Кинь сам скрит скила я те укажу что там за определение 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Izonami 31 Опубликовано 22 апреля, 2015 (изменено) единственная проверка на похожее, которую я помню, лежит где то в дебрях L2Characterтам было что то типа сначала проверка на isMagicдальше в теле ифа условие на скил тип с разными таргет типамиТак что стоит проверить в dp, стоит ли у бафа isMagic == true, а дальше skillType == BUFF Изменено 22 апреля, 2015 пользователем Izonami 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 единственная проверка на похожее, которую я помню, лежит где то в дебрях L2Character там было что то типа сначала проверка на isMagic дальше в теле ифа условие на скил тип с разными таргет типами В 6 исходных файлах как минимум в ядре определяется + сам вид исходного кода скила 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 (изменено) if (skill.isMagic()) { if (isPlayer() && getTarget() != null && getTarget().getPlayer() != null) { L2Player pl = getPlayer(); L2Player trg = getTarget().getPlayer(); if (skill.getSkillType() == SkillType.BUFF && skill.getTargetType() != SkillTargetType.TARGET_CLAN && skill.getTargetType() != SkillTargetType.TARGET_PARTY && skill.getTargetType() != SkillTargetType.TARGET_ALLY && skill.getTargetType() != SkillTargetType.TARGET_SELF && trg != pl) { if (!pl.isInParty()) { pl.sendMessage("You cant buff others only in party."); sendActionFailed(); return; } if (trg.isInParty() && pl.getParty() != trg.getParty()) { pl.sendMessage("You cant only buff players from same party."); sendActionFailed(); return; } } } } жаль сравнивать не с чем Изменено 22 апреля, 2015 пользователем Axis Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 оу на наф закольцевал if (isPlayer() && getTarget() != null && getTarget().getPlayer() != null) isPlayer() игрок есть иль нет getTarget() != null если имеется таргет getTarget().getPlayer() != null уточнение на таргет игрока оставьь 1 условие вот проверка пати имеется иль нет тут на лож а не правду if (!pl.isInParty()) { pl.sendMessage("You cant buff others only in party."); sendActionFailed(); return; } тоже самое if (trg.isInParty() && pl.getParty() != trg.getParty()) { pl.sendMessage("You cant only buff players from same party."); sendActionFailed(); return; } а дальше 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Izonami 31 Опубликовано 22 апреля, 2015 а скил можешь приложить какой нибудь, который просит пати ? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 скилл: <skill id="1036" levels="2" name="Magic Barrier"> <table name="#Tab-mDef">1.23 1.3</table> <table name="#effectPoint">418 495</table> <table name="#magicLevel">44 52</table> <table name="#abnormal_lv">2 3</table> <table name="#abnormal_time">1200</table> <set name="effectPoint" val="#effectPoint" /> <set name="magicLevel" val="#magicLevel" /> <set name="target" val="TARGET_ONE" /> <set name="reuseDelay" val="6000" /> <set name="skillType" val="BUFF" /> <set name="operateType" val="OP_ACTIVE" /> <set name="nextAction" val="none" /> <enchant1 levels="30" name="Time"> <table name="#abnormal_time">1240 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680 1720 1760 1800 1840 1880 1920 1960 2000 2040 2080 2120 2160 2200 2240 2280 2320 2360 2400</table> </enchant1> <enchant2 levels="30" name="Cost"> </enchant2> <for> <effect count="1" name="Buff" stackOrder="#abnormal_lv" stackType="MagicDefUp" time="#abnormal_time" val="0"> <mul order="0x30" stat="mDef" val="#Tab-mDef" /> </effect> </for> </skill> пробовал добавить: <set name="isMagic" val="true" /> - ничего не дало Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 (изменено) //------------------------------------------------------------------------------ if (skill.isMagic() ) // вид навыка магический //------------------------------------------------------------------------------ { L2Player pl = getPlayer();// сам персонаж L2Player trg = getTarget().getPlayer();/// тот кого береш в таргет //------------------------------------------------------------------------------ if (isPlayer() // есль правда игрок есть пет не сможет использовать иль ониой вид && getTarget() != null // имеется ли таргет && getTarget().getPlayer() != null)// таргет на игроке есть ли //------------------------------------------------------------------------------ { //------------------------------------------------------------------------------ if (skill.getSkillType() == SkillType.BUFF //если баф && skill.getTargetType() != SkillTargetType.TARGET_CLAN //вид бафа && skill.getTargetType() != SkillTargetType.TARGET_PARTY//вид бафа && skill.getTargetType() != SkillTargetType.TARGET_ALLY //вид бафа && skill.getTargetType() != SkillTargetType.TARGET_SELF) //вид бафа //------------------------------------------------------------------------------ { if (!pl.isInParty()) // если нет пати у игрока { pl.sendMessage("You cant buff others only in party.");// соббшение sendActionFailed(); return;// сброс } if (trg.isInParty() //// если нет пати в таргете игрока && pl.getParty() != trg.getParty()) // если нет пати между игроками { pl.sendMessage("You cant only buff players from same party."); // соббшение sendActionFailed(); return;// сброс } } //------------------------------------------------------------------------------ /* /// не обязательно else if (skill.getSkillType() == SkillType.BUFF //если баф && skill.getTargetType() != SkillTargetType.TARGET_ONE )//вид бафа { pl.sendMessage("Выведит сообшение есль сработало дальш додумывай ");// соббшение } */ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ /* /// не обязательно else { pl.sendMessage("You cant buff not");// соббшение sendActionFailed(); return;// сброс } */ //------------------------------------------------------------------------------ } else { pl.sendMessage("You cant buff others only in player target .");// соббшение sendActionFailed(); return;// сброс } } Изменено 22 апреля, 2015 пользователем 2terege 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 (изменено) остальное сам разберешся если не ясно спрашивай Возможно дет утку ошибся но поймеш Изменено 22 апреля, 2015 пользователем 2terege 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 TARGET_PARTY отвечат за пати бафф бе пати другому не бафниш на скиле берс пп 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Izonami 31 Опубликовано 22 апреля, 2015 скилл: <skill id="1036" levels="2" name="Magic Barrier"> <table name="#Tab-mDef">1.23 1.3</table> <table name="#effectPoint">418 495</table> <table name="#magicLevel">44 52</table> <table name="#abnormal_lv">2 3</table> <table name="#abnormal_time">1200</table> <set name="effectPoint" val="#effectPoint" /> <set name="magicLevel" val="#magicLevel" /> <set name="target" val="TARGET_ONE" /> <set name="reuseDelay" val="6000" /> <set name="skillType" val="BUFF" /> <set name="operateType" val="OP_ACTIVE" /> <set name="nextAction" val="none" /> <enchant1 levels="30" name="Time"> <table name="#abnormal_time">1240 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680 1720 1760 1800 1840 1880 1920 1960 2000 2040 2080 2120 2160 2200 2240 2280 2320 2360 2400</table> </enchant1> <enchant2 levels="30" name="Cost"> </enchant2> <for> <effect count="1" name="Buff" stackOrder="#abnormal_lv" stackType="MagicDefUp" time="#abnormal_time" val="0"> <mul order="0x30" stat="mDef" val="#Tab-mDef" /> </effect> </for> </skill> пробовал добавить: <set name="isMagic" val="true" /> - ничего не дало Без сборки под рукой тяжело... Стоит поискать в проекте по SkillTargetType oneTarget 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 Без сборки под рукой тяжело... Стоит поискать в проекте по SkillTargetType oneTarget вообше нарущены условия тут Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 не Без сборки под рукой тяжело... Стоит поискать в проекте по SkillTargetTypeoneTarget нету такого Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 не нету такого Проше говоря нади похожий навык и посмотри статы и возми его как копирайт перепеши и все 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 22 апреля, 2015 (изменено) методом - проб и неудач. выяснил, что зачем изобретать велосипед, когда можно улучшить. if (skill.getSkillType() == SkillType.BUFF && skill.getTargetType() != SkillTargetType.TARGET_CLAN && skill.getTargetType() != SkillTargetType.TARGET_PARTY && skill.getTargetType() != SkillTargetType.TARGET_ALLY && skill.getTargetType() != SkillTargetType.TARGET_SELF && skill.getTargetType() != SkillTargetType.TARGET_ONE && trg != pl) { Изменено 22 апреля, 2015 пользователем Axis Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 22 апреля, 2015 методом - проб и неудач. выяснил, что зачем изобретать велосипед, когда можно улучшить. if (skill.getSkillType() == SkillType.BUFF && skill.getTargetType() != SkillTargetType.TARGET_CLAN && skill.getTargetType() != SkillTargetType.TARGET_PARTY && skill.getTargetType() != SkillTargetType.TARGET_ALLY && skill.getTargetType() != SkillTargetType.TARGET_SELF && skill.getTargetType() != SkillTargetType.TARGET_ONE && trg != pl) { я указывал више отдельным блоком Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты