Сообщений: 4
Тем: 1
Зарегистрирован: Dec 2011
Репутация:
1
Ребят помогите скриптиком плиз, нужно чтобы моб бил всех кроме одной рассы (пусть будут хумы). Да и подскажите плиз как добавить мобу с ид 1 этот аи.
была вот такая задумка, но гс ругается
Открыть спойлер
"Код: int mobId = npc.getNpcId();
if (mobId == 1)
if(target instanceof Player)
{
Player player = (Player) player;
// не бить хумов
if(player.getRace() == Race.human)
return;
}
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
угу, а на что ругается серв и о тексте ошибки мы конечно же догадаемся сами
Сообщений: 4
Тем: 1
Зарегистрирован: Dec 2011
Репутация:
1
Грубо говоря на всё.
Код: 1. ERROR in \GuardHuman.java (at line 1)
int mobId = npc.getNpcId();
if (mobId == 1)
if(target instanceof Player)
{
Player player = (Player) player;
// я┐╜я┐╜ я┐╜я┐╜я┐╜я┐╜ я┐╜я┐╜я┐╜я┐╜я┐╜
if(player.getRace() == Race.human)
return;
}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Syntax error on tokens, delete these tokens
Сборка teon илюда.
Сообщений: 251
Тем: 4
Зарегистрирован: Oct 2008
Репутация:
0
я надеюсь импорты вы прописали, и кодировку в утф-8 сделайте на всякий (коменты русские у вас, может ругатся)
Сообщений: 4
Тем: 1
Зарегистрирован: Dec 2011
Репутация:
1
cokol Написал:я надеюсь импорты вы прописали, и кодировку в утф-8 сделайте на всякий (коменты русские у вас, может ругатся)
можно про импорты по подробнее?
Сообщений: 566
Тем: 6
Зарегистрирован: Feb 2010
Репутация:
4,513
книгу с основами программирования в руки, там подробно подробнее некуда.
ну а так если вкратце то:
вызов функции player.getRace() возвращает текущую расу игрока. Но для того что бы это работало, нужно импортнуть файл, где эта функция была создана. L2Player вроде.
Сообщений: 4
Тем: 1
Зарегистрирован: Dec 2011
Репутация:
1
Backdoor Написал:книгу с основами программирования в руки, там подробно подробнее некуда.
ну а так если вкратце то:
вызов функции player.getRace() возвращает текущую расу игрока. Но для того что бы это работало, нужно импортнуть файл, где эта функция была создана. L2Player вроде. Было бы время, уже бы прочитал книгу с осовами программирования, а форум вроде и сделан (этот по крайней мере) для того чтобы знающие люди помогали не знающим.
Обьясни пожалуйста, как "импортнуть файл"?
Сообщений: 566
Тем: 6
Зарегистрирован: Feb 2010
Репутация:
4,513
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
slydick Написал:Было бы время, уже бы прочитал книгу с осовами программирования, а форум вроде и сделан (этот по крайней мере) для того чтобы знающие люди помогали не знающим.
Обьясни пожалуйста, как "импортнуть файл"? извини конечно, но далеко ты с таким подходом не уедешь. не собираешся же ты вечно спрашивать как написать то или иное, даже самое простое как вот к примеру это - добавление импортов?
Сообщений: 94
Тем: 12
Зарегистрирован: Jan 2012
Репутация:
-5
Ув знатоки, внимание вопрос, почему моб молчит когда я его бью?
скрипт моба
package ai;
import ru.l2open.gameserver.model.actor.L2Npc;
import ru.l2open.gameserver.model.actor.instance.L2PcInstance;
import ru.l2open.gameserver.network.serverpackets.CreatureSay;
import ai.group_template.L2AttackableAIScript;
public class FieldOfWhispersSilence extends L2AttackableAIScript
{
private static final int BRAZIER_OF_PURITY = 18806;
private static final int GUARDIAN_SPIRITS_OF_MAGIC_FORCE = 22659;
public FieldOfWhispersSilence(int questId, String name, String descr)
{
super(questId, name, descr);
addAggroRangeEnterId(BRAZIER_OF_PURITY);
addAggroRangeEnterId(GUARDIAN_SPIRITS_OF_MAGIC_FORCE);
}
public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isPet)
{
switch (npc.getNpcId())
{
case BRAZIER_OF_PURITY:
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), "The Magic Force is being threatened... Protect the Magic Force, Guardian Spirits...!"));
break;
case GUARDIAN_SPIRITS_OF_MAGIC_FORCE:
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), "Magic Force must be protected even this life is sacrif iced in return!"));
break;
}
return null;
}
public static void main(String[] args)
{
new FieldOfWhispersSilence(-1, "FieldOfWhispersSilence", "ai");
}
}
ГС скрипт захавал(после долгого подгона импорта) но что то не так ...что, не пойму ...
и такая же проблемка с ангелами в тои, второй ангел появляется, но ничего не делает
скрипт ангела
package ai.group_template;
import gnu.trove.TIntObjectHashMap;
import ru.l2open.gameserver.ai.CtrlIntention;
import ru.l2open.gameserver.model.actor.L2Attackable;
import ru.l2open.gameserver.model.actor.L2Character;
import ru.l2open.gameserver.model.actor.L2Npc;
import ru.l2open.gameserver.model.actor.instance.L2PcInstance;
import ru.l2open.gameserver.network.clientpackets.Say2;
import ru.l2open.gameserver.network.serverpackets.CreatureSay;
import ru.l2open.util.Rnd;
public class PolymorphingOnAttack extends L2AttackableAIScript
{
private static final TIntObjectHashMap<Integer[]> MOBSPAWNS = new TIntObjectHashMap<Integer[]>();
static
{
MOBSPAWNS.put(21258,new Integer[]{21259,100,100,-1}); //Fallen Orc Shaman -> Sharp Talon Tiger (always polymorphs)
MOBSPAWNS.put(21261,new Integer[]{21262,100,20 ,0}); //Ol Mahum Transcender 1st stage
MOBSPAWNS.put(21262,new Integer[]{21263,100,10 ,1}); //Ol Mahum Transcender 2nd stage
MOBSPAWNS.put(21263,new Integer[]{21264,100,5 ,2}); //Ol Mahum Transcender 3rd stage
MOBSPAWNS.put(21265,new Integer[]{21271,100,33 ,0}); //Cave Ant Larva -> Cave Ant
MOBSPAWNS.put(21266,new Integer[]{21269,100,100,-1}); //Cave Ant Larva -> Cave Ant (always polymorphs)
MOBSPAWNS.put(21267,new Integer[]{21270,100,100,-1}); //Cave Ant Larva -> Cave Ant Soldier (always polymorphs)
MOBSPAWNS.put(21271,new Integer[]{21272,66,10 ,1}); //Cave Ant -> Cave Ant Soldier
MOBSPAWNS.put(21272,new Integer[]{21273,33 ,5 ,2}); //Cave Ant Soldier -> Cave Noble Ant
MOBSPAWNS.put(21521,new Integer[]{21522,100,30 ,-1}); //Claws of Splendor
MOBSPAWNS.put(21527,new Integer[]{21528,100,30 ,-1}); //Anger of Splendor
MOBSPAWNS.put(21533,new Integer[]{21534,100,30 ,-1}); //Alliance of Splendor
MOBSPAWNS.put(21537,new Integer[]{21538,100,30 ,-1}); //Fang of Splendor
}
protected static final String[][] MOBTEXTS =
{
new String[]{"Enough fooling around. Get ready to die!", "You idiot! I've just been toying with you!", "Now the fun starts!"},
new String[]{"I must admit, no one makes my blood boil quite like you do!", "Now the battle begins!", "Witness my true power!"},
new String[]{"Prepare to die!", "I'll double my strength!", "You have more skill than I thought"}
};
public PolymorphingOnAttack(int questId, String name, String descr)
{
super(questId, name, descr);
for (int id : MOBSPAWNS.keys())
super.addAttackId(id);
}
public String onAttack (L2Npc npc, L2PcInstance attacker, int damage, boolean isPet)
{
if (npc.isVisible() && !npc.isDead())
{
final Integer[] tmp = MOBSPAWNS.get(npc.getNpcId());
if (tmp != null)
{
if (npc.getCurrentHp() <= (npc.getMaxHp() * tmp[1]/100.0)&& Rnd.get(100) < tmp[2])
{
if (tmp[3] >= 0)
{
String text = MOBTEXTS[tmp[3]][Rnd.get(MOBTEXTS[tmp[3]].length)];
npc.broadcastPacket(new CreatureSay(npc.getObjectId(),Say2.ALL,npc.getName(),text));
}
npc.deleteMe();
L2Attackable newNpc = (L2Attackable) addSpawn(tmp[0], npc.getX(), npc.getY(), npc.getZ()+10, npc.getHeading(), false, 0, true);
L2Character originalAttacker = isPet? attacker.getPet(): attacker;
newNpc.setRunning();
newNpc.addDamageHate(originalAttacker,0,500);
newNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, originalAttacker);
}
}
}
return super.onAttack (npc, attacker, damage, isPet);
}
public static void main(String[] args)
{
new PolymorphingOnAttack(-1,"polymorphing_on_attack","ai");
}
}
скрипт опять же ГСом захаван, и работает( вроди как  )
есть идеи ?
Бешенство, это не болезнь :di: © Pumo4ka
|