P1ckw1ck 158 Posted May 1, 2015 (edited) Добрый день. Прошу помощи, целый день уже сижу и не могу в курить в чем проблема. Есть код от люцеры 1 ветки . ставлю его на ацис. (еклипс ругается). и не хочет компилить. сам код public void CheckMycost(L2PcInstance activeChar) { int cost = Config.GVE_REWARD; for (L2ItemInstance i : activeChar.getInventory().getItems()) { int grade = i.getItemId(); if (!i.isEquipped()) continue; if (i.isHeroItem()) { cost += Config.HERO_PRICE; } if (i.getItem().getCrystalType() == 3) { if(i.isWeapon()) { cost += Config.B_Grade; } else { cost += Config.B_Grade_part; } } if (i.getItem().getCrystalType() == 4) { if (i.isWeapon()) { cost += Config.A_Grade; } else { cost += Config.A_Grade_part; } } if (i.getItem().getCrystalType() == 5) { if (i.isWeapon()) { cost += Config.S_Grade; } else { cost += Config.S_Grade_part; } } if (((i.getItemId() > 6656) && (i.getItemId() < 6662)) || (i.getItemId() == 8191)) { cost += checkRbCost(grade); } } CheckMycost(cost); (вот тут еклипс пишет ошибку) } public int checkRbCost(int grade) { int cost = 0; switch (grade) { case 6656: cost += Config.price6656; break; case 6657: cost += Config.price6657; break; case 6658: cost += Config.price6658; break; case 6659: cost += Config.price6659; break; case 6660: cost += Config.price6660; break; case 6661: cost += Config.price6661; break; case 6662: cost += Config.price6661; break; case 8191: cost += Config.price8191; break; default: cost += 0; } return cost; } Буду очень благодарен. Edited May 1, 2015 by P1ckw1ck Share this post Link to post Share on other sites
Silentium 592 Posted May 1, 2015 А на что, собственно, ругается Эклипс? Обычно он предлагает варианты решения проблемы. Share this post Link to post Share on other sites
P1ckw1ck 158 Posted May 1, 2015 (edited) CheckMycost(cost); (вот тут еклипс пишет ошибку) в коде выше указано. Я не долго занимаюсь явой, еще не доконца освоил еклипс и все его примычки =) сама ошибка компила compile: [javac] Compiling 1326 source files to D:\Documents and Settings\P1ckw1ck\Мои документы\Загрузки\GvE\core\build\classes [javac] D:\Documents and Settings\P1ckw1ck\Мои документы\Загрузки\GvE\core\java\net\sf\l2j\gameserver\model\actor\instance\L2PcInstance.java:2251: error: method CheckMycost in class L2PcInstance cannot be applied to given types; [javac] CheckMycost(cost); [javac] ^ [javac] required: L2PcInstance [javac] found: int [javac] reason: actual argument int cannot be converted to L2PcInstance by method invocation conversion [javac] 1 errorBUILD FAILED Edited May 1, 2015 by P1ckw1ck Share this post Link to post Share on other sites
Silentium 592 Posted May 1, 2015 (edited) CheckMycost(cost); (вот тут еклипс пишет ошибку) в коде выше указано. Я не долго занимаюсь явой, еще не доконца освоил еклипс и все его примычки =) сама ошибка компила compile: [javac] Compiling 1326 source files to D:\Documents and Settings\P1ckw1ck\Мои документы\Загрузки\GvE\core\build\classes [javac] D:\Documents and Settings\P1ckw1ck\Мои документы\Загрузки\GvE\core\java\net\sf\l2j\gameserver\model\actor\instance\L2PcInstance.java:2251: error: method CheckMycost in class L2PcInstance cannot be applied to given types; [javac] CheckMycost(cost); [javac] ^ [javac] required: L2PcInstance [javac] found: int [javac] reason: actual argument int cannot be converted to L2PcInstance by method invocation conversion [javac] 1 error BUILD FAILED В Ваших сурсах метод CheckMycost принимает аргументы типа L2PcInstance (например, CheckMycost(player)), а у Вас CheckMycost отдаёт int (CheckMycost(cost)). Пока больше ничего сказать не смогу, вечером гляну более детально. Edited May 1, 2015 by Silentium Share this post Link to post Share on other sites
1ntegrate 46 Posted May 1, 2015 (edited) CheckMycost(cost); (вот тут еклипс пишет ошибку) этот метод не может принимать значение int, а только L2PcInstance, я так полагаю что вместо этого должно было бы быть return cost; а еще поменять тип с public void CheckMycost(L2PcInstance activeChar) на public int CheckMycost(L2PcInstance activeChar) тогда оно должно бы возвращять цену чара, поправьте меня если я не прав Edited May 1, 2015 by 1ntegrate 1 Share this post Link to post Share on other sites
P1ckw1ck 158 Posted May 2, 2015 CheckMycost(cost); (вот тут еклипс пишет ошибку) этот метод не может принимать значение int, а только L2PcInstance, я так полагаю что вместо этого должно было бы быть return cost; а еще поменять тип с public void CheckMycost(L2PcInstance activeChar) на public int CheckMycost(L2PcInstance activeChar) тогда оно должно бы возвращять цену чара, поправьте меня если я не прав В титуле 0 аден показывает, возможно где-то я конфиг не дописал в Config.java буду копать, спасибо. + дал. Share this post Link to post Share on other sites
gPoligon 15 Posted May 5, 2015 Метод CheckMycost на вход принимает объект класса L2pcInstance а вы передаете ему инт. Share this post Link to post Share on other sites