wardeg 21 Опубликовано 21 сентября, 2014 Прошу помощи в создании НПС продающий премиум. Везде искал и не где нет нормального объяснения. Сбора l2j Единственное что нашёл этот код, но что с ним делать я не знаю Index: /trunk/DataPack/sql/character_premium.sql =================================================================== --- /trunk/DataPack/sql/character_premium.sql (revision 258) +++ /trunk/DataPack/sql/character_premium.sql (revision 258) @@ -0,0 +1,18 @@ +-- ---------------------------- +-- Table structure for character_premium +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `character_premium` ( + `account_name` varchar(45) NOT NULL DEFAULT '', + `premium_service` int(1) NOT NULL DEFAULT '0', + `enddate` decimal(20,0) NOT NULL DEFAULT '0', + PRIMARY KEY (`account_name`) +); +-- ---------------------------- +-- Table structure for character_premium +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `character_premium` ( + `account_name` varchar(45) NOT NULL DEFAULT '', + `premium_service` int(1) NOT NULL DEFAULT '0', + `enddate` decimal(20,0) NOT NULL DEFAULT '0', + PRIMARY KEY (`account_name`) +); Index: /trunk/DataPack/tools/database_installer.bat =================================================================== --- /trunk/DataPack/tools/database_installer.bat (revision 252) +++ /trunk/DataPack/tools/database_installer.bat (revision 258) @@ -542,4 +542,5 @@ character_quest_global_data.sql character_quests.sql +character_premium.sql character_raid_points.sql character_recipebook.s ql Index: /trunk/DataPack/tools/full_install.sql =================================================================== --- /trunk/DataPack/tools/full_install.sql (revision 251) +++ /trunk/DataPack/tools/full_install.sql (revision 258) @@ -67,4 +67,5 @@ DROP TABLE IF EXISTS character_quest_global_data; DROP TABLE IF EXISTS character_quests; +DROP TABLE IF EXISTS character_premium; DROP TABLE IF EXISTS character_raid_points; DROP TABLE IF EXISTS character_recipebook; Index: /trunk/DataPack/tools/database_installer.sh =================================================================== --- /trunk/DataPack/tools/database_installer.sh (revision 251) +++ /trunk/DataPack/tools/database_installer.sh (revision 258) @@ -287,4 +287,5 @@ $MYG < ../sql/character_quest_global_data.sql &> /dev/null $MYG < ../sql/character_quests.sql &> /dev/null +$MYG < ../sql/character_premium.sql &> /dev/null $MYG < ../sql/character_raid_points.sql &> /dev/null $MYG < ../sql/character_recipebook.sql &> /dev/null Index: /trunk/DataPack/data/html/admin/premium_menu.htm =================================================================== --- /trunk/DataPack/data/html/admin/premium_menu.htm (revision 258) +++ /trunk/DataPack/data/html/admin/premium_menu.htm (revision 258) @@ -0,0 +1,29 @@ +<html><title>Premium Service Menu</title><body> +<center> +<table width=270 border=0 bgcolor="666666"> +<tr> +<td><button value="Main" action="bypass -h admin_admin" width=50 height=15 back="L2UI_ct1.button_df_down" fore="L2UI_ct1.button_df"></td> +<td><button value="Game" action="bypass -h admin_admin2" width=50 height=15 back="L2UI_ct1.button_df_down" fore="L2UI_ct1.button_df"></td> +<td><button value="Effects" action="bypass -h admin_admin3" width=50 height=15 back="L2UI_ct1.button_df_down" fore="L2UI_ct1.button_df"></td> +<td><button value="Server" action="bypass -h admin_admin4" width=50 height=15 back="L2UI_ct1.button_df_down" fore="L2UI_ct1.button_df"></td> +<td><button value="Mods" action="bypass -h admin_admin5" width=50 height=15 back="L2UI_ct1.button_df_down" fore="L2UI_ct1.button_df"></td> +</tr> +</table> +<br> +<font color="LEVEL">Premium Service Menu</font><br> +<table width=250> +<tr> +<td>Enter Account Name:</td> +<td><edit var="acc_name" width=200></td> +</tr> +</table> +<br> +<table width=260> +<tr> +<td><button value="Add 1 month Premium Services" action="bypass -h admin_premium_add1 $acc_name" width=200 height=25 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> +<td><button value="Add 2 month Premium Services" action="bypass -h admin_premium_add2 $acc_name" width=200 height=25 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> +<td><button value="Add 3 month Premium Services" action="bypass -h admin_premium_add3 $acc_name" width=200 height=25 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> +</tr> +</table> +</center> +</body></html> Index: /trunk/DataPack/data/html/admin/main_menu.htm =================================================================== --- /trunk/DataPack/data/html/admin/main_menu.htm (revision 221) +++ /trunk/DataPack/data/html/admin/main_menu.htm (revision 258) @@ -54,4 +54,5 @@ <td><button value="TradeOff" action="bypass -h admin_tradeoff" width=65 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> <td><button value="Invul" action="bypass -h admin_invul" width=65 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> +<td><button value="Pr.Service" action="bypass -h admin_premium_menu" width=65 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> </tr><tr> <td><button value="Wyvern" action="bypass -h admin_ride_wyvern" width=65 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> Index: /trunk/Game/config/main/rates.ini =================================================================== --- /trunk/Game/config/main/rates.ini (revision 221) +++ /trunk/Game/config/main/rates.ini (revision 258) @@ -49,4 +49,18 @@ # Рейт на дроп квестовых предметов. Внимание: данная опция работает не во всех квестах. Многие квесты нужно редактировать в датапаке для работы этой опции. RateDropQuest = 1 + +# --------------------------------------------------------------------------- +# Система Премиум-Аккаунт (ПА) +# --------------------------------------------------------------------------- +# Включить функцию Премиум-Аккаунт (ПА)? +# По умолчанию: False +UsePremiumServices = False +# Какие рейты будут приниматься для обладателей ПА? +PremiumRateXp = 2 +PremiumRateSp = 2 +PremiumRateDropAdena = 2 +PremiumRateDropItems = 2 +PremiumRateDropSpoil = 2 +PremiumRateDropQuest = 2 # List of RaidBoss items affected by RateDropBossJewel (separated by ",") Index: /trunk/Game/src/main/java/com/l2open/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- /trunk/Game/src/main/java/com/l2open/gameserver/model/actor/instance/L2PcInstance.java (revision 221) +++ /trunk/Game/src/main/java/com/l2open/gameserver/model/actor/instance/L2PcInstance.java (revision 258) @@ -299,4 +299,7 @@ // Character Transformation SQL String Definitions: private static final String UPDATE_CHAR_TRANSFORM = "UPDATE characters SET transform_id=? WHERE charId=?"; + // Character PremiumService String Definitions: + private static final String RESTORE_PREMIUMSERVICE = "SELECT premium_service,enddate FROM character_premium WHERE account_name=?"; + private static final String UPDATE_PREMIUMSERVICE = "UPDATE character_premium SET premium_service=?,enddate=? WHERE account_name=?"; public static final int REQUEST_TIMEOUT = 15; public static final int STORE_PRIVATE_NONE = 0; @@ -13752,3 +13755,119 @@ return new PcKnownList(this); } + + private void createPSdb() + { + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement("INSERT INTO character_premium (account_name,premium_service,enddate) values(?,?,?)"); + statement.setString(1, _accountName); + statement.setInt(2, 0); + statement.setLong(3, 0); + statement.executeUpdate(); + statement.close(); + } + catch (Exception e) + { + _log.warn("Could not insert char data: "+e); + e.printStackTrace(); + return; + } + finally + { + try + { + if (con != null) + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + } + } + + private static void PStimeOver(String account) + { + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement(UPDATE_PREMIUMSERVICE); + statement.setInt(1, 0); + statement.setLong(2, 0); + statement.setString(3, account); + statement.execute(); + statement.close(); + } + catch (SQLException e) + { + _log.warn("PremiumService: Could not increase data"); + } + finally + { + try + { + if (con != null) + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + } + } + + private static void restorePremServiceData(L2PcInstance player, String account) + { + boolean sucess=false; + Connection con = null; + try + { + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement(RESTORE_PREMIUMSERVICE); + statement.setString(1, account); + ResultSet rset = statement.executeQuery(); + while (rset.next()) + { + sucess=true; + if (Config.USE_PREMIUMSERVICE){ + if (rset.getLong("enddate") <= System.currentTimeMillis()){ + PStimeOver(account); + player.setPremiumService(0); + } + else + player.setPremiumService(rset.getInt("premium_service")); + } + else + player.setPremiumService(0); + } + + statement.close(); + + } + catch (Exception e) + { + _log.warn("PremiumService: Could not restore PremiumService data for:" + account + "."+e); + e.printStackTrace(); + } + finally + { + try + { + if (con != null) + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + } + if (sucess==false) + { + player.createPSdb(); + player.setPremiumService(0); + } + } } Index: /trunk/Game/src/main/java/com/l2open/gameserver/model/actor/L2Character.java =================================================================== --- /trunk/Game/src/main/java/com/l2open/gameserver/model/actor/L2Character.java (revision 249) +++ /trunk/Game/src/main/java/com/l2open/gameserver/model/actor/L2Character.java (revision 258) @@ -6886,3 +6886,15 @@ } + private int _PremiumService; + + public void setPremiumService(int PS) + { + _PremiumService=PS; + } + + public int getPremiumService() + { + return _PremiumService; + + } } Index: /trunk/Game/src/main/java/com/l2open/gameserver/handler/AdminCommandHandler.java =================================================================== --- /trunk/Game/src/main/java/com/l2open/gameserver/handler/AdminCommandHandler.java (revision 221) +++ /trunk/Game/src/main/java/com/l2open/gameserver/handler/AdminCommandHandler.java (revision 258) @@ -67,4 +67,5 @@ import com.l2open.gameserver.handler.admincommandhandlers.AdminPledge; import com.l2open.gameserver.handler.admincommandhandlers.AdminPolymorph; +import com.l2open.gameserver.handler.admincommandhandlers.AdminPremium; import com.l2open.gameserver.handler.admincommandhandlers.AdminQuest; import com.l2open.gameserver.handler.admincommandhandlers.AdminReload; Index: /trunk/Game/src/main/java/com/l2open/gameserver/handler/admincommandhandlers/AdminPremium.java =================================================================== --- /trunk/Game/src/main/java/com/l2open/gameserver/handler/admincommandhandlers/AdminPremium.java (revision 258) +++ /trunk/Game/src/main/java/com/l2open/gameserver/handler/admincommandhandlers/AdminPremium.java (revision 258) @@ -0,0 +1,108 @@ +package com.l2open.gameserver.handler.admincommandhandlers; + +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.PreparedStatement; + +import java.util.Calendar; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.l2open.L2DatabaseFactory; +import com.l2open.gameserver.handler.IAdminCommandHandler; +import com.l2open.gameserver.model.actor.instance.L2PcInstance; + +public class AdminPremium implements IAdminCommandHandler +{ + private static final String[] ADMIN_COMMANDS = { "admin_premium_menu", "admin_premium_add1", "admin_premium_add2", "admin_premium_add3" }; + +private static final String UPDATE_PREMIUMSERVICE = "UPDATE character_premium SET premium_service=?,enddate=? WHERE account_name=?"; +private static final Logger _log = Logger.getLogger(AdminPremium.class.getName()); + + public boolean useAdminCommand(String command, L2PcInstance activeChar) + { + if (command.equals("admin_premium_menu")) + { + AdminHelpPage.showHelpPage(activeChar, "premium_menu.htm"); + } + else if (command.startsWith("admin_premium_add1")) + { + try + { + String val = command.substring(19); + addPremiumServices(1, val); + } + catch(StringIndexOutOfBoundsException e) + { + activeChar.sendMessage("Err"); + } + } + else if(command.startsWith("admin_premium_add2")) + { + try + { + String val = command.substring(19); + addPremiumServices(2, val); + } + catch(StringIndexOutOfBoundsException e) + { + activeChar.sendMessage("Err"); + } + } + else if(command.startsWith("admin_premium_add3")) + { + try + { + String val = command.substring(19); + addPremiumServices(3, val); + } + catch(StringIndexOutOfBoundsException e) + { + activeChar.sendMessage("Err"); + } + } + return true; + } + + public String[] getAdminCommandList() + { + return ADMIN_COMMANDS; + } + + private void addPremiumServices(int Months,String AccName) + { + Connection con = null; + try + { + Calendar finishtime = Calendar.getInstance(); + finishtime.setTimeInMillis(System.currentTimeMillis()); + finishtime.set(Calendar.SECOND, 0); + finishtime.add(Calendar.MONTH, Months); + + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement(UPDATE_PREMIUMSERVICE); + statement.setInt(1, 1); + statement.setLong(2, finishtime.getTimeInMillis()); + statement.setString(3, AccName); + statement.execute(); + statement.close(); + } + catch (SQLException e) + { + _log.info("PremiumService: Could not increase data"); + } + finally + { + try + { + if (con != null) + con.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + } + } + + } +} Index: /trunk/Game/src/main/java/com/l2open/Config.java =================================================================== --- /trunk/Game/src/main/java/com/l2open/Config.java (revision 233) +++ /trunk/Game/src/main/java/com/l2open/Config.java (revision 258) @@ -298,4 +298,11 @@ public static int RATE_DROP_MANOR; public static float RATE_DROP_QUEST; + public static boolean USE_PREMIUMSERVICE; + public static float PREMIUM_RATE_XP; + public static float PREMIUM_RATE_SP; + public static float PREMIUM_RATE_DROP_ADENA; + public static float PREMIUM_RATE_DROP_SPOIL; + public static float PREMIUM_RATE_DROP_ITEMS; + public static float PREMIUM_RATE_DROP_QUEST; public static float RATE_KARMA_EXP_LOST; public static float RATE_SIEGE_GUARDS_PRICE; @@ -350,4 +357,11 @@ RATE_DROP_MANOR = Integer.parseInt(ratesSettings.getProperty("RateDropManor", "1")); RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("RateDropQuest", "1.")); + USE_PREMIUMSERVICE = Boolean.parseBoolean(ratesSettings.getProperty("UsePremiumServices", "False")); + PREMIUM_RATE_XP = Float.parseFloat(ratesSettings.getProperty("PremiumRateXp", "2")); + PREMIUM_RATE_SP = Float.parseFloat(ratesSettings.getProperty("PremiumRateSp", "2")); + PREMIUM_RATE_DROP_ADENA = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropAdena", "2")); + PREMIUM_RATE_DROP_SPOIL = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropSpoil", "2")); + PREMIUM_RATE_DROP_ITEMS = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropItems", "2")); + PREMIUM_RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropQuest", "2")); RATE_KARMA_EXP_LOST = Float.parseFloat(ratesSettings.getProperty("RateKarmaExpLost", "1.")); RATE_SIEGE_GUARDS_PRICE = Float.parseFloat(ratesSettings.getProperty("RateSiegeGuardsPrice", "1.")); @@ -2931,4 +2945,16 @@ else if (pName.equalsIgnoreCase("RateDropQuest")) RATE_DROP_QUEST = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateXp")) + PREMIUM_RATE_XP = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateSp")) + PREMIUM_RATE_SP = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropAdena")) + PREMIUM_RATE_DROP_ADENA = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropSpoil")) + PREMIUM_RATE_DROP_SPOIL = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropItems")) + PREMIUM_RATE_DROP_ITEMS = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropQuest")) + PREMIUM_RATE_DROP_QUEST = Float.parseFloat(pValue); else if (pName.equalsIgnoreCase("RateKarmaExpLost")) RATE_KARMA_EXP_LOST = Float.parseFloat(pValue); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Restore 102 Опубликовано 21 сентября, 2014 (изменено) Допустим пример: /trunk/Game/src/main/java/com/l2open/Config.java @@ -298,4 +298,11 @@ public static int RATE_DROP_MANOR; public static float RATE_DROP_QUEST; + public static boolean USE_PREMIUMSERVICE; + public static float PREMIUM_RATE_XP; + public static float PREMIUM_RATE_SP; + public static float PREMIUM_RATE_DROP_ADENA; + public static float PREMIUM_RATE_DROP_SPOIL; + public static float PREMIUM_RATE_DROP_ITEMS; + public static float PREMIUM_RATE_DROP_QUEST; public static float RATE_KARMA_EXP_LOST; public static float RATE_SIEGE_GUARDS_PRICE; @@ -350,4 +357,11 @@ RATE_DROP_MANOR = Integer.parseInt(ratesSettings.getProperty("RateDropManor", "1")); RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("RateDropQuest", "1.")); + USE_PREMIUMSERVICE = Boolean.parseBoolean(ratesSettings.getProperty("UsePremiumServices", "False")); + PREMIUM_RATE_XP = Float.parseFloat(ratesSettings.getProperty("PremiumRateXp", "2")); + PREMIUM_RATE_SP = Float.parseFloat(ratesSettings.getProperty("PremiumRateSp", "2")); + PREMIUM_RATE_DROP_ADENA = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropAdena", "2")); + PREMIUM_RATE_DROP_SPOIL = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropSpoil", "2")); + PREMIUM_RATE_DROP_ITEMS = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropItems", "2")); + PREMIUM_RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropQuest", "2")); RATE_KARMA_EXP_LOST = Float.parseFloat(ratesSettings.getProperty("RateKarmaExpLost", "1.")); RATE_SIEGE_GUARDS_PRICE = Float.parseFloat(ratesSettings.getProperty("RateSiegeGuardsPrice", "1.")); @@ -2931,4 +2945,16 @@ - else if (pName.equalsIgnoreCase("RateDropQuest")) RATE_DROP_QUEST = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateXp")) + PREMIUM_RATE_XP = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateSp")) + PREMIUM_RATE_SP = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropAdena")) + PREMIUM_RATE_DROP_ADENA = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropSpoil")) + PREMIUM_RATE_DROP_SPOIL = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropItems")) + PREMIUM_RATE_DROP_ITEMS = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropQuest")) + PREMIUM_RATE_DROP_QUEST = Float.parseFloat(pValue); else if (pName.equalsIgnoreCase("RateKarmaExpLost")) RATE_KARMA_EXP_LOST = Float.parseFloat(pValue); Это вам поясняется что и куда добавлять в исходных файлах Изменено 21 сентября, 2014 пользователем Restore Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
wardeg 21 Опубликовано 21 сентября, 2014 Допустим пример: @@ -298,4 +298,11 @@ public static int RATE_DROP_MANOR; public static float RATE_DROP_QUEST; + public static boolean USE_PREMIUMSERVICE; + public static float PREMIUM_RATE_XP; + public static float PREMIUM_RATE_SP; + public static float PREMIUM_RATE_DROP_ADENA; + public static float PREMIUM_RATE_DROP_SPOIL; + public static float PREMIUM_RATE_DROP_ITEMS; + public static float PREMIUM_RATE_DROP_QUEST; public static float RATE_KARMA_EXP_LOST; public static float RATE_SIEGE_GUARDS_PRICE; @@ -350,4 +357,11 @@ RATE_DROP_MANOR = Integer.parseInt(ratesSettings.getProperty("RateDropManor", "1")); RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("RateDropQuest", "1.")); + USE_PREMIUMSERVICE = Boolean.parseBoolean(ratesSettings.getProperty("UsePremiumServices", "False")); + PREMIUM_RATE_XP = Float.parseFloat(ratesSettings.getProperty("PremiumRateXp", "2")); + PREMIUM_RATE_SP = Float.parseFloat(ratesSettings.getProperty("PremiumRateSp", "2")); + PREMIUM_RATE_DROP_ADENA = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropAdena", "2")); + PREMIUM_RATE_DROP_SPOIL = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropSpoil", "2")); + PREMIUM_RATE_DROP_ITEMS = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropItems", "2")); + PREMIUM_RATE_DROP_QUEST = Float.parseFloat(ratesSettings.getProperty("PremiumRateDropQuest", "2")); RATE_KARMA_EXP_LOST = Float.parseFloat(ratesSettings.getProperty("RateKarmaExpLost", "1.")); RATE_SIEGE_GUARDS_PRICE = Float.parseFloat(ratesSettings.getProperty("RateSiegeGuardsPrice", "1.")); @@ -2931,4 +2945,16 @@ - else if (pName.equalsIgnoreCase("RateDropQuest")) RATE_DROP_QUEST = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateXp")) + PREMIUM_RATE_XP = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateSp")) + PREMIUM_RATE_SP = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropAdena")) + PREMIUM_RATE_DROP_ADENA = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropSpoil")) + PREMIUM_RATE_DROP_SPOIL = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropItems")) + PREMIUM_RATE_DROP_ITEMS = Float.parseFloat(pValue); + else if (pName.equalsIgnoreCase("PremiumRateDropQuest")) + PREMIUM_RATE_DROP_QUEST = Float.parseFloat(pValue); else if (pName.equalsIgnoreCase("RateKarmaExpLost")) RATE_KARMA_EXP_LOST = Float.parseFloat(pValue); Это вам поясняется что и куда добавлять в исходных файлах Так а что куда кидать я та и не пойму(я тольо осваиваю создание серверов и многое не знаю) Прошу помоч мне Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты