diamond1369 3 Опубликовано 29 мая, 2015 Приветствую, мб кто сталкивался с проблемой, что прем аккаунт работает только с целыми числами, т.е. только х2, х3, х10. Но отказывается работать с х1.5 или х1.8, к примеру. Точнее сказать, работает, но если поставить х1.5, то дроп будет падать как с х2, хотя в дроп листе будет писать как и должно, то есть х1.5. Кто уловил мыслю, помогите. HF, сборка асгард. Помню, такая проблема была и у ребов, кто на них сидит, как вы с этим справились? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HideWar 143 Опубликовано 29 мая, 2015 У вас в cfg есть возможность редактировать премиум-рейты отдельно? adena/rate, drop/rate, spoil/rate и так далее? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
diamond1369 3 Опубликовано 29 мая, 2015 У вас в cfg есть возможность редактировать премиум-рейты отдельно? adena/rate, drop/rate, spoil/rate и так далее? я понял к чему вы клоните, если через это сделать, все равно криво падает Тут надо именно с конфигом према разобраться, думал сначала что интовское значение стоит, и оно округляет, но нифига, все "вроде бы" верно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HideWar 143 Опубликовано 29 мая, 2015 я понял к чему вы клоните, если через это сделать, все равно криво падает Тут надо именно с конфигом према разобраться, думал сначала что интовское значение стоит, и оно округляет, но нифига, все "вроде бы" верно. Конфиг премиум-сервиса в студию пожалуйста) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
diamond1369 3 Опубликовано 29 мая, 2015 RateBonusValue = 1.5;1.5;1.5 - так записывается в конфиге. Или вы имели ввиду скрипт явовский? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HideWar 143 Опубликовано 29 мая, 2015 RateBonusValue = 1.5;1.5;1.5 - так записывается в конфиге. Или вы имели ввиду скрипт явовский? Отпишите в ЛС, дам вам готовый скрипт. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Elione 265 Опубликовано 29 мая, 2015 Могу посоветовать только выкинуть эту сборку. Ничем от гринд-тим не отличается. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
diamond1369 3 Опубликовано 30 мая, 2015 Ну а все же, неужели никто не сталкивался с этим на данных сборках? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 31 мая, 2015 исходники есть? если есть от смотреть в каких переменных хранятся рейты и не идет ли где случаем их округление до ближайшего целого. если исходников нет - смириться с текущим положением или менять сборку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
diamond1369 3 Опубликовано 31 мая, 2015 Исходники есть, куда смотреть, в яве я не силен, знаю только омновы. Может у кого-то есть рабочий скрипт па? Буду премного благодарен. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HideWar 143 Опубликовано 2 июня, 2015 Исходники есть, куда смотреть, в яве я не силен, знаю только омновы. Может у кого-то есть рабочий скрипт па? Буду премного благодарен. Дал скрипты в ЛС. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HideWar 143 Опубликовано 2 июня, 2015 Я надеюсь вы знаете как адаптировать скрипт под свою сборку. Если не сможете то в скайп l2green.ru Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 2 июня, 2015 Почитайте что такое INT и что такое DOUBLE Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
diamond1369 3 Опубликовано 2 июня, 2015 SmokiMo, ну вот вы так и на ребах отвечали мне Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
diamond1369 3 Опубликовано 5 июня, 2015 Думал в бд столбец возвращает интовское значение, оказалось все нормально. Вот код код самого скрипта ПА: package services; import java.util.Date; import core.gameserver.Config; import core.gameserver.dao.AccountBonusDAO; import core.gameserver.data.htm.HtmCache; import core.gameserver.data.xml.holder.ItemHolder; import core.gameserver.model.Player; import core.gameserver.model.actor.instances.player.Bonus; import core.gameserver.network.authcomm.AuthServerCommunication; import core.gameserver.network.authcomm.gspackets.BonusRequest; import core.gameserver.network.l2.components.SystemMsg; import core.gameserver.network.l2.s2c.ExBR_PremiumState; import core.gameserver.scripts.Functions; import core.gameserver.utils.Log; public class RateBonus extends Functions { public void list() { Player player = getSelf(); if(Config.SERVICES_RATE_TYPE == Bonus.NO_BONUS) { show(HtmCache.getInstance().getNotNull("npcdefault.htm", player), player); return; } String html; if(player.getNetConnection().getBonus() >= 0.) { int endtime = player.getNetConnection().getBonusExpire(); if(endtime >= System.currentTimeMillis() / 1000L) html = HtmCache.getInstance().getNotNull("scripts/services/RateBonusAlready.htm", player).replaceFirst("endtime", new Date(endtime * 1000L).toString()); else { html = HtmCache.getInstance().getNotNull("scripts/services/RateBonus.htm", player); String add = ""; for(int i = 0; i < Config.SERVICES_RATE_BONUS_DAYS.length; i++) add += "<a action=\"bypass -h scripts_services.RateBonus:get " + i + "\">" // + (int) (Config.SERVICES_RATE_BONUS_VALUE[i] * 100 - 100) + // "% for " + Config.SERVICES_RATE_BONUS_DAYS[i] + // " days - " + Config.SERVICES_RATE_BONUS_PRICE[i] + // " " + ItemHolder.getInstance().getTemplate(Config.SERVICES_RATE_BONUS_ITEM[i]).getName() + "</a><br>"; html = html.replaceFirst("%toreplace%", add); } } else html = HtmCache.getInstance().getNotNull("scripts/services/RateBonusNo.htm", player); show(html, player); } public void get(String[] param) { Player player = getSelf(); if(Config.SERVICES_RATE_TYPE == Bonus.NO_BONUS) { show(HtmCache.getInstance().getNotNull("npcdefault.htm", player), player); return; } int i = Integer.parseInt(param[0]); if(!player.getInventory().destroyItemByItemId(Config.SERVICES_RATE_BONUS_ITEM[i], Config.SERVICES_RATE_BONUS_PRICE[i])) { if(Config.SERVICES_RATE_BONUS_ITEM[i] == 57) player.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_ADENA); else player.sendPacket(SystemMsg.INCORRECT_ITEM_COUNT); return; } if(Config.SERVICES_RATE_TYPE == Bonus.BONUS_GLOBAL_ON_AUTHSERVER && AuthServerCommunication.getInstance().isShutdown()) { list(); return; } Log.add(player.getName() + "|" + player.getObjectId() + "|rate bonus|" + Config.SERVICES_RATE_BONUS_VALUE[i] + "|" + Config.SERVICES_RATE_BONUS_DAYS[i] + "|", "services"); double bonus = Config.SERVICES_RATE_BONUS_VALUE[i]; int bonusExpire = (int) (System.currentTimeMillis() / 1000L) + Config.SERVICES_RATE_BONUS_DAYS[i] * 24 * 60 * 60; switch(Config.SERVICES_RATE_TYPE) { case Bonus.BONUS_GLOBAL_ON_AUTHSERVER: AuthServerCommunication.getInstance().sendPacket(new BonusRequest(player.getAccountName(), bonus, bonusExpire)); break; case Bonus.BONUS_GLOBAL_ON_GAMESERVER: AccountBonusDAO.getInstance().insert(player.getAccountName(), bonus, bonusExpire); break; } player.getNetConnection().setBonus(bonus); player.getNetConnection().setBonusExpire(bonusExpire); player.stopBonusTask(); player.startBonusTask(); if(player.getParty() != null) player.getParty().recalculatePartyData(); player.sendPacket(new ExBR_PremiumState(player, true)); //give premium item if(Config.GET_PREMIUM_ITEM) if(Functions.getItemCount(player, Config.GET_PREMIUM_ITEM_ID) == 0) Functions.addItem(player, Config.GET_PREMIUM_ITEM_ID, 1); show(HtmCache.getInstance().getNotNull("scripts/services/RateBonusGet.htm", player), player); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reboot 59 Опубликовано 6 июня, 2015 Закажи скрипт под заказ на свою сборку и все. Голову будешь долго ломать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты