Цитата:
Сообщение от Respect
Также пытаюсь это сделать... только на уровне клиента
вот что нарыл:
Engine.u
В клиенте, в дев моде (без серва), стрелы меняются в зависимости от лука.
Если заменить модель дропа стрел (etcitemgrp.dat), стрелы меняются.
К чему виду, грейд "привязан" к ИД предмета. Где оно привязано - х*й его знает =(
|
В клиенте привязки нет. Исходный код привязки вот, Inventory.java:
Код:
public L2ItemInstance findArrowForBow(L2Item bow)
{
if (bow == null)
return null;
L2ItemInstance arrow = null;
switch (bow.getItemGradeSPlus())
{
default:
case L2Item.CRYSTAL_NONE:
arrow = getItemByItemId(17);
break; // Wooden arrow
case L2Item.CRYSTAL_D:
arrow = (arrow = getItemByItemId(1341)) != null ? arrow : getItemByItemId(22067);
break; // Bone arrow
case L2Item.CRYSTAL_C:
arrow = (arrow = getItemByItemId(1342)) != null ? arrow : getItemByItemId(22068);
break; // Fine steel arrow
case L2Item.CRYSTAL_B:
arrow = (arrow = getItemByItemId(1343)) != null ? arrow : getItemByItemId(22069);
break; // Silver arrow
case L2Item.CRYSTAL_A:
arrow = (arrow = getItemByItemId(1344)) != null ? arrow : getItemByItemId(22070);
break; // Mithril arrow
case L2Item.CRYSTAL_S:
arrow = (arrow = getItemByItemId(1345)) != null ? arrow : getItemByItemId(22071);
break; // Shining arrow
}
// Get the L2ItemInstance corresponding to the item identifier and return it
return arrow;
}
Этот кусок я и заменил. Я добился того, чтобы стрелы можно было использовать разные. Проблема в том, что стрелу нельзя "переодеть" даблкликом. Думаю, что я её просто запихну в другой слот, свободный. Тогда можно будет переодевать. Но это уже завтра.