Просмотр полной версии : Ух ты, мы вышли из бухты
Код:
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....
Mizuwokiru
26.10.2015, 01:45
Инкапсуляция? Не, не слышали.
Ясность и camelCase имен переменных? Не, не слышали.
А это что за колдовство:
int npcid = item.getItemId() - 5914 + player.getRace().ordinal() * 8;
?
Чье это "добро", кстати?
int npcid = item.getItemId() - 5914 + player.getRace().ordinal() * 8;
А это уличная магия. Ловкость жопы, и не какого мошенничества.
Это еще не все
Вот полный хендлер
Код:
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%+ такого кода....
lordofdest
26.10.2015, 17:41
WoG
Его что уже всем предлагали доделывать ?)
Его что уже всем предлагали доделывать ?)
На счет этого не в курсе, но мне не говорили что еще кого то ищут
Mizuwokiru
26.10.2015, 23:18
:МОИГЛАЗА:
Java-man
28.10.2015, 18:05
Совершенно не понимаю вашего удивления. 99% л2 кодеров пишут такой код. Кстати, если это действительно вог, то почему они поменяли л2ф на л2фт ? Л2ф был же вполне достойной сборкой.
lordofdest
28.10.2015, 18:07
Совершенно не понимаю вашего удивления. 99% л2 кодеров пишут такой код. Кстати, если это действительно вог, то почему они поменяли л2ф на л2фт ? Л2ф был же вполне достойной сборкой.
Оригинальный сорс который они покупали уже был l2ft.
Java-man
28.10.2015, 18:25
Оригинальный сорс который они покупали уже был l2ft.
Не в курсе, кто что у кого покупал. Я просто помню, что на сайте л2ф в партнерах был указан вог, поэтому и задал этот вопрос. Так как мне не очень понятно зачем менять нормальную сборку на л2фт.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot