PDA

Просмотр полной версии : Ух ты, мы вышли из бухты


L2CCCP
26.10.2015, 01:33
Код:



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;

?

Чье это "добро", кстати?

Mifesto
26.10.2015, 09:10
int npcid = item.getItemId() - 5914 + player.getRace().ordinal() * 8;


А это уличная магия. Ловкость жопы, и не какого мошенничества.

L2CCCP
26.10.2015, 14:19
Это еще не все

Вот полный хендлер

Код:



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%+ такого кода....

GoGLiKK
26.10.2015, 17:08
L2tales ? xD

kick
26.10.2015, 17:26
WoG

lordofdest
26.10.2015, 17:41
WoG


Его что уже всем предлагали доделывать ?)

zcxv
26.10.2015, 19:12
Верните Валеру Флейра :С

L2CCCP
26.10.2015, 20:54
Его что уже всем предлагали доделывать ?)


На счет этого не в курсе, но мне не говорили что еще кого то ищут

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фт.