26.10.2020 | 15:35
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум L2edit.Ru » Lineage 2 » Раздел для новичков » памогите плиз срочьна надо
памогите плиз срочьна надо
steemДата: Вторник, 20.07.2010, 12:54 | Сообщение # 1
steem
Нецензурная лексика в сторону администрации.
Группа: Заблокированные
Сообщений: 77
Награды: 0
Репутация: -781
Статус: Offline
как на l2bese зделать шоб у нпц продаваличя точеные пухи через мультисеилл непашыт как ишо мона очень нада
загрузка наград ...
 
ОвощДата: Вторник, 20.07.2010, 13:52 | Сообщение # 2
Овощ
Группа: Администратор
Сообщений: 2491
Награды: 162
Репутация: 5547
Статус: Offline
Не нужно повторных тем. Тебе сказали, напишут мануал - выложат.

Вёрстка макетов и создание клан сайтов на uCoz, STRESS - в ICQ
Хлеба и зрелищ

загрузка наград ...
 
steemДата: Вторник, 20.07.2010, 13:54 | Сообщение # 3
steem
Нецензурная лексика в сторону администрации.
Группа: Заблокированные
Сообщений: 77
Награды: 0
Репутация: -781
Статус: Offline
нема мануала жду уже день
загрузка наград ...
 
ОвощДата: Вторник, 20.07.2010, 13:58 | Сообщение # 4
Овощ
Группа: Администратор
Сообщений: 2491
Награды: 162
Репутация: 5547
Статус: Offline
Человек написал же, занят. Будет время напишет. Распинаться спешил фо ю никто не будет. Либо жди, либо не морочь себе голову с заточкой.

Вёрстка макетов и создание клан сайтов на uCoz, STRESS - в ICQ
Хлеба и зрелищ

загрузка наград ...
 
DeMoNДата: Вторник, 20.07.2010, 14:52 | Сообщение # 5
DeMoN
Группа: Постоянный
Сообщений: 619
Награды: 20
Репутация: 120
Статус: Offline
Под какую вам сборку надо? Чтобы сделать пример...
загрузка наград ...
 
ОвощДата: Вторник, 20.07.2010, 14:59 | Сообщение # 6
Овощ
Группа: Администратор
Сообщений: 2491
Награды: 162
Репутация: 5547
Статус: Offline
Quote (steem)
l2bese


Вёрстка макетов и создание клан сайтов на uCoz, STRESS - в ICQ
Хлеба и зрелищ

загрузка наград ...
 
DeMoNДата: Вторник, 20.07.2010, 15:34 | Сообщение # 7
DeMoN
Группа: Постоянный
Сообщений: 619
Награды: 20
Репутация: 120
Статус: Offline
На la2base есть данная функция, в файле enchant.
Включаете её, ниже прописываете мультиселлы, в которых точить вещи и на сколько.

загрузка наград ...
 
steemДата: Вторник, 20.07.2010, 17:15 | Сообщение # 8
steem
Нецензурная лексика в сторону администрации.
Группа: Заблокированные
Сообщений: 77
Награды: 0
Репутация: -781
Статус: Offline
о спс те огромное я видел ета но непонел шо ета шас папробую
загрузка наград ...
 
timonДата: Понедельник, 13.06.2011, 21:10 | Сообщение # 9
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Доброе время суток всем! smile
Не стал создавать отдельный топ, что бы не мусорить...
Подскажи пожалуйста, как добавить в мультиселл точеную вещь?
Сборка L2jx

PS: заранее благодарен

загрузка наград ...
 
manzharov123Дата: Понедельник, 13.06.2011, 21:41 | Сообщение # 10
manzharov123
Группа: Постоянный
Сообщений: 142
Награды: 28
Репутация: 15
Статус: Offline
<item id="тут порядковый номер">
<production id="id предмета" count="сколько их будет при покупке" enchant="на сколько заточен"/>
<ingredient id="id предмета" count="сколько надо что бы купить"/>
</item>
должно работать smile


Помог поставь +)))
загрузка наград ...

Сообщение отредактировал manzharov123 - Понедельник, 13.06.2011, 21:41
 
timonДата: Понедельник, 13.06.2011, 21:53 | Сообщение # 11
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
<?xml version='1.0' encoding='utf-8'?>
<list>
<config showall="true" notax="true" keepenchanted="true" />
<!-- Forgotten Blade Haste -->
<item id="1">
<ingredient id="57" count="90000000" />
<production id="6581" count="1" enchant="4"/>
</item>

Вот кусок кода...не работает к сожалению...

загрузка наград ...
 
ОвощДата: Понедельник, 13.06.2011, 23:03 | Сообщение # 12
Овощ
Группа: Администратор
Сообщений: 2491
Награды: 162
Репутация: 5547
Статус: Offline
Обсуждалось. Юзай поиск.

Вёрстка макетов и создание клан сайтов на uCoz, STRESS - в ICQ
Хлеба и зрелищ

загрузка наград ...
 
timonДата: Понедельник, 13.06.2011, 23:18 | Сообщение # 13
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Пересмотрел все темы с подобными проблемами, не одна не решила проблемы.
в файле "enchant.ini" отсутствует функция которая оттвечает за мультиселл.

загрузка наград ...
 
AvelanДата: Вторник, 14.06.2011, 09:51 | Сообщение # 14
Avelan
Группа: Постоянный
Сообщений: 250
Награды: 7
Репутация: 26
Статус: Offline
ы=))
загрузка наград ...
 
DeMoNДата: Вторник, 14.06.2011, 10:59 | Сообщение # 15
DeMoN
Группа: Постоянный
Сообщений: 619
Награды: 20
Репутация: 120
Статус: Offline
Quote (timon)
Пересмотрел все темы с подобными проблемами, не одна не решила проблемы. в файле "enchant.ini" отсутствует функция которая оттвечает за мультиселл.


Тогда берем в руки исходники и реализуем smile
Ну или в крайнем случае декомпилятор.

загрузка наград ...
 
timonДата: Вторник, 14.06.2011, 12:59 | Сообщение # 16
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
юзал поиск данный мануал не помог здравому смыслу http://l2edit.ru/news/2010-07-06-1608

Декомпелировал исходник RequestEnchantItem.class, подскажите что тут нужно изменить
[code]// Decompiled by DJ v3.11.11.95 Copyright 2009 Atanas Neshkov Date: 14.06.2011 11:52:59
// Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: RequestEnchantItem.java

package net.sf.l2j.gameserver.network.clientpackets;

import java.util.List;
import java.util.logging.Logger;
import javolution.util.FastMap;
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.actor.instance.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.base.Race;
import net.sf.l2j.gameserver.model.item.PcInventory;
import net.sf.l2j.gameserver.network.L2GameClient;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.*;
import net.sf.l2j.gameserver.templates.L2Item;
import net.sf.l2j.gameserver.templates.L2WeaponType;
import net.sf.l2j.gameserver.util.*;
import net.sf.l2j.util.Rnd;

// Referenced classes of package net.sf.l2j.gameserver.network.clientpackets:
// L2GameClientPacket

public final class RequestEnchantItem extends L2GameClientPacket
{

public RequestEnchantItem()
{
}

protected void readImpl()
{
_objectId = readD();
}

protected void runImpl()
{
L2PcInstance activeChar;
L2ItemInstance item;
boolean blessedScroll;
int crystalId;
int maxEnchantLevel;
label0:
{
activeChar = ((L2GameClient)getClient()).getActiveChar();
if(activeChar == null || _objectId == 0)
return;
if(!activeChar.getFloodProtectors().getUseItem().tryPerformAction("enchant"))
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
if(activeChar.isProcessingTransaction() || activeChar.isInStoreMode())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
activeChar.setActiveEnchantItem(null);
return;
}
if(activeChar.isOnline() == 0)
{
activeChar.setActiveEnchantItem(null);
return;
}
item = activeChar.getInventory().getItemByObjectId(_objectId);
L2ItemInstance scroll = activeChar.getActiveEnchantItem();
if(item == null || scroll == null)
{
activeChar.setActiveEnchantItem(null);
return;
}
if(activeChar.isMoving())
{
activeChar.sendPacket(new EnchantResult(item.getEnchantLevel()));
activeChar.setActiveEnchantItem(null);
activeChar.sendMessage("\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0442\u043E\u0447\u0438\u0442\u044C \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0431\u0435\u0433\u0430.");
return;
}
if(item.getItem().getItemType() == L2WeaponType.ROD || !Config.ENCHANT_HERO_WEAPONS && item.getItemId() >= 6611 && item.getItemId() <= 6621 || item.getItemId() >= 7816 && item.getItemId() <= 7831 || item.isShadowItem() || item.isDonatorRented())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
activeChar.setActiveEnchantItem(null);
return;
}
if(activeChar.getActiveTradeList() != null)
{
activeChar.cancelActiveTrade();
activeChar.sendMessage("\u0422\u043E\u0440\u0433\u043E\u0432\u043B\u044F \u0431\u044B\u043B\u0430 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430.");
return;
}
if(item.isWear())
{
Util.handleIllegalPlayerAction(activeChar, (new StringBuilder()).append("Player ").append(activeChar.getName()).append(" tried to enchant a weared Item").toString(), Config.DEFAULT_PUNISH);
activeChar.closeNetConnection();
return;
}
/* anonymous class not found */
class _anm1 {}

switch(_cls1..SwitchMap.net.sf.l2j.gameserver.model.actor.instance.L2ItemInstance.ItemLocation[item.getLocation().ordinal()])
{
case 1: // '\001'
case 2: // '\002'
if(item.getOwnerId() != activeChar.getObjectId())
{
activeChar.setActiveEnchantItem(null);
return;
}
break;

default:
Util.handleIllegalPlayerAction(activeChar, (new StringBuilder()).append("Player ").append(activeChar.getName()).append(" tried to use enchant Exploit!").toString(), Config.DEFAULT_PUNISH);
activeChar.closeNetConnection();
return;
}
int itemType2 = item.getItem().getType2();
boolean enchantItem = false;
blessedScroll = false;
crystalId = 0;
switch(item.getItem().getCrystalType())
{
case 4: // '\004'
crystalId = 1461;
switch(scroll.getItemId())
{
case 729:
case 731:
case 6569:
if(itemType2 == 0)
enchantItem = true;
break;

case 730:
case 732:
case 6570:
if(itemType2 == 1 || itemType2 == 2)
enchantItem = true;
break;
}
break;

case 3: // '\003'
crystalId = 1460;
switch(scroll.getItemId())
{
case 947:
case 949:
case 6571:
if(itemType2 == 0)
enchantItem = true;
break;

case 948:
case 950:
case 6572:
if(itemType2 == 1 || itemType2 == 2)
enchantItem = true;
break;
}
break;

case 2: // '\002'
crystalId = 1459;
switch(scroll.getItemId())
{
case 951:
case 953:
case 6573:
if(itemType2 == 0)
enchantItem = true;
break;

case 952:
case 954:
case 6574:
if(itemType2 == 1 || itemType2 == 2)
enchantItem = true;
break;
}
break;

case 1: // '\001'
crystalId = 1458;
switch(scroll.getItemId())
{
case 955:
case 957:
case 6575:
if(itemType2 == 0)
enchantItem = true;
break;

case 956:
case 958:
case 6576:
if(itemType2 == 1 || itemType2 == 2)
enchantItem = true;
break;
}
break;

case 5: // '\005'
crystalId = 1462;
switch(scroll.getItemId())
{
default:
break;

case 959:
case 961:
case 6577:
if(itemType2 == 0)
enchantItem = true;
break;

case 960:
case 962:
case 6578:
if(itemType2 == 1 || itemType2 == 2)
enchantItem = true;
break;
}
break;
}
if(!enchantItem)
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
return;
}
if(scroll.getItemId() >= 6569 && scroll.getItemId() <= 6578)
{
blessedScroll = true;
} else
{
int arr$[] = CRYSTAL_SCROLLS;
int len$ = arr$.length;
int i$ = 0;
do
{
if(i$ >= len$)
break;
int crystalscroll = arr$[i$];
if(scroll.getItemId() == crystalscroll)
{
blessedScroll = false;
break;
}
i$++;
} while(true);
}
if(Config.ENCHANT_SCROLL_STACKABLE == 0)
scroll = activeChar.getInventory().destroyItem("Enchant", scroll, activeChar, item);
else
scroll = activeChar.getInventory().destroyItem("Enchant", scroll.getObjectId(), 1, activeChar, item);
if(scroll == null)
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
Util.handleIllegalPlayerAction(activeChar, (new StringBuilder()).append("Player ").append(activeChar.getName()).append(" tried to enchant with a scroll he doesnt have").toString(), Config.DEFAULT_PUNISH);
activeChar.closeNetConnection();
return;
}
int chance = 0;
maxEnchantLevel = 0;
if(item.getItem().getType2() == 0)
{
int arr$[] = ENCHANT_SCROLLS;
int len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.NORMAL_WEAPON_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
{
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.NORMAL_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.NORMAL_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.size()))).intVal ue();
else
chance = ((Integer)Config.NORMAL_WEAPON_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.NORMAL_WEAPON_ENCHANT_LEVEL_DONATE.size()))).intValue();
} else
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.NORMAL_WEAPON_MAGE_ENCHANT_LEVEL.get(Integer.valueOf(Config.NORMAL_WEAPON_MAGE_ENCHANT_LEVEL.size()))).intValue();
else
chance = ((Integer)Config.NORMAL_WEAPON_ENCHANT_LEVEL.get(Integer.valueOf(Config.NORMAL_WEAPON_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
{
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.NORMAL_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.NORMAL_WEAPON_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
} else
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.NORMAL_WEAPON_MAGE_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.NORMAL_WEAPON_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_WEAPON_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
}

arr$ = CRYSTAL_SCROLLS;
len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.CRYSTAL_WEAPON_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
{
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.CRYSTAL_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.CRYSTAL_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.size()))).intV alue();
else
chance = ((Integer)Config.CRYSTAL_WEAPON_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.CRYSTAL_WEAPON_ENCHANT_LEVEL_DONATE.size()))).intValue();
} else
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.CRYSTAL_WEAPON_MAGE_ENCHANT_LEVEL.get(Integer.valueOf(Config.CRYSTAL_WEAPON_MAGE_ENCHANT_LEVEL.size()))).intValue();
else
chance = ((Integer)Config.CRYSTAL_WEAPON_ENCHANT_LEVEL.get(Integer.valueOf(Config.CRYSTAL_WEAPON_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
{
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.CRYSTAL_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.CRYSTAL_WEAPON_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
} else
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.CRYSTAL_WEAPON_MAGE_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.CRYSTAL_WEAPON_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_WEAPON_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;

загрузка наград ...
 
timonДата: Вторник, 14.06.2011, 12:59 | Сообщение # 17
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
}

arr$ = BLESSED_SCROLLS;
len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() == scrollId)
{
if(item.getEnchantLevel() + 1 > Config.BLESS_WEAPON_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
{
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.BLESS_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.BLESS_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.size()))).intValue ();
else
chance = ((Integer)Config.BLESS_WEAPON_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.BLESS_WEAPON_ENCHANT_LEVEL_DONATE.size()))).intValue();
} else
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.BLESS_WEAPON_MAGE_ENCHANT_LEVEL.get(Integer.valueOf(Config.BLESS_WEAPON_MAGE_ENCHANT_LEVEL.size()))).intValue();
else
chance = ((Integer)Config.BLESS_WEAPON_ENCHANT_LEVEL.get(Integer.valueOf(Config.BLESS_WEAPON_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
{
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.BLESS_WEAPON_MAGE_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.BLESS_WEAPON_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
} else
if(Config.MAGE_WEAPON_ID_LIST.contains(Integer.valueOf(item.getItemId())))
chance = ((Integer)Config.BLESS_WEAPON_MAGE_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.BLESS_WEAPON_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_WEAPON_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_WEAPON;
}
}

} else
if(item.getItem().getType2() == 1)
{
int arr$[] = ENCHANT_SCROLLS;
int len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.NORMAL_ARMOR_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
{
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.NORMAL_FULL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.NORMAL_FULL_ARMOR_ENCHANT_LEVEL_DONATE.size()))).intValue ();
else
chance = ((Integer)Config.NORMAL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.NORMAL_ARMOR_ENCHANT_LEVEL_DONATE.size()))).intValue();
} else
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.NORMAL_FULL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(Config.NORMAL_FULL_ARMOR_ENCHANT_LEVEL.size()))).intValue();
else
chance = ((Integer)Config.NORMAL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(Config.NORMAL_ARMOR_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
{
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.NORMAL_FULL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.NORMAL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
} else
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.NORMAL_FULL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.NORMAL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_ARMOR_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
}

arr$ = CRYSTAL_SCROLLS;
len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
{
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.CRYSTAL_FULL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.CRYSTAL_FULL_ARMOR_ENCHANT_LEVEL_DONATE.size()))).intVal ue();
else
chance = ((Integer)Config.CRYSTAL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.CRYSTAL_ARMOR_ENCHANT_LEVEL_DONATE.size()))).intValue();
} else
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.CRYSTAL_FULL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(Config.CRYSTAL_FULL_ARMOR_ENCHANT_LEVEL.size()))).intValue();
else
chance = ((Integer)Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
{
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.CRYSTAL_FULL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.CRYSTAL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
} else
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.CRYSTAL_FULL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_ARMOR_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
}

arr$ = BLESSED_SCROLLS;
len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() == scrollId)
{
if(item.getEnchantLevel() + 1 > Config.BLESS_ARMOR_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
{
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.BLESS_FULL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.BLESS_FULL_ARMOR_ENCHANT_LEVEL_DONATE.size()))).intValue() ;
else
chance = ((Integer)Config.BLESS_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.BLESS_ARMOR_ENCHANT_LEVEL_DONATE.size()))).intValue();
} else
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.BLESS_FULL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(Config.BLESS_FULL_ARMOR_ENCHANT_LEVEL.size()))).intValue();
else
chance = ((Integer)Config.BLESS_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(Config.BLESS_ARMOR_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
{
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.BLESS_FULL_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.BLESS_ARMOR_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
} else
if(item.getItem().getBodyPart() == 32768)
chance = ((Integer)Config.BLESS_FULL_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.BLESS_ARMOR_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_ARMOR_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_ARMOR;
}
}

} else
if(item.getItem().getType2() == 2)
{
int arr$[] = ENCHANT_SCROLLS;
int len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.NORMAL_JEWELRY_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
chance = ((Integer)Config.NORMAL_JEWELRY_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.NORMAL_JEWELRY_ENCHANT_LEVEL_DONATE.size()))).intValue();
else
chance = ((Integer)Config.NORMAL_JEWELRY_ENCHANT_LEVEL.get(Integer.valueOf(Config.NORMAL_JEWELRY_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
chance = ((Integer)Config.NORMAL_JEWELRY_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.NORMAL_JEWELRY_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
}

arr$ = CRYSTAL_SCROLLS;
len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
chance = ((Integer)Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL_DONATE.size()))).intValue();
else
chance = ((Integer)Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.get(Integer.valueOf(Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
chance = ((Integer)Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
}

arr$ = BLESSED_SCROLLS;
len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
int scrollId = arr$[i$];
if(scroll.getItemId() != scrollId)
continue;
if(item.getEnchantLevel() + 1 > Config.BLESS_JEWELRY_ENCHANT_LEVEL.size())
{
if(activeChar.isDonator())
chance = ((Integer)Config.BLESS_JEWELRY_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(Config.BLESS_JEWELRY_ENCHANT_LEVEL_DONATE.size()))).intValue();
else
chance = ((Integer)Config.BLESS_JEWELRY_ENCHANT_LEVEL.get(Integer.valueOf(Config.BLESS_JEWELRY_ENCHANT_LEVEL.size()))).intValue();
} else
if(activeChar.isDonator())
chance = ((Integer)Config.BLESS_JEWELRY_ENCHANT_LEVEL_DONATE.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
else
chance = ((Integer)Config.BLESS_JEWELRY_ENCHANT_LEVEL.get(Integer.valueOf(item.getEnchantLevel() + 1))).intValue();
if(activeChar.isDonator())
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY_DONATE;
else
maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY;
}

}
if(item.getEnchantLevel() >= maxEnchantLevel && maxEnchantLevel != 0)
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
return;
}
int rndValue = Rnd.get(100);
if(Config.ENABLE_DWARF_ENCHANT_BONUS && activeChar.getRace() == Race.dwarf && activeChar.getLevel() >= Config.DWARF_ENCHANT_MIN_LEVEL)
rndValue -= Config.DWARF_ENCHANT_BONUS;
if(rndValue >= chance)
break MISSING_BLOCK_LABEL_4196;
synchronized(item)
{
if(item.getOwnerId() == activeChar.getObjectId() && (item.getEnchantLevel() < maxEnchantLevel || maxEnchantLevel == 0))
break label0;
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
}
return;
}
if(item.getLocation() == net.sf.l2j.gameserver.model.actor.instance.L2ItemInstance.ItemLocation.INVENTORY || item.getLocation() == net.sf.l2j.gameserver.model.actor.instance.L2ItemInstance.ItemLocation.PAPERDOLL)
break MISSING_BLOCK_LABEL_4055;
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
l2iteminstance;
JVM INSTR monitorexit ;
return;
if(item.getEnchantLevel() < maxEnchantLevel || maxEnchantLevel == 0)
break MISSING_BLOCK_LABEL_4087;
activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));
l2iteminstance;
JVM INSTR monitorexit ;
return;
if(item.getEnchantLevel() == 0)
{
SystemMessage sm = new SystemMessage(SystemMessageId.S1_SUCCESSFULLY_ENCHANTED);
sm.addItemName(item.getItemId());
activeChar.sendPacket(sm);
} else
{
SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2_SUCCESSFULLY_ENCHANTED);
sm.addNumber(item.getEnchantLevel());
sm.addItemName(item.getItemId());
activeChar.sendPacket(sm);
}
item.setEnchantLevel(item.getEnchantLevel() + Config.ALTERNATIVE_ENCHANT_VALUE);
item.updateDatabase();
l2iteminstance;
JVM INSTR monitorexit ;
break MISSING_BLOCK_LABEL_4688;
exception;
throw exception;
if(!blessedScroll)
{
if(item.getEnchantLevel() > 0)
{
SystemMessage sm = new SystemMessage(SystemMessageId.ENCHANTMENT_FAILED_S1_S2_EVAPORATED);
sm.addNumber(item.getEnchantLevel());
sm.addItemName(item.getItemId());
activeChar.sendPacket(sm);
} else
{
SystemMessage sm = new SystemMessage(SystemMessageId.ENCHANTMENT_FAILED_S1_EVAPORATED);
sm.addItemName(item.getItemId());
activeChar.sendPacket(sm);
}
} else
{
SystemMessage sm = new SystemMessage(SystemMessageId.BLESSED_ENCHANT_FAILED);
activeChar.sendPacket(sm);
}
if(!blessedScroll)
{
SystemMessage sm;
if(item.getEnchantLevel() > 0)
{
sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED);
sm.addNumber(item.getEnchantLevel());
sm.addItemName(item.getItemId());
activeChar.sendPacket(sm);
} else
{
sm = new SystemMessage(SystemMessageId.S1_DISARMED);
sm.addItemName(item.getItemId());
activeChar.sendPacket(sm);
}
L2ItemInstance unequiped[] = activeChar.getInventory().unEquipItemInSlotAndRecord(item.getEquipSlot());
if(item.isEquipped())
{
InventoryUpdate iu = new InventoryUpdate();
L2ItemInstance arr$[] = unequiped;
int len$ = arr$.length;
for(int i$ = 0; i$ < len$; i$++)
{
L2ItemInstance element = arr$[i$];
iu.addModifiedItem(element);
}

activeChar.sendPacket(iu);
activeChar.broadcastUserInfo();
}
int count = item.getCrystalCount() - (item.getItem().getCrystalCount() + 1) / 2;
if(count < 1)
count = 1;
L2ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null);
if(destroyItem == null)
return;
L2ItemInstance crystals = activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem);
sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
sm.addItemName(crystals.getItemId());
sm.addNumber(count);
activeChar.sendPacket(sm);
if(!Config.FORCE_INVENTORY_UPDATE)
{
InventoryUpdate iu = new InventoryUpdate();
if(destroyItem.getCount() == 0)
iu.addRemovedItem(destroyItem);
else
iu.addModifiedItem(destroyItem);
iu.addItem(crystals);
activeChar.sendPacket(iu);
} else
{
activeChar.sendPacket(new ItemList(activeChar, true));
}
StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
su.addAttribute(14, activeChar.getCurrentLoad());
activeChar.sendPacket(su);
activeChar.broadcastUserInfo();
L2World world = L2World.getInstance();
world.removeObject(destroyItem);
} else
{
item.setEnchantLevel(Config.ENCHANT_BREAK);
item.updateDatabase();
}
SystemMessage sm = null;
StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
su.addAttribute(14, activeChar.getCurrentLoad());
activeChar.sendPacket(su);
su = null;
activeChar.sendPacket(new EnchantResult(item.getEnchantLevel()));
activeChar.sendPacket(new ItemList(activeChar, false));
activeChar.broadcastUserInfo();
return;
}

