Ух ты, мы вышли из бухты

  • Автор темы Автор темы L2CCCP
  • Дата начала Дата начала

L2CCCP

Легендарный
Проверенный
Победитель в номинации 2015
За заслуги перед форумом
За веру и верность форуму
Разработчик
Сообщения
465
Розыгрыши
0
Репутация
1 983
Реакции
1 003
Баллы
1 713
Код:
        int npcid = item.getItemId() - 5914 + player.getRace().ordinal() * 8;
        NpcTemplate spn = NpcHolder.getInstance().getTemplate(npcid);
        SimpleSpawner spawn = new SimpleSpawner(spn);
        spawn.setLoc(player.getLoc());
        spawn.setAmount(1);
        CargoPetInstance npc = (CargoPetInstance) spawn.doSpawn(false);
        player.setCargoPet(npc);

        npc.setAI(new CargoPet(npc, player));
        npc.collar = item;
        npc.wh = new CargoWarehouse(item.getObjectId());
        npc.owner = player;
        npc.ownerId = player.getObjectId();
        npc.race = player.getRace().ordinal();
        return true;

Капилляры моих глаз лопнули и больше восстановлению не подлежат ;(
Sad storry....
 

Инкапсуляция? Не, не слышали.
Ясность и camelCase имен переменных? Не, не слышали.
А это что за колдовство:
int npcid = item.getItemId() - 5914 + player.getRace().ordinal() * 8;
?
:Freez:
Чье это "добро", кстати?:D
 
Это еще не все :D
Вот полный хендлер

Код:
package handler.items;

import ai.CargoPet;
import l2ft.gameserver.data.xml.holder.NpcHolder;
import l2ft.gameserver.model.GameObjectsStorage;
import l2ft.gameserver.model.Player;
import l2ft.gameserver.model.SimpleSpawner;
import l2ft.gameserver.model.instances.CargoPetInstance;
import l2ft.gameserver.model.instances.NpcInstance;
import l2ft.gameserver.model.items.CargoWarehouse;
import l2ft.gameserver.model.items.ItemInstance;
import l2ft.gameserver.network.l2.s2c.SystemMessage;
import l2ft.gameserver.scripts.ScriptFile;
import l2ft.gameserver.templates.npc.NpcTemplate;

public class cargoPet extends SimpleItemHandler implements ScriptFile
{
    private static final int[] ITEM_IDS = new int[] { 25914, 25915, 25916, 25917, 25918, 25919, 25920, 25921 };

    @Override
    public int[] getItemIds()
    {
        return ITEM_IDS;
    }

    @Override
    protected boolean useItemImpl(Player player, ItemInstance item, boolean ctrl)
    {
        //        player.getInventory().writeLock();
        //        try
        //        {
        //            if(player.getInventory().removeItem(item) == null)
        //                return false;
        //        }
        //        finally
        //        {
        //            player.getInventory().writeUnlock();
        //        }

        for(NpcInstance n : GameObjectsStorage.getAllNpcsForIterate())
        {
            if(!n.isDead() && n instanceof CargoPetInstance && ((CargoPetInstance) n).ownerId == player.getObjectId())
            {
                ((CargoPetInstance) n).owner = player;
                player.setCargoPet(((CargoPetInstance) n));
            }
        }

        if(player.getCargoPet() != null)
        {
            player.sendPacket(new SystemMessage(6740));// todo add radar
            return false;
        }

        int npcid = item.getItemId() - 5914 + player.getRace().ordinal() * 8;
        NpcTemplate spn = NpcHolder.getInstance().getTemplate(npcid);
        SimpleSpawner spawn = new SimpleSpawner(spn);
        spawn.setLoc(player.getLoc());
        spawn.setAmount(1);
        CargoPetInstance npc = (CargoPetInstance) spawn.doSpawn(false);
        player.setCargoPet(npc);
        //npc.wh.addItem(item);
        npc.setAI(new CargoPet(npc, player));
        npc.collar = item;
        npc.wh = new CargoWarehouse(item.getObjectId());
        npc.owner = player;
        npc.ownerId = player.getObjectId();
        npc.race = player.getRace().ordinal();
        return true;
    }
}

Это писал один кодер, который не кодер, который проработал больше 4х лет на проект и в проекте как я уже увидел 70%+ такого кода.... :Nani1::Nani1::Nani1:
 
WoG
 
Верните Валеру Флейра :С
 
Совершенно не понимаю вашего удивления. 99% л2 кодеров пишут такой код. Кстати, если это действительно вог, то почему они поменяли л2ф на л2фт ? Л2ф был же вполне достойной сборкой.
 
Совершенно не понимаю вашего удивления. 99% л2 кодеров пишут такой код. Кстати, если это действительно вог, то почему они поменяли л2ф на л2фт ? Л2ф был же вполне достойной сборкой.
Оригинальный сорс который они покупали уже был l2ft.
 
Оригинальный сорс который они покупали уже был l2ft.
Не в курсе, кто что у кого покупал. Я просто помню, что на сайте л2ф в партнерах был указан вог, поэтому и задал этот вопрос. Так как мне не очень понятно зачем менять нормальную сборку на л2фт.
 
Назад
Сверху Снизу