Перейти к содержанию
Авторизация  
Linkus159

Нужна Помощь В Ядре

Рекомендуемые сообщения

Я хочу зделать Лсы стопкой в навикате я уже все зделал и в клиенте а вот в ядре что-то не хочет где моя ошибка ?

 

// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov Date: 08.03.2013 2:17:22

// 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: RequestRefine.java

 

package com.l2jfrozen.gameserver.network.clientpackets;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.gameserver.datatables.xml.AugmentationData;

import com.l2jfrozen.gameserver.model.*;

import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.network.L2GameClient;

import com.l2jfrozen.gameserver.network.SystemMessageId;

import com.l2jfrozen.gameserver.network.serverpackets.*;

import com.l2jfrozen.gameserver.templates.L2Item;

import com.l2jfrozen.gameserver.util.Util;

 

// Referenced classes of package com.l2jfrozen.gameserver.network.clientpackets:

// L2GameClientPacket

 

public final class RequestRefine extends L2GameClientPacket

{

 

public RequestRefine()

{

}

 

protected void readImpl()

{

_targetItemObjId = readD();

_refinerItemObjId = readD();

_gemstoneItemObjId = readD();

_gemstoneCount = readD();

}

 

protected void runImpl()

{

L2PcInstance activeChar = ((L2GameClient)getClient()).getActiveChar();

if(activeChar == null)

return;

L2ItemInstance targetItem = (L2ItemInstance)L2World.getInstance().findObject(_targetItemObjId);

L2ItemInstance refinerItem = (L2ItemInstance)L2World.getInstance().findObject(_refinerItemObjId);

L2ItemInstance gemstoneItem = (L2ItemInstance)L2World.getInstance().findObject(_gemstoneItemObjId);

if(targetItem == null || refinerItem == null || gemstoneItem == null || targetItem.getOwnerId() != activeChar.getObjectId() || refinerItem.getOwnerId() != activeChar.getObjectId() || gemstoneItem.getOwnerId() != activeChar.getObjectId() || activeChar.getLevel() < 46)

{

activeChar.sendPacket(new ExVariationResult(0, 0, 0));

activeChar.sendPacket(new SystemMessage(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS));

return;

}

if(targetItem.isEquipped())

activeChar.disarmWeapons();

if(TryAugmentItem(activeChar, targetItem, refinerItem, gemstoneItem))

{

int stat12 = 0xffff & targetItem.getAugmentation().getAugmentationId();

int stat34 = targetItem.getAugmentation().getAugmentationId() >> 16;

activeChar.sendPacket(new ExVariationResult(stat12, stat34, 1));

activeChar.sendPacket(new SystemMessage(SystemMessageId.THE_ITEM_WAS_SUCCESSFULLY_AUGMENTED));

} else

{

activeChar.sendPacket(new ExVariationResult(0, 0, 0));

activeChar.sendPacket(new SystemMessage(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS));

}

}

 

boolean TryAugmentItem(L2PcInstance player, L2ItemInstance targetItem, L2ItemInstance refinerItem, L2ItemInstance gemstoneItem)

{

if(targetItem.isAugmented() || targetItem.isWear())

{

player.sendMessage("You can't augment items while you wear it");

return false;

}

if(player.isDead())

{

player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_DEAD));

return false;

}

if(player.isSitting())

{

player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_SITTING_DOWN));

return false;

}

if(player.isFishing())

{

player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_FISHING));

return false;

}

if(player.isParalyzed())

{

player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_PARALYZED));

return false;

}

if(player.getActiveTradeList() != null)

{

player.sendMessage("You cannot augment while trading");

return false;

}

if(player.getPrivateStoreType() != 0)

{

player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP_IS_IN_OPERATION));

return false;

}

if(player.getInventory().getItemByObjectId(refinerItem.getObjectId()) == null)

{

Util.handleIllegalPlayerAction(player, (new StringBuilder()).append("Warning!! Character ").append(player.getName()).append(" of account ").append(player.getAccountName()).append(" tried to refine an item with wrong LifeStone-id.").toString(), Config.DEFAULT_PUNISH);

return false;

}

if(player.getInventory().getItemByObjectId(targetItem.getObjectId()) == null)

{

Util.handleIllegalPlayerAction(player, (new StringBuilder()).append("Warning!! Character ").append(player.getName()).append(" of account ").append(player.getAccountName()).append(" tried to refine an item with wrong Weapon-id.").toString(), Config.DEFAULT_PUNISH);

return false;

}

if(player.getInventory().getItemByObjectId(gemstoneItem.getObjectId()) == null)

{

Util.handleIllegalPlayerAction(player, (new StringBuilder()).append("Warning!! Character ").append(player.getName()).append(" of account ").append(player.getAccountName()).append(" tried to refine an item with wrong Gemstone-id.").toString(), Config.DEFAULT_PUNISH);

return false;

}

int itemGrade = targetItem.getItem().getItemGrade();

int itemType = targetItem.getItem().getType2();

int lifeStoneId = refinerItem.getItemId();

int gemstoneItemId = gemstoneItem.getItemId();

if(lifeStoneId < 8723 || lifeStoneId > 8762)

return false;

if(itemGrade < 2 || itemType != 0 || !targetItem.isDestroyable())

return false;

if(player.getPrivateStoreType() != 0 || player.isDead() || player.isParalyzed() || player.isFishing() || player.isSitting())

return false;

int modifyGemstoneCount = _gemstoneCount;

int lifeStoneLevel = getLifeStoneLevel(lifeStoneId);

int lifeStoneGrade = getLifeStoneGrade(lifeStoneId);

switch(itemGrade)

{

case 2: // '\002'

if(player.getLevel() < 46 || gemstoneItemId != 2130)

return false;

modifyGemstoneCount = 20;

break;

 

case 3: // '\003'

if(lifeStoneLevel < 3 || player.getLevel() < 52 || gemstoneItemId != 2130)

return false;

modifyGemstoneCount = 30;

break;

 

case 4: // '\004'

if(lifeStoneLevel < 6 || player.getLevel() < 61 || gemstoneItemId != 2131)

return false;

modifyGemstoneCount = 20;

break;

 

case 5: // '\005'

if(lifeStoneLevel != 10 || player.getLevel() < 76 || gemstoneItemId != 2131)

return false;

modifyGemstoneCount = 25;

break;

}

switch(lifeStoneLevel)

{

case 1: // '\001'

if(player.getLevel() < 46)

return false;

break;

 

case 2: // '\002'

if(player.getLevel() < 49)

return false;

break;

 

case 3: // '\003'

if(player.getLevel() < 52)

return false;

break;

 

case 4: // '\004'

if(player.getLevel() < 55)

return false;

break;

 

case 5: // '\005'

if(player.getLevel() < 58)

return false;

break;

 

case 6: // '\006'

if(player.getLevel() < 61)

return false;

break;

 

case 7: // '\007'

if(player.getLevel() < 64)

return false;

break;

 

case 8: // '\b'

if(player.getLevel() < 67)

return false;

break;

 

case 9: // '\t'

if(player.getLevel() < 70)

return false;

break;

 

case 10: // '\n'

if(player.getLevel() < 76)

return false;

break;

}

if(gemstoneItem.getCount() - modifyGemstoneCount < 0)

return false;

if(!player.destroyItem("RequestRefine", refinerItem, null, false))

{

return false;

} else

{

player.destroyItem("RequestRefine", _gemstoneItemObjId, modifyGemstoneCount, null, false);

targetItem.setAugmentation(AugmentationData.getInstance().generateRandomAugmentation(targetItem, lifeStoneLevel, lifeStoneGrade));

InventoryUpdate iu = new InventoryUpdate();

iu.addModifiedItem(targetItem);

player.sendPacket(iu);

StatusUpdate su = new StatusUpdate(player.getObjectId());

su.addAttribute(14, player.getCurrentLoad());

player.sendPacket(su);

return true;

}

}

 

private int getLifeStoneGrade(int itemId)

{

if((itemId -= 8723) < 10)

return 0;

if(itemId < 20)

return 1;

return itemId >= 30 ? 3 : 2;

}

 

private int getLifeStoneLevel(int itemId)

{

itemId -= 10 * getLifeStoneGrade(itemId);

return itemId -= 8722;

}

 

public String getType()

{

return "[C] D0:2C RequestRefine";

}

 

private int _targetItemObjId;

private int _refinerItemObjId;

private int _gemstoneItemObjId;

private int _gemstoneCount;

}

 

 

 

Покажите где моя ошибка

Изменено пользователем Linkus159

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Файлик AugmentationData.java в студию, желательно на pastebin или подобный сайт выложить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Файлик AugmentationData.java в студию, желательно на pastebin или подобный сайт выложить.

Вот

 

// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov Date: 08.03.2013 2:33:58

// 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: AugmentationData.java

 

package com.l2jfrozen.gameserver.datatables.xml;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.gameserver.model.L2Augmentation;

import com.l2jfrozen.gameserver.model.L2Skill;

import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;

import com.l2jfrozen.gameserver.skills.Stats;

import com.l2jfrozen.util.random.Rnd;

import java.io.File;

import java.io.PrintStream;

import java.util.*;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javolution.util.FastList;

import javolution.util.FastMap;

import org.w3c.dom.*;

 

public class AugmentationData

{

/* member class not found */

class AugStat {}

 

/* member class not found */

class augmentationStat {}

 

/* member class not found */

class augmentationSkill {}

 

 

public static final AugmentationData getInstance()

{

if(_instance == null)

_instance = new AugmentationData();

return _instance;

}

 

private AugmentationData()

{

_log.info("Initializing AugmentationData.");

_augmentationStats = new FastList[4];

_augmentationStats[0] = new FastList();

_augmentationStats[1] = new FastList();

_augmentationStats[2] = new FastList();

_augmentationStats[3] = new FastList();

_blueSkills = new FastMap();

_purpleSkills = new FastMap();

_redSkills = new FastMap();

for(int i = 1; i <= 10; i++)

{

_blueSkills.put(Integer.valueOf(i), new FastList());

_purpleSkills.put(Integer.valueOf(i), new FastList());

_redSkills.put(Integer.valueOf(i), new FastList());

}

 

load();

_log.info((new StringBuilder()).append("AugmentationData: Loaded: ").append(_augmentationStats[0].size() * 4).append(" augmentation stats.").toString());

if(Config.DEBUG)

{

for(int i = 1; i <= 10; i++)

_log.info((new StringBuilder()).append("AugmentationData: Loaded: ").append(((FastList)_blueSkills.get(Integer.valueOf(i))).size()).append(" blue, ").append(((FastList)_purpleSkills.get(Integer.valueOf(i))).size()).append(" purple and ").append(((FastList)_redSkills.get(Integer.valueOf(i))).size()).append(" red skills for lifeStoneLevel ").append(i).toString());

 

}

}

 

public static void reload()

{

_instance = null;

getInstance();

}

 

private final void load()

{

DocumentBuilderFactory factory;

int badAugmantData;

File file;

Document doc;

try

{

factory = DocumentBuilderFactory.newInstance();

factory.setValidating(false);

factory.setIgnoringComments(true);

badAugmantData = 0;

file = new File((new StringBuilder()).append(Config.DATAPACK_ROOT).append("/data/stats/augmentation/augmentation_skillmap.xml").toString());

if(!file.exists())

{

if(Config.DEBUG)

System.out.println("The augmentation skillmap file is missing.");

return;

}

}

catch(Exception e)

{

if(Config.ENABLE_ALL_EXCEPTIONS)

e.printStackTrace();

_log.log(Level.SEVERE, "Error parsing augmentation_skillmap.xml.", e);

return;

}

doc = factory.newDocumentBuilder().parse(file);

for(Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())

{

if(!"list".equalsIgnoreCase(n.getNodeName()))

continue;

for(Node d = n.getFirstChild(); d != null; d = d.getNextSibling())

{

if(!"augmentation".equalsIgnoreCase(d.getNodeName()))

continue;

NamedNodeMap attrs = d.getAttributes();

int skillId = 0;

int augmentationId = Integer.parseInt(attrs.getNamedItem("id").getNodeValue());

String type = "blue";

int skillLvL = 0;

for(Node cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling())

{

if("skillId".equalsIgnoreCase(cd.getNodeName()))

{

attrs = cd.getAttributes();

skillId = Integer.parseInt(attrs.getNamedItem("val").getNodeValue());

continue;

}

if("skillLevel".equalsIgnoreCase(cd.getNodeName()))

{

attrs = cd.getAttributes();

skillLvL = Integer.parseInt(attrs.getNamedItem("val").getNodeValue());

continue;

}

if("type".equalsIgnoreCase(cd.getNodeName()))

{

attrs = cd.getAttributes();

type = attrs.getNamedItem("val").getNodeValue();

}

}

 

if(skillId == 0)

{

if(Config.DEBUG)

_log.log(Level.SEVERE, (new StringBuilder()).append("Bad skillId in augmentation_skillmap.xml in the augmentationId:").append(augmentationId).toString());

badAugmantData++;

continue;

}

if(skillLvL == 0)

{

if(Config.DEBUG)

_log.log(Level.SEVERE, (new StringBuilder()).append("Bad skillLevel in augmentation_skillmap.xml in the augmentationId:").append(augmentationId).toString());

badAugmantData++;

continue;

}

int k;

for(k = 1; augmentationId - k * 178 >= 14561; k++);

if(type.equalsIgnoreCase("blue"))

((FastList)_blueSkills.get(Integer.valueOf(k))).add(new augmentationSkill(skillId, skillLvL, augmentationId));

else

if(type.equalsIgnoreCase("purple"))

((FastList)_purpleSkills.get(Integer.valueOf(k))).add(new augmentationSkill(skillId, skillLvL, augmentationId));

else

((FastList)_redSkills.get(Integer.valueOf(k))).add(new augmentationSkill(skillId, skillLvL, augmentationId));

attrs = null;

}

 

}

 

if(badAugmantData != 0)

_log.info((new StringBuilder()).append("AugmentationData: ").append(badAugmantData).append(" bad skill(s) were skipped.").toString());

doc = null;

file = null;

int i = 1;

_L2:

if(i >= 5)

break; /* Loop/switch isn't completed */

DocumentBuilderFactory factory;

Node n;

Node d;

NamedNodeMap attrs;

String statName;

float soloValues[];

float combinedValues[];

Node cd;

String tableName;

StringTokenizer data;

List array;

int x;

Iterator i$;

float value;

try

{

factory = DocumentBuilderFactory.newInstance();

factory.setValidating(false);

factory.setIgnoringComments(true);

file = new File((new StringBuilder()).append(Config.DATAPACK_ROOT).append("/data/stats/augmentation/augmentation_stats").append(i).append(".xml").toString());

if(!file.exists())

{

if(Config.DEBUG)

System.out.println((new StringBuilder()).append("The augmentation stat data file ").append(i).append(" is missing.").toString());

return;

}

}

catch(Exception e)

{

if(Config.ENABLE_ALL_EXCEPTIONS)

e.printStackTrace();

_log.log(Level.SEVERE, (new StringBuilder()).append("Error parsing augmentation_stats").append(i).append(".xml.").toString(), e);

return;

}

doc = factory.newDocumentBuilder().parse(file);

for(n = doc.getFirstChild(); n != null; n = n.getNextSibling())

{

if(!"list".equalsIgnoreCase(n.getNodeName()))

continue;

for(d = n.getFirstChild(); d != null; d = d.getNextSibling())

{

if(!"stat".equalsIgnoreCase(d.getNodeName()))

continue;

attrs = d.getAttributes();

statName = attrs.getNamedItem("name").getNodeValue();

soloValues = null;

combinedValues = null;

for(cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling())

{

if(!"table".equalsIgnoreCase(cd.getNodeName()))

continue;

attrs = cd.getAttributes();

tableName = attrs.getNamedItem("name").getNodeValue();

data = new StringTokenizer(cd.getFirstChild().getNodeValue());

array = new FastList();

for(; data.hasMoreTokens(); array.add(Float.valueOf(Float.parseFloat(data.nextToken()))));

if(tableName.equalsIgnoreCase("#soloValues"))

{

soloValues = new float[array.size()];

x = 0;

for(i$ = array.iterator(); i$.hasNext();)

{

value = ((Float)i$.next()).floatValue();

soloValues[x++] = value;

}

 

} else

{

combinedValues = new float[array.size()];

x = 0;

for(i$ = array.iterator(); i$.hasNext();)

{

value = ((Float)i$.next()).floatValue();

combinedValues[x++] = value;

}

 

}

tableName = null;

}

 

_augmentationStats[i - 1].add(new augmentationStat(Stats.valueOfXml(statName), soloValues, combinedValues));

statName = null;

attrs = null;

}

 

}

 

doc = null;

file = null;

factory = null;

i++;

if(true) goto _L2; else goto _L1

_L1:

}

 

public L2Augmentation generateRandomAugmentation(L2ItemInstance item, int lifeStoneLevel, int lifeStoneGrade)

{

int skill_Chance = 0;

int stat34 = 0;

boolean generateSkill = false;

int resultColor = 0;

boolean generateGlow = false;

switch(lifeStoneGrade)

{

case 0: // '\0'

skill_Chance = Config.AUGMENTATION_NG_SKILL_CHANCE;

if(Rnd.get(1, 100) <= Config.AUGMENTATION_NG_GLOW_CHANCE)

generateGlow = true;

break;

 

case 1: // '\001'

skill_Chance = Config.AUGMENTATION_MID_SKILL_CHANCE;

if(Rnd.get(1, 100) <= Config.AUGMENTATION_MID_GLOW_CHANCE)

generateGlow = true;

break;

 

case 2: // '\002'

skill_Chance = Config.AUGMENTATION_HIGH_SKILL_CHANCE;

if(Rnd.get(1, 100) <= Config.AUGMENTATION_HIGH_GLOW_CHANCE)

generateGlow = true;

break;

 

case 3: // '\003'

skill_Chance = Config.AUGMENTATION_TOP_SKILL_CHANCE;

if(Rnd.get(1, 100) <= Config.AUGMENTATION_TOP_GLOW_CHANCE)

generateGlow = true;

break;

}

if(Rnd.get(1, 100) <= skill_Chance)

generateSkill = true;

else

if(Rnd.get(1, 100) <= Config.AUGMENTATION_BASESTAT_CHANCE)

stat34 = Rnd.get(16341, 16344);

if(stat34 == 0 && !generateSkill)

{

resultColor = Rnd.get(0, 100);

if(resultColor <= 15 * lifeStoneGrade + 40)

resultColor = 1;

else

resultColor = 0;

} else

{

resultColor = Rnd.get(0, 100);

if(resultColor <= 10 * lifeStoneGrade + 5 || stat34 != 0)

resultColor = 3;

else

if(resultColor <= 10 * lifeStoneGrade + 10)

resultColor = 1;

else

resultColor = 2;

}

int stat12 = 0;

if(stat34 == 0 && !generateSkill)

{

int temp = Rnd.get(2, 3);

int colorOffset = resultColor * 10 * 91 + temp * 3640 + 1;

int offset = (lifeStoneLevel - 1) * 91 + colorOffset;

stat34 = Rnd.get(offset, (offset + 91) - 1);

if(generateGlow && lifeStoneGrade >= 2)

offset = (lifeStoneLevel - 1) * 91 + (temp - 2) * 3640 + lifeStoneGrade * 10 * 91 + 1;

else

offset = (lifeStoneLevel - 1) * 91 + (temp - 2) * 3640 + Rnd.get(0, 1) * 10 * 91 + 1;

stat12 = Rnd.get(offset, (offset + 91) - 1);

} else

{

int offset;

if(!generateGlow)

offset = (lifeStoneLevel - 1) * 91 + Rnd.get(0, 1) * 3640 + 1;

else

offset = (lifeStoneLevel - 1) * 91 + Rnd.get(0, 1) * 3640 + ((lifeStoneGrade + resultColor) / 2) * 10 * 91 + 1;

stat12 = Rnd.get(offset, (offset + 91) - 1);

}

L2Skill skill = null;

if(generateSkill)

{

augmentationSkill temp = null;

switch(resultColor)

{

case 1: // '\001'

temp = (augmentationSkill)((FastList)_blueSkills.get(Integer.valueOf(lifeStoneLevel))).get(Rnd.get(0, ((FastList)_blueSkills.get(Integer.valueOf(lifeStoneLevel))).size() - 1));

skill = temp.getSkill(lifeStoneLevel);

stat34 = temp.getAugmentationSkillId();

break;

 

case 2: // '\002'

temp = (augmentationSkill)((FastList)_purpleSkills.get(Integer.valueOf(lifeStoneLevel))).get(Rnd.get(0, ((FastList)_purpleSkills.get(Integer.valueOf(lifeStoneLevel))).size() - 1));

skill = temp.getSkill(lifeStoneLevel);

stat34 = temp.getAugmentationSkillId();

break;

 

case 3: // '\003'

temp = (augmentationSkill)((FastList)_redSkills.get(Integer.valueOf(lifeStoneLevel))).get(Rnd.get(0, ((FastList)_redSkills.get(Integer.valueOf(lifeStoneLevel))).size() - 1));

skill = temp.getSkill(lifeStoneLevel);

stat34 = temp.getAugmentationSkillId();

break;

}

}

if(Config.DEBUG)

_log.info((new StringBuilder()).append("Augmentation success: stat12=").append(stat12).append("; stat34=").append(stat34).append("; resultColor=").append(resultColor).append("; level=").append(lifeStoneLevel).append("; grade=").append(lifeStoneGrade).toString());

return new L2Augmentation(item, (stat34 << 16) + stat12, skill, true);

}

 

public FastList getAugStatsById(int augmentationId)

{

FastList temp = new FastList();

int stats[] = new int[2];

stats[0] = 0xffff & augmentationId;

stats[1] = augmentationId >> 16;

for(int i = 0; i < 2; i++)

{

if(stats >= 1 && stats <= 14560)

{

int block;

for(block = 0; stats > 3640; block++)

stats -= 3640;

 

int subblock;

for(subblock = 0; stats > 91; subblock++)

stats -= 91;

 

if(stats < 14)

{

augmentationStat as = (augmentationStat)_augmentationStats[block].get(stats - 1);

temp.add(new AugStat(as.getStat(), as.getSingleStatValue(subblock)));

} else

{

stats -= 13;

int x = 12;

int rescales;

for(rescales = 0; stats > x; rescales++)

{

stats -= x;

x--;

}

 

augmentationStat as = (augmentationStat)_augmentationStats[block].get(rescales);

if(rescales == 0)

temp.add(new AugStat(as.getStat(), as.getCombinedStatValue(subblock)));

else

temp.add(new AugStat(as.getStat(), as.getCombinedStatValue(subblock * 2 + 1)));

as = (augmentationStat)_augmentationStats[block].get(rescales + stats);

if(as.getStat() == Stats.CRITICAL_DAMAGE)

temp.add(new AugStat(as.getStat(), as.getCombinedStatValue(subblock)));

else

temp.add(new AugStat(as.getStat(), as.getCombinedStatValue(subblock * 2)));

as = null;

}

continue;

}

if(stats >= 16341 && stats <= 16344)

switch(stats)

{

case 16341:

temp.add(new AugStat(Stats.STAT_STR, 1.0F));

break;

 

case 16342:

temp.add(new AugStat(Stats.STAT_CON, 1.0F));

break;

 

case 16343:

temp.add(new AugStat(Stats.STAT_INT, 1.0F));

break;

 

case 16344:

temp.add(new AugStat(Stats.STAT_MEN, 1.0F));

break;

}

}

 

return temp;

}

 

private static final Logger _log = Logger.getLogger(com/l2jfrozen/gameserver/datatables/xml/AugmentationData.getName());

private static AugmentationData _instance;

private static final int STAT_START = 1;

private static final int STAT_END = 14560;

private static final int STAT_BLOCKSIZE = 3640;

private static final int STAT_SUBBLOCKSIZE = 91;

private static final int BLUE_START = 14561;

private static final int SKILLS_BLOCKSIZE = 178;

private static final int BASESTAT_STR = 16341;

private static final int BASESTAT_CON = 16342;

private static final int BASESTAT_INT = 16343;

private static final int BASESTAT_MEN = 16344;

private FastList _augmentationStats[];

private Map _blueSkills;

private Map _purpleSkills;

private Map _redSkills;

 

}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вижу только один метод на разрушение ЛСа player.destroyItem("RequestRefine", refinerItem, null, false)

 

