https://forum.zone-game.info/showthread.php?t=20248 в соседней теме встретил, что разделить заточку все же в свич как и предполагал.
Но вот код состоит из такого куска:
Я понимаю, что нужно сделfть код примерно такого вида:
Но строка item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON; подсвечивается как не заявленная, что именно делаю не так ? Если можно, то подскажите в какую сторону копать или на какую тему погуглить :Olen':
Вообще, еще в соседнем коде говорили про weapon: jeweler: в методе switch, но разве туда можно вставлять свое ? Почитав про switch не заметил, что можно менять условия.
Добавлено через 2 часа 17 минут
Погуглив, сделал так, но почему то все равно, не срабатывают пределы.
...
кажись разобрался, утром буду доделывать
Но вот код состоит из такого куска:
Код:
switch(item.getItemId())
{
case 13539:
if(item.getEnchantLevel() >= Config.ENCHANT_MAX_MASTER_YOGI_STAFF)
fail = true;
break;
case 21580:
if(item.getEnchantLevel() >= 9)
fail = true;
break;
default:
if(item.getEnchantLevel() >= Config.ENCHANT_MAX)
fail = true;
break;
}
if(!inventory.destroyItem(scroll, 1L) || catalyst != null && !inventory.destroyItem(catalyst, 1L))
{
player.sendPacket(EnchantResult.CANCEL);
player.sendActionFailed();
return;
}
if(fail)
{
player.sendPacket(EnchantResult.CANCEL);
player.sendPacket(SystemMsg.INAPPROPRIATE_ENCHANT_CONDITIONS);
player.sendActionFailed();
return;
}
Я понимаю, что нужно сделfть код примерно такого вида:
Код:
default:
if(item.getEnchantLevel() >= Config.ENCHANT_MAX)
fail = true;
else if (item.getItemId() == ItemTemplate.TYPE2_WEAPON)
item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON;
break;
Но строка item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON; подсвечивается как не заявленная, что именно делаю не так ? Если можно, то подскажите в какую сторону копать или на какую тему погуглить :Olen':
Вообще, еще в соседнем коде говорили про weapon: jeweler: в методе switch, но разве туда можно вставлять свое ? Почитав про switch не заметил, что можно менять условия.
Добавлено через 2 часа 17 минут
Погуглив, сделал так, но почему то все равно, не срабатывают пределы.
Код:
default:
{
if(itemTypeScroll == ItemTemplate.TYPE2_WEAPON)
{
if(Config.ENCHANT_MAX_WEAPON > 0 && item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON)
fail = true;
}
else if(itemTypeScroll == ItemTemplate.TYPE2_SHIELD_ARMOR)
{
if(Config.ENCHANT_MAX_ARMOR > 0 && item.getEnchantLevel() >= Config.ENCHANT_MAX_ARMOR)
fail = true;
}
else if(itemTypeScroll == ItemTemplate.TYPE2_ACCESSORY)
{
if(Config.ENCHANT_MAX_JEWELRY > 0 && item.getEnchantLevel() >= Config.ENCHANT_MAX_JEWELRY)
fail = true;
}
else fail = true;
}
break;
...
кажись разобрался, утром буду доделывать