Сообщений: 5
Тем: 3
Зарегистрирован: Aug 2014
Репутация:
-18
Добрый вечер, дело такое есть сервер (l2jfrozen interlude) на нём у меня установлен премиум менеджер все отлично работает но дело в том что только мне стоит установить другое количество дней и он перестает работать вот конфиг #======================= RU ======================
# Стоимость премиум аккаунта
# (кол-во дней,цена;кол-во дней, цена)
#======================= EN ======================
# Price of premium account status
# Ex: days,price;days,price;days,price
SmPremiumPrice = 3,9;7,20;14,35;21,55;31,80
Делал не я по этому не знаю в каком файле можно изменить числа дней
открывал config.java настройки есть но дней там нету в бд тоже не чего не нашёл подскажите пожалуйста в каком файле обычно прописываются эти настройки буду очень благодарен.
Сообщений: 566
Тем: 6
Зарегистрирован: Feb 2010
Репутация:
4,513
# Стоимость премиум аккаунта
# (кол-во дней,цена;кол-во дней,цена)
#======================= EN ======================
# Price of premium account status
# Ex: days,price;days,price;days,price
SmPremiumPrice = 3,9;7,20;14,35;21,55;31,80
Сообщений: 5
Тем: 3
Зарегистрирован: Aug 2014
Репутация:
-18
я что-то не совсем понял, где цена и дни я и так знаю дело в другом допустим я меняю вместо 3,9 на 1,9 и уже работать не будет.
Сообщений: 3,354
Тем: 97
Зарегистрирован: Aug 2011
Репутация:
9,445
Кто вам сказал и как вы это проверили что работать не будет?
Проверяйте исходник данного функционала, может быть и так что там стоит фиксированное время, а не $day который подхватывается из конфигов.
Сообщений: 5
Тем: 3
Зарегистрирован: Aug 2014
Репутация:
-18
09-13-2014, 01:34 PM
(Сообщение последний раз редактировалось: 09-13-2014, 01:50 PM RekpyT.)
package com.l2jfrozen.gameserver.handler.admincommandhandlers;
Вот открыл сам скрипт с настройками скажите пожалуйста где тут изменить время ?
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.datatables.GmListTable;
import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
import com.l2jfrozen.gameserver.model.L2Object;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.entity.Announcements;
import com.l2jfrozen.gameserver.network.serverpackets.SocialAction;
import com.l2jfrozen.util.CloseUtil;
import com.l2jfrozen.util.database.L2DatabaseFactory;
public class AdminDonator implements IAdminCommandHandler
{
private static String[] ADMIN_COMMANDS =
{
"admin_setdonator"
};
protected static final Logger _log = Logger.getLogger(AdminDonator.class.getName());
@Override
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
/*
if(!AdminCommandAccessRights.getInstance().hasAccess(command, activeChar.getAccessLevel())){
return false;
}
if(Config.GMAUDIT)
{
Logger _logAudit = Logger.getLogger("gmaudit");
LogRecord record = new LogRecord(Level.INFO, command);
record.setParameters(new Object[]
{
"GM: " + activeChar.getName(), " to target [" + activeChar.getTarget() + "] "
});
_logAudit.log(record);
}
*/
if(activeChar == null)
return false;
if(command.startsWith("admin_setdonator"))
{
L2Object target = activeChar.getTarget();
if(target instanceof L2PcInstance)
{
L2PcInstance targetPlayer = (L2PcInstance) target;
boolean newDonator = !targetPlayer.isDonator();
if(newDonator)
{
targetPlayer.setDonator(true);
targetPlayer.updateNameTitleColor();
updateDatabase(targetPlayer, true);
sendMessages(true, targetPlayer, activeChar, false, true);
targetPlayer.broadcastPacket(new SocialAction(targetPlayer.getObjectId(), 16));
targetPlayer.broadcastUserInfo();
}
else
{
targetPlayer.setDonator(false);
targetPlayer.updateNameTitleColor();
updateDatabase(targetPlayer, false);
sendMessages(false, targetPlayer, activeChar, false, true);
targetPlayer.broadcastUserInfo();
}
targetPlayer = null;
}
else
{
activeChar.sendMessage("Impossible to set a non Player Target as Donator.");
_log.info("GM: " + activeChar.getName() + " is trying to set a non Player Target as Donator.");
return false;
}
target = null;
}
return true;
}
private void sendMessages(boolean forNewDonator, L2PcInstance player, L2PcInstance gm, boolean announce, boolean notifyGmList)
{
if(forNewDonator)
{
player.sendMessage(gm.getName() + " has granted Donator Status for you!");
gm.sendMessage("You've granted Donator Status for " + player.getName());
if(announce)
{
Announcements.getInstance().announceToAll(player.getName() + " has received Donator Status!");
}
if(notifyGmList)
{
GmListTable.broadcastMessageToGMs("Warn: " + gm.getName() + " has set " + player.getName() + " as Donator !");
}
}
else
{
player.sendMessage(gm.getName() + " has revoked Donator Status from you!");
gm.sendMessage("You've revoked Donator Status from " + player.getName());
if(announce)
{
Announcements.getInstance().announceToAll(player.getName() + " has lost Donator Status!");
}
if(notifyGmList)
{
GmListTable.broadcastMessageToGMs("Warn: " + gm.getName() + " has removed Donator Status of player" + player.getName());
}
}
}
/**
* @param player
* @param newDonator
*/
private void updateDatabase(L2PcInstance player, boolean newDonator)
{
Connection con = null;
try
{
// prevents any NPE.
// ----------------
if(player == null)
return;
// Database Connection
//--------------------------------
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement stmt = con.prepareStatement(newDonator ? INSERT_DATA : DEL_DATA);
// if it is a new donator insert proper data
// --------------------------------------------
if(newDonator)
{
stmt.setInt(1, player.getObjectId());
stmt.setString(2, player.getName());
stmt.setInt(3, player.isHero() ? 1 : 0);
stmt.setInt(4, player.isNoble() ? 1 : 0);
stmt.setInt(5, 1);
stmt.execute();
stmt.close();
stmt = null;
}
else
// deletes from database
{
stmt.setInt(1, player.getObjectId());
stmt.execute();
stmt.close();
stmt = null;
}
}
catch(Exception e)
{
if(Config.ENABLE_ALL_EXCEPTIONS)
e.printStackTrace();
_log.log(Level.SEVERE, "Error: could not update database: ", e);
}
finally
{
CloseUtil.close(con);
}
}
// Updates That Will be Executed by MySQL
// ----------------------------------------
String INSERT_DATA = "REPLACE INTO characters_custom_data (obj_Id, char_name, hero, noble, donator) VALUES (?,?,?,?,?)";
String DEL_DATA = "UPDATE characters_custom_data SET donator = 0 WHERE obj_Id=?";
/**
* @return
*/
@Override
public String[] getAdminCommandList()
{
return ADMIN_COMMANDS;
}
}
и вот еще
SM_PREMIUM = new HashMap();
propertySplit = SERVICEMANAGER.getProperty("SmPremiumPrice", "").split(";");
for (String data : propertySplit)
{
String[] dataSplit = data.split(",");
if (dataSplit.length != 2)
{
_log.warning("[SmPremiumPrice]: invalid config property -> SmPremiumPrice \"" + data + "\"");
}
else
{
try
{
SM_PREMIUM.put(Integer.parseInt(dataSplit[0]), Integer.parseInt(dataSplit[1]));
}
catch (NumberFormatException nfe)
{
if (!data.equals(""))
{
_log.warning("[SmPremiumPrice]: invalid config property -> SmPremiumPrice \"" + dataSplit[0] + "\"" + dataSplit[1]);
}
}
}
}
Добавлено через 16 минут
и вот еще кусочек кода long premiumTime = 0L;
if (cmd.length > 0) {
try {
premiumTime = Integer.parseInt(cmd[1]) * 24L * 60L * 60L * 1000L;
} catch (NumberFormatException nfe) {
}
} else {
return;
}
if (player.isDonator()) {
player.sendMessage(Config.SM_LANG_PREMIUM_ALWAYS_HAVE);
return;
}
int days = Integer.parseInt(cmd[1]);
if (Config.SM_PREMIUM.get(Integer.valueOf(days)) == null) {
player.sendMessage(Config.SM_LANG_UNKNOWN_EXCEPTION_HAPPEND);
return;
}
int endPrice = ((Integer) Config.SM_PREMIUM.get(Integer.valueOf(days))).intValue();
if (!player.destroyItemByItemId("Premium" + days, Config.SM_ITEM_ID, endPrice, player.getLastFolkNPC(), true)) {
return;
}
player.setDonator(true);
player.updateNameTitleColor();
player.sendMessage(Config.SM_LANG_PREMIUM_TAKED_DAYS.replace("%days%", String.valueOf(days)));
updateDatabasePremium(player, premiumTime);
player.broadcastPacket(new SocialAction(player.getObjectId(), 16));
player.broadcastUserInfo();
return;
}
}
}
Сообщений: 1,240
Тем: 29
Зарегистрирован: May 2013
Репутация:
2,505
Вам в раздел Рынок.
Родился, живу и когда-нибудь умру.
|