Конкретней сказать не могу. Копайте в эту сторону.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вижу только один метод на разрушение ЛСа player.destroyItem("RequestRefine", refinerItem, null, false)

 

Конкретней сказать не могу. Копайте в эту сторону.

Я плохо разбераюся в ядре можете помочь что мне делать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашол свою ошибку у меня програма "DJ Java Decompiler 3.12" не сохроняет фаилы в .Class и если я закидую в ядро .java фаилы тогда сервер не включается как мне зделать чтобы сохраняло ? и как мне зделать чтобы в .class тоже мог фаилы зделать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашол свою ошибку у меня програма "DJ Java Decompiler 3.12" не сохроняет фаилы в .Class и если я закидую в ядро .java фаилы тогда сервер не включается как мне зделать чтобы сохраняло ? и как мне зделать чтобы в .class тоже мог фаилы зделать ?

 

Что за сборка вообще и зачем декомпилить? Не легче взять сборку с открытыми исходами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за сборка вообще и зачем декомпилить? Не легче взять сборку с открытыми исходами?

сборка L2jFrozen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

eclipse ska4aj0

Cкачал я eclipse дак она вопше не открывает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Cкачал я eclipse дак она вопше не открывает

С свн скачай исходники, меняй и компиль. Как это делать, гугли )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот скрин и как мне сохранить в .class?

что именно делать мне ?

pre_1362747147__11.jpg

Изменено пользователем Linkus159

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...