Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Дроп и скрипт для автоивента
#1
в сборке knights ещё со времен экстремов присутствует автоивент, нпц в нем высавляются следующим образом

PHP код:
<?php 
eventnpc
[0] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 505.083, (float) 522.940, (float) 1033.27, (byte) 103, true);
eventnpc[1] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 493.386, (float) 523.142, (float) 1033.27, (byte) 95, true);
eventnpc[2] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 478.550, (float) 522.938, (float) 1033.27, (byte) 119, true);
eventnpc[3] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 494.086, (float) 543.000, (float) 1034.76, (byte) 29, true);
eventnpc[4] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 493.904, (float) 535.081, (float) 1034.75, (byte) 90, true);
eventnpc[5] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 486.043, (float) 522.754, (float) 1033.27, (byte) 89, true);
eventnpc[6] = (Npc) InstanceService.addNewSpawn(mapId, 1, 204510, (float) 515.335, (float) 523.375, (float) 1033.27, (byte) 91, true);

кто знает возможно ли прописать дроп именно в переменную типа eventnpc[6] помимо стандартного дропа.
Ответ
#2
Посмотрел, без модели DropList не обойтись (смотрите обработчик AddDrop.java (правда здесь еще и в БД заносит)).
Ответ
#3
Да, без дописки сервиса далеко здесь не уедешь.
Есть альтернативный вариант - давать игроку пердмет через ItemService при убийстве моба.

Код:
@Override
    public boolean onKillEvent(QuestCookie env)
    {
        Player player = env.getPlayer();
        Npc npc = (Npc) player.getTarget();
        
        for(Npc mob : eventnpc)
        {
            if(mob.getObjectId() == npc.getObjectId())
                ItemService.addItem(player, itemId, count);
        }
    }
Ответ
#4
а сей скрипт действует на всех eventnpc или можно прописать для каждого номера? отдельно?
Ответ
#5
На всех. По отдельности можно так:

Код:
    @Override
    public boolean onKillEvent(QuestCookie env)
    {
        Player player = env.getPlayer();
        Npc npc = (Npc) player.getTarget();
        
        if(npc.getObjectId() == eventnpc[0].getObjectId())
            ItemService.addItem(player, itemId, count);
        
        if(npc.getObjectId() == eventnpc[1].getObjectId())
            ItemService.addItem(player, itemId, count);
    }
Ответ
#6
DoYrdenDzirt Написал:На всех. По отдельности можно так:

Код:
    @Override
    public boolean onKillEvent(QuestCookie env)
    {
        Player player = env.getPlayer();
        Npc npc = (Npc) player.getTarget();
        
        if(npc.getObjectId() == eventnpc[0].getObjectId())
            ItemService.addItem(player, itemId, count);
        
        if(npc.getObjectId() == eventnpc[1].getObjectId())
            ItemService.addItem(player, itemId, count);
    }
это циклом надо делать
Ответ
#7
И смысл все усложнять?

Код:
    @Override
    public boolean onKillEvent(QuestCookie env)
    {
        Player player = env.getPlayer();
        Npc npc = (Npc) player.getTarget();
        
        for(int i = 0; i < eventnpc.length; i++)
            doReward(player, i);
    }
    
    void doReward(Player player, int i)
    {
        switch(i)
        {
            case 0:
                ItemService.addItem(player, itemId1, count);
                ItemService.addItem(player, itemId2, count);
                break;
            case 1:
                ItemService.addItem(player, itemId3, count);
                ItemService.addItem(player, itemId4, count);
                break;
        }
    }
Ответ
#8
DoYrdenDzirt Написал:И смысл все усложнять?
а смысл говно код писать? если делать, то качественно...
Ответ
#9
Тоже верно Smile
Ответ
#10
Ушел переваривать выше сказанное, ели первый вариант я хоть как то понимал, то в последнем вижу что то типа
PHP код:
<?php 
&#19981;可讀的字符集不可讀的字符集不可讀的字符集不可讀的字符集不可讀的字符集不可讀的字符集
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Дроп мобам Lazda 3 1,720 08-19-2022, 02:36 AM
Последний пост: ALeKsIuS
  Скрипт, повесить баф на игрока Wolfas 0 1,532 10-24-2011, 04:16 PM
Последний пост: Wolfas
  Не прописуется дроп ! sayran 12 3,560 09-12-2011, 10:08 AM
Последний пост: Romanz
  Дроп Aion X Emu ruso 18 7,836 07-14-2011, 08:59 PM
Последний пост: Ajax52
  Мировой дроп Romanz 13 6,065 06-26-2011, 03:10 PM
Последний пост: akaLeo
  скрипт landser 6 2,979 02-03-2011, 05:38 AM
Последний пост: landser
  Дроп aspalt 3 2,709 11-30-2010, 02:38 PM
Последний пост: TieLay
  Скрипт регистрации Bumerok 5 2,981 08-10-2010, 10:37 AM
Последний пост: Shamanidze
  Скрипт регистрации Xercsis 5 3,274 07-23-2010, 09:25 PM
Последний пост: donos
  PHP скрипт неполучается!! aspalt 3 2,438 06-16-2010, 07:01 PM
Последний пост: aspalt

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)