public String getType()
{
return "[C] 58 RequestEnchantItem";
}

protected static final Logger _log = Logger.getLogger(net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.getName());
private static final String _C__58_REQUESTENCHANTITEM = "[C] 58 RequestEnchantItem";
private static final int ENCHANT_SCROLLS[] = {
729, 730, 947, 948, 951, 952, 955, 956, 959, 960
};
private static final int CRYSTAL_SCROLLS[] = {
731, 732, 949, 950, 953, 954, 957, 958, 961, 962
};
private static final int BLESSED_SCROLLS[] = {
6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578
};
private int _objectId;

}
[/code]

загрузка наград ...
 
timonДата: Вторник, 14.06.2011, 13:01 | Сообщение # 18
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
ЗАрание очень сильно прошу прощения за флуд...не получилось реализовать в виде [code]...
загрузка наград ...
 
timonДата: Вторник, 14.06.2011, 13:35 | Сообщение # 19
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
1-ый вопрос: и все?
2ой: И каким образом будет реализоваться функция заточки?

<?xml version='1.0' encoding='utf-8'?>
<list>
<config showall="true" notax="true" keepenchanted="true" />
<!-- Forgotten Blade Haste -->
<item id="1">
<ingredient id="57" count="90000000" />
<production id="6581" count="1" enchant="4"/>
</item>

