Рейтинг темы:
  • 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,709 08-19-2022, 02:36 AM
Последний пост: ALeKsIuS
  Скрипт, повесить баф на игрока Wolfas 0 1,532 10-24-2011, 04:16 PM
Последний пост: Wolfas
  Не прописуется дроп ! sayran 12 3,542 09-12-2011, 10:08 AM
Последний пост: Romanz
  Дроп Aion X Emu ruso 18 7,811 07-14-2011, 08:59 PM
Последний пост: Ajax52
  Мировой дроп Romanz 13 6,043 06-26-2011, 03:10 PM
Последний пост: akaLeo
  скрипт landser 6 2,977 02-03-2011, 05:38 AM
Последний пост: landser
  Дроп aspalt 3 2,704 11-30-2010, 02:38 PM
Последний пост: TieLay
  Скрипт регистрации Bumerok 5 2,978 08-10-2010, 10:37 AM
Последний пост: Shamanidze
  Скрипт регистрации Xercsis 5 3,273 07-23-2010, 09:25 PM
Последний пост: donos
  PHP скрипт неполучается!! aspalt 3 2,437 06-16-2010, 07:01 PM
Последний пост: aspalt

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


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