Говорящие мобы в МоС
5 ответов94 просмотровСейчас просматривают: 1
· 29.12.2009, 21:51
Помнится кто-то переписывал phyton скрипт под java, чтобы мобы в Monastery of Silence кричали по русски.
Выложете пожалуйста ктонибудь!
0
· 29.12.2009, 22:03
А если уже готовый java с англ. текстом, там добавить код на использование текста из htm? Не пробывал, по скольку не нуждаюсь в этом, англ. язык тож не плохо.))
0
· 29.12.2009, 22:05
Если честно не представляю как заставить моба говорить начинку html файла. Может объясниш?
0
· 29.12.2009, 22:12
Akumu: Помнится кто-то переписывал phyton скрипт под java, чтобы мобы в Monastery of Silence кричали по русски.
Выложете пожалуйста ктонибудь!
А что мешает просто перевести скрипт?
На Форуме я тоже Radar!
Я везде Radar!
0
· 29.12.2009, 22:23
Цитата
А что мешает просто перевести скрипт?
Вксет на пхитоне, сборка не хочет распозначать кирилицу в пхитоне.
Вот каму нада монастырь на яве:
Раскрывающийся текст
Код
package ai.group_template;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.model.L2Attackable;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.NpcSay;
import net.sf.l2j.util.Rnd;
public class Monastery extends L2AttackableAIScript
{
public Monastery(int questId, String name, String descr)
{
super(questId, name, descr);
int[] mobs = {22124, 22125, 22126, 22127, 22129};
this.registerMobs(mobs);
}
private static boolean _isAttacked = false;
public String onAttack (L2NpcInstance npc, L2PcInstance attacker, int damage, boolean isPet)
{
if (npc.getNpcId() == 22129 && _isAttacked == false && Rnd.get(100) < 50)
npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Брат " + attacker.getName() + ", спрячь своё оружие!!"));
_isAttacked = true;
return super.onAttack (npc, attacker, damage, isPet);
}
public String onAggroRangeEnter(L2NpcInstance npc, L2PcInstance player, boolean isPet)
{
L2Character target = isPet ? player.getPet().getOwner() : player;
if (target.getActiveWeaponItem() != null)
{
if (npc.getNpcId() == 22129)
npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Брат " + target.getName() + ", спрячь своё оружие!!"));
else
npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Ты не можешь носить оружие без разрешения!"));
((L2Attackable) npc).addDamageHate(target, 0, 999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
}
else
{
((L2Attackable) npc).getAggroListRP().remove(target);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE, null, null);
}
return null;
}
public static void main(String[] args)
{
new Monastery(-1, "Monastery", "ai");
}
}
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.model.L2Attackable;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.NpcSay;
import net.sf.l2j.util.Rnd;
public class Monastery extends L2AttackableAIScript
{
public Monastery(int questId, String name, String descr)
{
super(questId, name, descr);
int[] mobs = {22124, 22125, 22126, 22127, 22129};
this.registerMobs(mobs);
}
private static boolean _isAttacked = false;
public String onAttack (L2NpcInstance npc, L2PcInstance attacker, int damage, boolean isPet)
{
if (npc.getNpcId() == 22129 && _isAttacked == false && Rnd.get(100) < 50)
npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Брат " + attacker.getName() + ", спрячь своё оружие!!"));
_isAttacked = true;
return super.onAttack (npc, attacker, damage, isPet);
}
public String onAggroRangeEnter(L2NpcInstance npc, L2PcInstance player, boolean isPet)
{
L2Character target = isPet ? player.getPet().getOwner() : player;
if (target.getActiveWeaponItem() != null)
{
if (npc.getNpcId() == 22129)
npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Брат " + target.getName() + ", спрячь своё оружие!!"));
else
npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Ты не можешь носить оружие без разрешения!"));
((L2Attackable) npc).addDamageHate(target, 0, 999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
}
else
{
((L2Attackable) npc).getAggroListRP().remove(target);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE, null, null);
}
return null;
}
public static void main(String[] args)
{
new Monastery(-1, "Monastery", "ai");
}
}
Тема клоуз.
0
Тема закрыта для ответов