этим методом?

загрузка наград ...
 
DeMoNДата: Вторник, 14.06.2011, 13:46 | Сообщение # 20
DeMoN
Группа: Постоянный
Сообщений: 619
Награды: 20
Репутация: 120
Статус: Offline
Думал об одном, написал о другом. Данный вид заточки тяжелее реализовать. К вечеру напишу мануальчик.
загрузка наград ...
 
timonДата: Вторник, 14.06.2011, 13:49 | Сообщение # 21
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Буду весьма благодарен! Спасибо за труд)))
Вам бы памятник ))) а лучше Колосс)

загрузка наград ...
 
AvelanДата: Вторник, 14.06.2011, 15:14 | Сообщение # 22
Avelan
Группа: Постоянный
Сообщений: 250
Награды: 7
Репутация: 26
Статус: Offline
вот система L2jCore хз ли на базе пашет

<item id="23">
<ingredient id="57" count="10000000" enchant="0"/>
<production id="6845" count="1" enchant="0"/>
</item>

<production id="6845" count="1" enchant="40"/>

и вещь продаетса сразу +40

загрузка наград ...
 
timonДата: Среда, 15.06.2011, 20:18 | Сообщение # 23
timon
Группа: Постоянный
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
жду в надежде мануальчик... )
загрузка наград ...
 
