Перейти к содержанию
Авторизация  
La2Bash

Публикую Баг С Никами (Пашет Походу На Всех Сборках).

Рекомендуемые сообщения

Уважаемые пользователи, всем привет.

Специально для вас публикую баг с никами (который пашет скорей всего на всех сборках).

 

В общем делаем следующее: открываем дон шоп, жмём сменить ник персонажа. В поле ввода ника нажимаем пробел и Ctrl+Backspace. После чего в поле ввода появляется квадратик. Делаем 2-3 таких квадратика и меняем на него ник. Проканало? Теперь пробуем писать в чат - не пишет. Баг не особо критичный, но его быть не должно. фикситься добавлением методов на разрешённые символы в дон шопе для смены ника. Такая же херня творится походу с названиями кланов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а как же 923 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите написать синтаксис к патерну (я не совсем разбираюсь в нём)

вывел в конфиги на фрозене проверку на дон ники (проверяет как при создании чара).

мне нужна проверка следующим способом:

вот допустим мои конфиги -

DonNameTemplate = [A-Za-z0-9-]{3,16}

DonClNameTemplate = [A-Za-z0-9-]{3,16}

мне нужно добавить к этим разрешенным символам следующие: ~!@#$%^&*()_+=[]{}|:.

тому кто поможет буду очень благодарен :)

 

кому надо вот мой класс L2DonateInstance (с уже добавленной проверкой на неправильность дон ника, пока не компилил и не тестил, но по идее должно работать), вам остаётся вывести DONCLANNAME_TEMPLATE и DONNAME_TEMPLATE в конфиги

 

 


package com.l2jfrozen.gameserver.model.actor.instance;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.StringTokenizer;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.cache.HtmCache;
import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager;
import com.l2jfrozen.gameserver.datatables.sql.CharNameTable;
import com.l2jfrozen.gameserver.datatables.sql.ClanTable;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.multisell.L2Multisell;
import com.l2jfrozen.gameserver.network.L2GameClient;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.network.serverpackets.UserInfo;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
import com.l2jfrozen.util.CloseUtil;
import com.l2jfrozen.util.database.L2DatabaseFactory;

/**
* This class ...
*
* @version $Revision: 1.10.4.9 $ $Date: 2005/04/11 10:06:08 $
*/
public class L2DonateInstance extends L2FolkInstance
{
//private static Logger _log = Logger.getLogger(L2ArteiaGoldMerchantInstance.class.getName());

private static int SETNAME = Config.COL_CHANGENAME;
private static int SETNAMECOLOR =Config.COL_NICKCOLOR;
private static int SETTITLECOLOR = Config.COL_TITLECOLOR;
private static int SETCLANNAME = Config.COL_CHANGECLANNAME;
private static int CLANLVL6 = Config.COL_6LVL_CLAN;
private static int CLANLVL7 = Config.COL_7LVL_CLAN;
private static int CLANLVL8 = Config.COL_8LVL_CLAN;
private static int NOBLESS = Config.COL_NOBLESSE;
private static int PREM1 = Config.COL_PREM1; // 1 день
private static int PREM2 = Config.COL_PREM2; // 1 неделя
private static int PREM3 = Config.COL_PREM3; // 1 месяц
private static int PREM4 = Config.COL_PREM4; // 3 месяца
private static int PREM5 = Config.COL_PREM5; // 6 месяцев
private static int PREM6 = Config.COL_PREM6; // 1 год
private static int SEX = Config.COL_SEX;
private static int PK = Config.COL_PK;
public static int CRP_ITEM_ID = Config.CRP_ITEM_ID;
public static int ITEM_ID = Config.DON_ITEM_ID;
String str = "";
/**
* @param template
*/
public L2DonateInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}

@Override
public String getHtmlPath(int npcId, int val)
{
String pom = "";
if (val == 0) pom = "" + npcId;
else pom = npcId + "-" + val;
return "data/html/donate/" + pom + ".htm";
}

@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
StringTokenizer st = new StringTokenizer(command, " ");
String actualCommand = st.nextToken(); // Get actual command
if (actualCommand.equalsIgnoreCase("Multisell"))
{
if (st.countTokens() < 1) return;
int val = Integer.parseInt(st.nextToken());
L2Multisell.getInstance().SeparateAndSend(val, player, false, getCastle().getTaxRate());
}
else if (actualCommand.equalsIgnoreCase("premadd1"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM1)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PREM1, player, false);
try
{

addPremiumServices(1, player.getAccountName());
}
catch (StringIndexOutOfBoundsException e)
{
player.sendMessage("Ошибка");
showServices(player);
}
MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
player.sendPacket(MSU);
player.broadcastPacket(MSU);
player.sendMessage("Вы получили премиум аккаунт на 1 день. Новое получение не добавляет время, а обновляет!");
player.store();
showServices(player);
}

else if (actualCommand.equalsIgnoreCase("premadd2"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM2)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PREM2, player, false);
try
{

addPremiumServices(7, player.getAccountName());
}
catch (StringIndexOutOfBoundsException e)
{
player.sendMessage("Ошибка, свяжитесь с администрацией");
showServices(player);
}
MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
player.sendPacket(MSU);
player.broadcastPacket(MSU);
player.sendMessage("Вы получили премиум аккаунт на 1 неделю. Новое получение не добавляет время, а обновляет!");
player.store();
showServices(player);
}
else if (actualCommand.equalsIgnoreCase("premadd3"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM3)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PREM3, player, false);
try
{
addPremiumServices(31, player.getAccountName());
}
catch (StringIndexOutOfBoundsException e)
{
player.sendMessage("Ошибка");
showServices(player);
}
MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
player.sendPacket(MSU);
player.broadcastPacket(MSU);
player.sendMessage("Вы получили премиум аккаунт на 1 месяц. Новое получение не добавляет время, а обновляет!");
player.store();
showServices(player);
}
else if (actualCommand.equalsIgnoreCase("premadd4"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM4)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PREM4, player, false);
try
{

addPremiumServices(93, player.getAccountName());
}
catch (StringIndexOutOfBoundsException e)
{
player.sendMessage("Ошибка");
showServices(player);
}
MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
player.sendPacket(MSU);
player.broadcastPacket(MSU);
player.sendMessage("Вы получили премиум аккаунт на 3 месяца. Новое получение не добавляет время, а обновляет!");
player.store();
showServices(player);
}
else if (actualCommand.equalsIgnoreCase("premadd5"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM5)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PREM5, player, false);
try
{
addPremiumServices(183, player.getAccountName());
}
catch (StringIndexOutOfBoundsException e)
{
player.sendMessage("Ошибка");
showServices(player);
}
MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
player.sendPacket(MSU);
player.broadcastPacket(MSU);
player.sendMessage("Вы получили премиум аккаунт на 6 месяцев. Новое получение не добавляет время, а обновляет!");
player.store();
showServices(player);
}
else if (actualCommand.equalsIgnoreCase("premadd6"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM6)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PREM6, player, false);
try
{
addPremiumServices(365, player.getAccountName());
}
catch (StringIndexOutOfBoundsException e)
{
player.sendMessage("Ошибка");
showServices(player);
}
MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
player.sendPacket(MSU);
player.broadcastPacket(MSU);
player.sendMessage("Вы получили премиум аккаунт на 1 год. Новое получение не добавляет время, а обновляет!");
player.store();
showServices(player);
}
else if (actualCommand.equalsIgnoreCase("Setname"))
{
if (st.countTokens() < 1) return;
String newname = st.nextToken();
if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAME)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
else if (!Config.DONNAME_TEMPLATE.matcher(newname).matches())
{
player.sendMessage("Это имя не может быть использовано.");
showServices(player);
return;
}
else if ((newname.length() < 3) || (newname.length() > 16))
{
player.sendMessage("Это имя не может быть использовано.");
showServices(player);
return;
}
else if (CharNameTable.getInstance().doesCharNameExist(newname))
{
player.sendMessage("Это имя уже занято.");
showServices(player);
return;
}
else if (player.isClanLeader())
{
player.sendMessage("Передайте клан на время смены ника другому игроку.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setname "+newname+" for "+player.getName(), ITEM_ID, SETNAME, player, player);
if (destritem != null)
{
L2World.getInstance().removeFromAllPlayers(player);
player.setName(newname);
player.store();
L2World.getInstance().addToAllPlayers(player);
player.sendMessage("Вы успешно сменили свое имя!");
player.setClan(player.getClan());
player.broadcastUserInfo();
RegionBBSManager.getInstance().changeCommunityBoard();
showServices(player);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}
else if (actualCommand.equalsIgnoreCase("Setnamecolor"))
{
if (st.countTokens() < 1) return;
String newcolor = st.nextToken();
int color = 0;
try
{
color = Integer.parseInt(newcolor);
}
catch (Exception e)
{
return;
}
newcolor = "";
switch (color)
{
case 1: newcolor = "FFFF00";
break;
case 2: newcolor = "000000";
break;
case 3: newcolor = "FF0000";
break;
case 4: newcolor = "FF00FF";
break;
case 5: newcolor = "808080";
break;
case 6: newcolor = "008000";
break;
case 7: newcolor = "00FF00";
break;
case 8: newcolor = "800000";
break;
case 9: newcolor = "008080";
break;
case 10: newcolor = "800080";
break;
case 11: newcolor = "808000";
break;
case 12: newcolor = "FFFFFF";
break;
case 13: newcolor = "00FFFF";
break;
case 14: newcolor = "C0C0C0";
break;
case 15: newcolor = "17A0D4";
break;
default:return;
}
if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAMECOLOR)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setnamecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETNAMECOLOR, player, player);
if (destritem != null)
{
player.sendMessage("Вы успешно изменили цвет имени!");
player.getAppearance().setNameColor(Integer.decode("0x"+newcolor));
player.broadcastUserInfo();
player.store();
showServices(player);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}
else if (actualCommand.equalsIgnoreCase("Settitlecolor"))
{
if (st.countTokens() < 1) return;
String newcolor = st.nextToken();
int color = 0;
try
{
color = Integer.parseInt(newcolor);
}
catch (Exception e)
{
return;
}
newcolor = "";
switch (color)
{
case 1: newcolor = "FFFF00";
break;
case 2: newcolor = "000000";
break;
case 3: newcolor = "FF0000";
break;
case 4: newcolor = "FF00FF";
break;
case 5: newcolor = "808080";
break;
case 6: newcolor = "008000";
break;
case 7: newcolor = "00FF00";
break;
case 8: newcolor = "800000";
break;
case 9: newcolor = "008080";
break;
case 10: newcolor = "800080";
break;
case 11: newcolor = "808000";
break;
case 12: newcolor = "FFFFFF";
break;
case 13: newcolor = "00FFFF";
break;
case 14: newcolor = "C0C0C0";
break;
case 15: newcolor = "17A0D4";
break;
default:return;
}
if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETTITLECOLOR)
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Settitlecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETTITLECOLOR, player, player);
if (destritem != null)
{
player.sendMessage("Вы успешно изменили цвет титула!");
player.getAppearance().setTitleColor(Integer.decode("0x"+newcolor));
player.broadcastUserInfo();
player.store();
showServices(player);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}
else if (actualCommand.equalsIgnoreCase("Setclanname"))
{
if (st.countTokens() < 1) return;
String newname = st.nextToken();
if (!player.isClanLeader())
{
player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
showServices(player);
return;
}
if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETCLANNAME)
{
player.sendMessage("Неправильное кол-во предметов.");
showServices(player);
return;
}
else if ((newname.length() < 3) || (newname.length() > 16))
{
player.sendMessage("Это имя не может быть использовано.");
showServices(player);
return;
}
else if (!Config.DONCLANNAME_TEMPLATE.matcher(newname).matches())
{
player.sendMessage("Это имя не может быть использовано.");
showServices(player);
return;
}
else if (ClanTable.getInstance().getClanByName(newname) != null)
{
player.sendMessage("Это имя уже занято.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanname "+newname+" for "+player.getName(), ITEM_ID, SETCLANNAME, player, player);
if (destritem != null)
{
player.getClan().setName(newname);
player.getClan().updateClanInDB();
player.getClan().broadcastClanStatus();
player.sendMessage("Вы успешно сменили имя клана!");
showServices(player);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel6"))
{
if (!player.isClanLeader())
{
player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
showServices(player);
return;
}
else if (player.getClan().getLevel() != 5)
{
player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 5");
showServices(player);
return;
}
else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL6)
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 6 for "+player.getName(), ITEM_ID, CLANLVL6, player, player);
if (destritem != null)
{
player.getClan().changeLevel(6);
player.sendMessage("Вы успешно повысили уровень клана!");
showServices(player);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}
else if (actualCommand.equalsIgnoreCase("Increaseclanlevel7"))
{
if (!player.isClanLeader())
{
player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
showServices(player);
return;
}
else if (player.getClan().getLevel() != 6)
{
player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 6");
showServices(player);
return;
}
else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL7)
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 7 for "+player.getName(), ITEM_ID, CLANLVL7, player, player);
if (destritem != null)
{
player.getClan().changeLevel(7);
player.sendMessage("Вы успешно повысили уровень клана!");
showServices(player);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}
else if (actualCommand.equalsIgnoreCase("Increaseclanlevel8"))
{
if (!player.isClanLeader())
{
player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
showServices(player);
return;
}
else if (player.getClan().getLevel() != 7)
{
player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 7");
showServices(player);
return;
}
else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL8)
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 8 for "+player.getName(), ITEM_ID, CLANLVL8, player, player);
if (destritem != null)
{
player.getClan().changeLevel(;
player.sendMessage("Вы успешно повысили уровень клана!");
showServices(player);

InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}


else if (actualCommand.equalsIgnoreCase("nobless"))
{

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < NOBLESS)
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
showServices(player);
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: NOBLESS for "+player.getName(), ITEM_ID, NOBLESS, player, player);
if (destritem != null)
{
if(player.isNoble())
{
player.sendMessage("Вы уже ноблесс");
showServices(player);
return;
}
player.sendMessage("Вы получили прохождения квестов для ноблесса! Поздравляем! Теперь Вы ноблесс!");
player.setNoble(true);
showServices(player);
player.addItem(" GoldMerchant: NOBLESS", 7694, 1, this, true);
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
showServices(player);
}
}

else if (actualCommand.equalsIgnoreCase("sex"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < SEX)
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, SEX, player, false);
player.getAppearance().setSex(player.getAppearance().getSex() ? false : true);
player.decayMe();
player.spawnMe(player.getX(), player.getY(), player.getZ());
player.broadcastUserInfo();
L2PcInstance.setSexDB(player, 1);
player.sendMessage("Вы успешно сменили свой пол.");
showServices(player);
}

else if (actualCommand.equalsIgnoreCase("pk"))
{
if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= PK)
{
int inipkKills = player.getPkKills();
if(inipkKills == 0)
{
player.sendMessage("У вас нет PK");
showServices(player);
return;
}
player.destroyItemByItemId("Consume", ITEM_ID, PK, player, false);
player.setPkKills(0);
if (player.getKarma()>0)
{
player.setKarma(0);
}
player.sendPacket(new UserInfo(player));
player.sendMessage("Ваш счетчик PK обнулен");
showServices(player);
}
else
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");
showServices(player);
}
}

else if(actualCommand.startsWith("crp"))
{

if (player.getClan() != null && (player.getObjectId() == player.getClan().getLeaderId()))
{
if(player.getInventory().getItemByItemId(CRP_ITEM_ID) != null && player.getInventory().getItemByItemId(CRP_ITEM_ID).getCount() >= Config.COL_CRP)
{

player.getClan().setReputationScore(player.getClan().getReputationScore()+Config.CRP_COUNT, true);
player.sendMessage("Ваш клан получил "+Config.CRP_COUNT+" очков репутации! Сделайте релог");
player.destroyItemByItemId("Consume", CRP_ITEM_ID, Config.COL_CRP, player, false);
showServices(player);
}
else
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");
showServices(player);
}
}
else
{
player.sendMessage("Вы не являетесь лидером клана");
showServices(player);
}
}
else
{
// this class dont know any other commands, let forward
// the command to the parent class
super.onBypassFeedback(player, command);
}
}

/*@Override
public void onActionShift(L2GameClient client)
{
L2PcInstance player = client.getActiveChar();
if (player == null) return;
player.sendPacket(new ActionFailed());
}*/
public void showServices(L2PcInstance activeChar)
{
NpcHtmlMessage html = new NpcHtmlMessage(1);
String file = "data/html/donate/"+getNpcId()+".htm";
html.setFile(file);
sendHtmlMessage(activeChar,html);
activeChar.sendPacket(new ActionFailed());
html.replace("%crpcount%", str+Config.CRP_COUNT);
html.replace("%colcount%", str+Config.COL_CRP);
html.replace("%5-6%", str+Config.COL_6LVL_CLAN);
html.replace("%6-7%", str+Config.COL_7LVL_CLAN);
html.replace("%7-8%", str+Config.COL_8LVL_CLAN);
html.replace("%namechange%", str+Config.COL_CHANGENAME);
html.replace("%namecolor%", str+Config.COL_NICKCOLOR);
html.replace("%titlecolor%", str+Config.COL_TITLECOLOR);
html.replace("%pk%", str+Config.COL_PK);
html.replace("%sex%", str+Config.COL_SEX);
html.replace("%nooble%", str+Config.COL_NOBLESSE);
html.replace("%prem1%", str+Config.COL_PREM1); // 1 день
html.replace("%prem2%", str+Config.COL_PREM2); // 1 неделя
html.replace("%prem3%", str+Config.COL_PREM3); // 1 месяц
html.replace("%prem4%", str+Config.COL_PREM4); // 3 месяца
html.replace("%prem5%", str+Config.COL_PREM5); // 6 месяцев
html.replace("%prem6%", str+Config.COL_PREM6); // 1 год
}
private void sendHtmlMessage(L2PcInstance player, NpcHtmlMessage html)
{
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%npcId%", String.valueOf(getNpcId()));
player.sendPacket(html);
}

public static void addPremiumServices(int Day, String AccName)
{
Connection con = null;
try
{
Calendar finishtime = Calendar.getInstance();
finishtime.setTimeInMillis(System.currentTimeMillis());
finishtime.set(Calendar.SECOND, 0);
finishtime.add(Calendar.DAY_OF_MONTH, Day);

con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement = con.prepareStatement("UPDATE account_premium SET premium_service=?,enddate=? WHERE account_name=?");
statement.setInt(1, 1);
statement.setLong(2, finishtime.getTimeInMillis());
statement.setString(3, AccName);
statement.execute();
statement.close();
}
catch (SQLException e)
{
if(Config.ENABLE_ALL_EXCEPTIONS)
e.printStackTrace();

_log.warning("PremiumService: Could not increase data");
}
finally
{
CloseUtil.close(con);
con = null;
}
}
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот так вот, помогай потом после этого людям.

держите, мб кому то понадобится:

 

DonNameTemplate = [A-Za-z0-9\\-\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\=\\[\\]\\{\\}\\|\\:\\.]{3,16}

DonClNameTemplate = [A-Za-z0-9\\-\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\=\\[\\]\\{\\}\\|\\:\\.]{3,16}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На ПВСОФТ есть сразу проверка в скрипте на запрещенные ники.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Баг был проверен только на фрозенах?Если да то буду проверять на остальных сборках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

баг есть везде где нет проверки на то что пишет игрок когда меняет имя)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

баг есть везде где нет проверки на то что пишет игрок когда меняет имя)

Хз, в скрипте ПВшки там проверка того что пишут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...