Сообщений: 4
Тем: 0
Зарегистрирован: Feb 2010
Репутация:
0
GoodShadow Написал:О.О причём тут ядро в sql? ошибка в поле crystal_type оно пустое, впиши none и радуйся
А вот поле это `crystal_type` enum('none','d','c','b','a','s','s80','s84') NOT NULL DEFAULT 'none',
И Что куда сдесь дописывать??
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
invalid Написал:Выложи просто так) я спасибками каждый твой пост затыкаю) больше просто нет ничё((((
Хорошо я выложу, но сразу говорю, я просто переписал под феникс энчантер с панели гудшадов.
PHP код: <?php
package services.PVPCommunityBoard;
import javolution.util.FastList;
import l2p.extensions.scripts.Functions;
import l2p.extensions.scripts.ScriptFile;
import l2p.gameserver.model.items.Inventory;
import l2p.gameserver.model.L2Object;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.model.L2Skill;
import l2p.gameserver.model.items.L2ItemInstance;
import l2p.gameserver.tables.SkillTable;
import l2p.gameserver.templates.L2Item;
import l2p.gameserver.model.base.PlayerAccess;
import l2p.gameserver.model.items.PcInventory;
import l2p.gameserver.serverpackets.*;
import l2p.util.Log;
public class EnchCB extends Functions implements ScriptFile
{
private static final int MONEY_ID = 4356; // ID вещи за которую точим шмот и преобретаем статусы
private static final int ENCHANT_WEAPON_NUMBER_LIST[] = {
10, 15, 20, 25
}; // Уровни заточки оружия
private static final int ENCHANT_WEAPON_COAL_LIST[] = {
15, 30, 45, 70
}; // Цена заточки оружия
private static final int ENCHANT_ARMOR_NUMBER_LIST[] = {
10, 15, 20, 25
}; // Уровни заточки брони
private static final int ENCHANT_ARMOR_COAL_LIST[] = {
15, 30, 45, 70
}; // Цена заточки брони
private static final int ENCHANT_JEWEL_NUMBER_LIST[] = {
10, 15, 20, 25
}; // Уровни заточки Бижы
private static final int ENCHANT_JEWEL_COAL_LIST[] = {
30, 45, 70, 100
}; // Цена заточки Бижы
private static int hmsg;
private static boolean _active = false;
public void onLoad()
{
System.out.println("Loaded Service: CommunityBoard Enchant [state: OK]");
}
public void onReload()
{
System.out.println("Reloaded Service: CommunityBoard Enchant [state: OK]");
}
public void onShutdown()
{}
public void startEvent()
{
}
public void stopEvent()
{
}
public void enchantWeapon(final String[] var)
{
final L2Player player = (L2Player) getSelf();
if(player == null)
{
return;
}
final int EnchVal = ENCHANT_WEAPON_NUMBER_LIST[Integer.valueOf(var[0])];
final int CoinCount = ENCHANT_WEAPON_COAL_LIST[Integer.valueOf(var[0])];
if(!checkCondition(player, CoinCount))
return;
L2ItemInstance WeaponInSlot = null;
L2ItemInstance weaponType = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
if(weaponType != null && weaponType.getEquipSlot() == Inventory.PAPERDOLL_RHAND)
WeaponInSlot = weaponType;
else
{
weaponType = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LRHAND);
if(weaponType != null && weaponType.getEquipSlot() == Inventory.PAPERDOLL_LRHAND)
WeaponInSlot = weaponType;
}
if(WeaponInSlot != null)
{
removeItem(player, MONEY_ID, CoinCount);
player.getInventory().unEquipItemInSlot(WeaponInSlot.getEquipSlot());
WeaponInSlot.setEnchantLevel(EnchVal);
player.getInventory().equipItem(WeaponInSlot, true);
player.sendPacket(new InventoryUpdate().addModifiedItem(WeaponInSlot));
player.broadcastUserInfo(true);
player.sendMessage("Your weapon has been enchanted to " + EnchVal + ".");
Log.add(player + "Has by weapon enchant for" + WeaponInSlot + "weapon", "wmzSeller");
}
}
public void enchantArmor(final String[] var)
{
final L2Player player = (L2Player) getSelf();
if(player == null)
{
return;
}
final int EnchVal = ENCHANT_ARMOR_NUMBER_LIST[Integer.valueOf(var[0])];
final int CoinCount = ENCHANT_ARMOR_COAL_LIST[Integer.valueOf(var[0])];
if( !checkCondition(player, CoinCount))
return;
int SetArm = 0;
for(final L2Skill setSkill : player.getAllSkills())
{
if(setSkill.getName().equalsIgnoreCase("Equipped with Shield"))
{}
if( !(setSkill.getName().endsWith("Set") && setSkill.getId() >= 700))
continue;
else
SetArm = setSkill.getId();
}
L2ItemInstance armorInChestSlot = null;
final L2ItemInstance armor = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST);
if(SetArm == 0)
{
if(armor.getItem().getName().contains("Dynasty"))
SetArm = 1;
}
if(SetArm == 0)
{
player.sendMessage("You must equip full set for enchant");
player.sendActionFailed();
return;
}
if(armor != null && armor.getEquipSlot() == Inventory.PAPERDOLL_CHEST)
armorInChestSlot = armor;
removeItem(player, MONEY_ID, CoinCount);
for(final L2ItemInstance item : player.getInventory().getItems())
{
if(item.isEquipped() && item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR)
{
player.getInventory().unEquipItemInSlot(item.getEquipSlot());
item.setEnchantLevel(EnchVal);
player.sendMessage("Your armor has been enachant to " + EnchVal + ". Thx");
player.getInventory().equipItem(item, true);
player.sendPacket(new InventoryUpdate().addModifiedItem(item));
}
}
player.broadcastUserInfo(true);
Log.add(player + "Has by armor enchant for" + armorInChestSlot + "and equiped full armor set for this", "wmzSeller");
}
public void enchantJewel(final String[] var)
{
final L2Player player = (L2Player) getSelf();
if(player == null)
{
return;
}
final int EnchVal = ENCHANT_JEWEL_NUMBER_LIST[Integer.valueOf(var[0])];
final int CoinCount = ENCHANT_JEWEL_COAL_LIST[Integer.valueOf(var[0])];
if( !checkCondition(player, CoinCount))
return;
final FastList<L2ItemInstance> equiped = new FastList<L2ItemInstance>();
for(final L2ItemInstance item : player.getInventory().getItems())
if(item.isEquipped() && item.getItem().getType2() == L2Item.TYPE2_ACCESSORY)
{
equiped.add(item);
}
final int eqiptotal = equiped.size();
if(eqiptotal < 5)
{
player.sendMessage("You must equip full set for enchant");
return;
}
else
{
removeItem(player, MONEY_ID, CoinCount);
for(final L2ItemInstance jewel : equiped)
{
player.getInventory().unEquipItemInSlot(jewel.getEquipSlot());
jewel.setEnchantLevel(EnchVal);
Log.add(player + "Has by jewel enchant for" + jewel, "wmzSeller");
player.getInventory().equipItem(jewel, true);
player.sendPacket(new InventoryUpdate().addModifiedItem(jewel));
}
equiped.clear();
}
player.broadcastUserInfo(true);
// сообщение
player.sendMessage("Your jewels has been enachant to " + EnchVal + ". Thx");
}
public static boolean checkCondition(final L2Player player, final int CoinCount)
{
synchronized(player)
{
if(player == null)
return false;
final L2ItemInstance Coin = player.getInventory().getItemByItemId(MONEY_ID);
if(Coin == null)
player.sendMessage("You have not enough Golds");
if(CoinCount != 0 && player.getInventory().getItemByItemId(MONEY_ID).getCount() < CoinCount)
{
player.sendMessage("You have not enough Golds");
player.sendActionFailed();
return false;
}
return true;
}
}
}
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
А это скомпиленный вариант.
Сообщений: 509
Тем: 30
Зарегистрирован: Nov 2009
Goodday Написал:А это скомпиленный вариант.
Ты случайно не умеешь обходить протектор, я могла бы тебе дать лам гуард под сборку
Протектор в клиенской части =)
Сообщений: 30
Тем: 4
Зарегистрирован: Feb 2010
Репутация:
-201
не плохо было бы что бы ты ее выложила тут всем) порадовалиь бы
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
GoodShadow Написал:Ты случайно не умеешь обходить протектор, я могла бы тебе дать лам гуард под сборку
Протектор в клиенской части =)
Если разобраться то можно что угодно обойти, но щас пока занят (переписую олимп)
Сообщений: 4
Тем: 0
Зарегистрирован: Feb 2010
Репутация:
0
GoodShadow так что поможешь мне??
Вот поле `crystal_type` enum('none','d','c','b','a','s','s80','s84') NOT NULL DEFAULT 'none',
только куда тут none вставить как ты сказал я незнаю подскажи плиз.
Сообщений: 509
Тем: 30
Зарегистрирован: Nov 2009
Amneziya Написал:не плохо было бы что бы ты ее выложила тут всем) порадовалиь бы
Выложить то могу но толку от неё не много, протектор стоит а обойти очень тяжело, мизида - один не ровный шаг и останешься без HDD
KRlT Написал:GoodShadow так что поможешь мне??
Вот поле `crystal_type` enum('none','d','c','b','a','s','s80','s84') NOT NULL DEFAULT 'none',
Можно полностью ошибку увидеть?
Goodday Написал:Если разобраться то можно что угодно обойти, но щас пока занят (переписую олимп)
Олимп на сколько я понимаю нормальный, просто в sql или дп не корректный координат стоит.
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
GoodShadow Написал:Олимп на сколько я понимаю нормальный, просто в sql или дп не корректный координат стоит.
Я вот так и не понял из-за чего люди пропадают друг у друга, по этому решил взять старый олимп и переписать под это реву.
Сообщений: 509
Тем: 30
Зарегистрирован: Nov 2009
Goodday Написал:Я вот так и не понял из-за чего люди пропадают друг у друга, по этому решил взять старый олимп и переписать под это реву.
В старом олимпе не пашет 3 vs 3 так что брать старый палка о двух концах.
|