DeMoNДата: Среда, 15.06.2011, 22:59 | Сообщение # 24
DeMoN
Группа: Постоянный
Сообщений: 619
Награды: 20
Репутация: 120
Статус: Offline
К сожалению вчера не нашлось времени, но сейчас в кратце напишу.
Декомпилируйте класс L2Multisell, который находится: gameserver.model
Там находим функцию MultiSellEntry parseEntry(Node n)

В ней выбираем парсинг для продаж, у меня он выглядит так:

else if ("production".equalsIgnoreCase(n.getNodeName()))
{
int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
int count = Integer.parseInt(n.getAttributes().getNamedItem("count").getNodeValue());

MultiSellIngredient e = new MultiSellIngredient(id, count, false, false);
entry.addProduct(e);
}

Изменяем его вот так:

else if ("production".equalsIgnoreCase(n.getNodeName()))
{
int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
int count = Integer.parseInt(n.getAttributes().getNamedItem("count").getNodeValue());
int enchant = 0;

if(n.getAttributes().getNamedItem("enchant") != null)
enchant = Integer.parseInt(n.getAttributes().getNamedItem("enchant").getNodeValue());

MultiSellIngredient e = new MultiSellIngredient(id, count, enchant, false, false);
entry.addProduct(e);
}

загрузка наград ...
 
Форум L2edit.Ru » Lineage 2 » Раздел для новичков » памогите плиз срочьна надо
  • Страница 1 из 1
  • 1
Поиск: