Axis 25 Опубликовано 23 апреля, 2015 (изменено) приветствую всех! подскажите как сделать проверку на определение пола в скрипте пример того что есть public MoSMonk(L2Character actor) { super(actor); } @Override protected void onIntentionAttack(L2Character target) { L2NpcInstance actor = getActor(); if (actor == null) { return; } if (getIntention() == CtrlIntention.AI_INTENTION_ACTIVE && Rnd.chance(20)) { Functions.npcShout(actor, "Brother " + target.getName() + ", move your weapon away!"); } super.onIntentionAttack(target); } как сделать на примере этого? public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isPet) { if (!npc.isInCombat()) { if (player.getActiveWeaponInstance() != null) { npc.setTarget(player); npc.broadcastNpcSay(((player.getAppearance().getSex()) ? "Sister " : "Brother ") + player.getName() + ", move your weapon away!"); switch (npc.getNpcId()) { case 22124: case 22126: npc.doCast(SkillTable.getInstance().getInfo(4589, ); break; default: attack(((L2Attackable) npc), player); break; } } else if (((L2Attackable) npc).getMostHated() == null) return null; } return super.onAggroRangeEnter(npc, player, isPet); } Изменено 23 апреля, 2015 пользователем Axis Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 23 апреля, 2015 target.getPlayer().getSex() 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 23 апреля, 2015 Functions.npcShout(actor, (target.getPlayer().getSex()) ? "Sister " : "Brother " + player.getName() + ", move your weapon away!"); так не выходит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 23 апреля, 2015 Functions.npcShout(actor, (target.getPlayer().getSex()) ? "Sister " : "Brother " + player.getName() + ", move your weapon away!"); так не выходит Проглядел чутка: target.getPlayer().getAppearance().getSex() 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 23 апреля, 2015 [javac] Functions.npcShout(actor, (target.getPlayer().getAppearance().getSex() ? "Sister " : "Brother ") + player.getName() + ", move your weapon away!"); [javac] ^ [javac] Functions.npcShout(actor, (target.getPlayer().getAppearance().getSex() ? "Sister " : "Brother ") + player.getName() + ", move your weapon away!"); [javac] ^ вот что ему не нравится? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 23 апреля, 2015 Какая сборка? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 23 апреля, 2015 саншайн на фениксах Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 23 апреля, 2015 саншайн на фениксах Исходники есть? И работает ли пример, тот что в первом сообщении? Походу метод getSex() не boolean (не возвращает true/false). 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 23 апреля, 2015 работает только так, а пол не определяет package core.sunshine.game.ai; import static core.sunshine.game.ai.CtrlIntention.AI_INTENTION_ACTIVE; import core.sunshine.utilities.ext.scripts.Functions; import core.sunshine.game.model.L2Character; import core.sunshine.game.model.L2Player; import core.sunshine.game.model.instances.L2NpcInstance; import core.sunshine.utilities.util.Rnd; /** * AI монахов в Monastery of Silence<br> * Modify by DRN0167 */ public class MoSMonk extends Fighter { public MoSMonk(L2Character actor) { super(actor); } @Override protected void onIntentionAttack(L2Character target) { L2NpcInstance actor = getActor(); if (actor == null) { return; } if (getIntention() == CtrlIntention.AI_INTENTION_ACTIVE && Rnd.chance(20)) { Functions.npcShout(actor, "Brother " + target.getName() + ", move your weapon away!"); } super.onIntentionAttack(target); } @Override public void checkAggression(L2Character target) { if (target.getActiveWeaponInstance() == null) { return; } super.checkAggression(target); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 23 апреля, 2015 Можно так попробовать: Functions.npcShout(actor, (((target.getPlayer().getAppearance().getSex()) == 0) ? "Sister " : "Brother ") + target.getName() + ", move your weapon away!"); либо так, т.к. на фениксах пол берется вроде как напрямую: Functions.npcShout(actor, (((target.getPlayer().getSex()) == 0) ? "Sister " : "Brother ") + target.getName() + ", move your weapon away!"); 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Region 55 Опубликовано 23 апреля, 2015 очевидно наверное что player. нет, а есть target или от кого ты там имя хочешь взять 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Axis 25 Опубликовано 23 апреля, 2015 спасибо огромное!вот так сработало: Functions.npcShout(actor, (((target.getPlayer().getSex()) == 0) ? "Brother " : "Sister ") + target.getName() + ", move your weapon away!"); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mrDuck 5 Опубликовано 30 апреля, 2015 Ну даже фраза не та у вас в аи. Ниже фраза по оффу) <id="1121006" en="You cannot carry a weapon without authorization!" ru="Вы не сможете пронести оружие с собой без особого разрешения!"/> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты