Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Бьет по кд ошибку в гейме
#1
Текст ошибки:
Код:
[20:33:27]: ERROR CharacterDao: Could not insert char data player: [NickName (1843), wh: 896, invent: 896]
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'NickName' for key 'CHAR_NAME'
    at sun.reflect.GeneratedConstructorAccessor73.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2825)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2441)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2366)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2350)
    at com.zaxxer.hikari.proxy.PreparedStatementJavassistProxy.executeUpdate(PreparedStatementJavassistProxy.java)
    at ru.catssoftware.gameserver.datatables.dao.CharacterDao.insert(CharacterDao.java:322)
    at ru.catssoftware.gameserver.instancemanager.PlayerEnteringManager.create(PlayerEnteringManager.java:75)
    at ru.catssoftware.gameserver.network.clientpackets.CharacterCreate.runImpl(CharacterCreate.java:98)
    at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:69)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Я понимаю что какая-то проблема в создание и проверки ника. Но как ее устранить. Сборка: Люцера.
Ответ
#2
Walker, при каких обстоятельствах в лог бросает эту ошибку? Используете сервис смены ника или что-то подобное?
Fortuna - non penis, in manus non recipe.
Ответ
#3
Ashe Написал:Walker, при каких обстоятельствах в лог бросает эту ошибку? Используете сервис смены ника или что-то подобное?
Решил донат шоп на старт поставить, ну а там скрипты. Скорей всего большой поток людей бедняга не выдержал. Написан на яве.
Ответ
#4
Цитата:при каких обстоятельствах в лог бросает эту ошибку?
Цитата:CharacterCreate.runImpl(CharacterCreate.java:98)

Скорей всего в CharNameTable данные на ник отсутствуют, по факту же в БД есть. Ну а при создании чара в памяти такого ника не обнаруживается и это даёт зеленый свет на выполнение запроса.

Цитата:ну а там скрипты
Какие скрипты? Вас Ashe спросил про смену ников. Если есть такое - проблему надо искать только там.
Ответ
#5
Держи, тут работает.
code
html'ки сам напишешь Smile
Ответ
#6
desolator Написал:Держи, тут работает.
code
html'ки сам напишешь Smile
Такой же скрипт донат шопа стоит.
Ответ
#7
Walker Написал:Такой же скрипт донат шопа стоит.
Хм, странно у меня работал без проблем.
Попробуй этот:
asd
Только там не совсем корректно работает проверка на символы в нике. Да и сам код - такое..
Ответ
#8
Walker, У Вас пытаются ввести ник который уже занят, значит напишите проверку и вывод в html * Этот ник уже занят, выберите другой*

[20:33:27]: ERROR CharacterDao: Could not insert char data player: [NickName (1843), wh:896, invent: 896]
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'NickName' for key 'CHAR_NAME'
СЕО Оптимизация сайтов
Ответ
#9
gorodetskiy Написал:Walker, У Вас пытаются ввести ник который уже занят, значит напишите проверку и вывод в html * Этот ник уже занят, выберите другой*
Он юзал этот скрипт:
Код:
package custom.servicem;

import java.io.File;
import java.io.FileReader;
import java.io.LineNumberReader;
import java.util.HashMap;
import java.util.Map;

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.PreparedStatement;

import ru.catssoftware.gameserver.network.SystemChatChannelId;
import ru.catssoftware.gameserver.network.serverpackets.CreatureSay;
import ru.catssoftware.gameserver.datatables.CharNameTable;
import ru.catssoftware.gameserver.datatables.ItemTable;
import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;
import ru.catssoftware.gameserver.handler.VoicedCommandHandler;
import ru.catssoftware.gameserver.datatables.SkillTable;
import ru.catssoftware.gameserver.network.serverpackets.PledgeSkillList;
import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.quest.Quest;
import ru.catssoftware.gameserver.model.quest.QuestState;
import ru.catssoftware.gameserver.util.PcAction;

import ru.catssoftware.gameserver.model.itemcontainer.Inventory;
import ru.catssoftware.sql.DatabaseFactory;
import ru.catssoftware.gameserver.model.L2ItemInstance;

public class ServiceManager extends Quest {
    
    private static String qn = "ServiceManager";
    private final static int ID_NPC_MANAGER = 300300; // ID Менеджера (NPC)
    private static class Price {
        private int []_itemId;
        private int []_prices;
        public Price(int []items, int[]count) {
            _itemId = items;
            _prices = count;
        }
    }
    
    /**
     * Настройки смены ника:
     */
    int priceChangeNameId = 12117;
    int priceChangeNameCount = 15;
    
    /**
     * Настройки смены цвета ника:
     */    
    int priceChangeColorNameId = 12117;
    int priceChangeColorNameCount = 15;

    /**
     * Настройки добавления аугментации (так на всякие):
     */    
    int priceItemIdAugment = 57;
    int priceItemCountAugment = 40;
    int attributes;
    int skill;
    int level;

    /**
     * Настройка цен в управление кланом:
     */    
    int ItemIdClan = 12117;
    int ClanLevel6 = 5;
    int ClanLevel7 = 10;
    int ClanLevel8 = 15;
    int ClanCrpPrice = 5;
    int ClanCrpCount = 12117;
    int ClanSkillsCount = 15;
    String str = "";

    private static Map<Integer, Price> _premiumPrice = new HashMap<Integer, Price>();

    private static Map<Integer, Price> _heroPrice = new HashMap<Integer, Price>();

    private static Price _NoblesPrice = new Price(new int[] {12117}, new int [] {15});
    
    private String colorTable = "<html><body><br>Смена цвета: <font color=74bff5>"+priceChangeColorNameCount+" "+(ItemTable.getInstance().getItemName(priceChangeColorNameId))+"</font><br><center>";
    public ServiceManager() {
        super(-1,qn,"custom");
        // ================= Настройка премиума ========
        _premiumPrice.put(1,new Price(new int[] {12117},new int[] {3}));
        _premiumPrice.put(7,new Price(new int[] {12117},new int[] {10}));
        _premiumPrice.put(31,new Price(new int[] {12117},new int[] {25}));
        

        // ================ Настройка выдачи геройства ===============
        _heroPrice.put(1, new Price(new int[] {12117},new int[] {3}));
        _heroPrice.put(7, new Price(new int[] {12117},new int[] {15}));
        _heroPrice.put(31, new Price(new int[] {12117},new int[] {25}));
        
        // ================ Список цветов ника и титула ===============
        /* _colorPrice.put(1, new ColorId(new int[] {FFFF00},new int[] {голубым}));
        _colorPrice.put(2, new ColorId(new int[] {000000},new int[] {черным}));
        _colorPrice.put(3, new ColorId(new int[] {FF0000},new int[] {синим}));
        _colorPrice.put(4, new ColorId(new int[] {FF00FF},new int[] {розовым}));
        _colorPrice.put(5, new ColorId(new int[] {808080},new int[] {серым}));
        _colorPrice.put(6, new ColorId(new int[] {008000},new int[] {зеленым}));
        _colorPrice.put(7, new ColorId(new int[] {00FF00},new int[] {лаймовым}));
        _colorPrice.put(8, new ColorId(new int[] {800000},new int[] {темно-синим}));
        _colorPrice.put(9, new ColorId(new int[] {008080},new int[] {оливковым}));
        _colorPrice.put(10, new ColorId(new int[] {800080},new int[] {пурпурным}));
        _colorPrice.put(11, new ColorId(new int[] {808000},new int[] {сине-зелёным}));
        _colorPrice.put(12, new ColorId(new int[] {FFFFFF},new int[] {белым}));
        _colorPrice.put(13, new ColorId(new int[] {00FFFF},new int[] {желтым}));
        _colorPrice.put(14, new ColorId(new int[] {C0C0C0},new int[] {серебряным}));
        _colorPrice.put(15, new ColorId(new int[] {17A0D4},new int[] {золотым}));
        */
        
        // Таблица цветов из colors.table
        File f = new File(getScriptFile());
        try {
            LineNumberReader lnr = new LineNumberReader(new FileReader(f.getParent()+"/colors.table"));
            String line;
            while((line=lnr.readLine())!=null) {
                String []colors = line.split("\t");
                for(int i=0;i<colors.length;i++)
                    colorTable+="<a action=\"bypass -h Quest "+qn+" colorname "+colors[i]+"\"><font color=\""+colors[i]+"\">%name%</font></a>&nbsp;-&nbsp;<a action=\"bypass -h Quest "+qn+" colortitle "+colors[i]+"\"><font color=\""+colors[i]+"\">Выбрать цвет титула</font></a><br>";
            }
        } catch(Exception e) {
            System.out.println("Error reading "+f.getParent()+"/colors.table");
        }
    }
    
    public void criticalTo(L2PcInstance player, String text)
    {
        CreatureSay cs = new CreatureSay(0, SystemChatChannelId.Chat_Critical_Announce, "", text);
        player.sendPacket(cs);
    }
    private void updateAugment(L2PcInstance player, int attributes, int skill, int level) {
        L2ItemInstance item = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
        if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null)
        {
            criticalTo(player, "Вы должны одеть оружие.");
        }
        else if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isAugmented())
        {
            criticalTo(player, "В оружие уже присутствует аугументация.");
        }
        else if (!checkMoney(player, priceItemIdAugment, priceItemCountAugment, true))
        {
            criticalTo(player, "У Вас недостаточно денег.");
        }
        else
        {
            try
            {
            Connection con = DatabaseFactory.getInstance().getConnection();
            PreparedStatement stm = con.prepareStatement("REPLACE INTO item_attributes VALUES(?,?,?,?)");
            stm.setInt(1, item.getObjectId());
            stm.setInt(2, attributes*65536+1);
            stm.setInt(3, skill);
            stm.setInt(4, level);
            stm.execute();
            criticalTo(player, "Аугументация прошла успешно. Вам нужно перезайти.");
            stm.close();
            }
            catch (SQLException e)
            {
                _log.error("error creating augment shop data table ", e);
            }
        }
    }
    private boolean checkMoney(L2PcInstance player, Price price) {
        for(int i=0;i<price._itemId.length;i++) // Проверяем средства
            if(player.getInventory().getItemByItemId(price._itemId[i])==null ||
               player.getInventory().getItemByItemId(price._itemId[i]).getCount() < price._prices[i]) {
                return false; // Нет денег? Сории
            }
        for(int i=0;i<price._itemId.length;i++) // Отнимаем средства у населения
            if(!player.destroyItemByItemId(qn, price._itemId[i], price._prices[i], null, true)) {
                return false;
            }
        return true;
    }
    
    private boolean checkMoney(L2PcInstance player, int itemId, int count, boolean destroy)
    {
        if(player.getInventory().getItemByItemId(itemId)==null || player.getInventory().getItemByItemId(itemId).getCount() < count)
            return false; // Нет денег? Сории
    
        if(destroy && !player.destroyItemByItemId(qn, itemId, count, null, true))
            return false;
        
        return true;
    }
            
    @Override
    public String onAdvEvent(String event, L2NpcInstance npc, L2PcInstance player) {
    
        String []args = event.split(" "); // Разбираем строку параметров
        if(args[0].equals("premiumlist")) { // Формируем список доступных дней премиума
            String html = "<html><body><br><center>Покупка VIP Бафф:<br></center><center>";
            for(int days : _premiumPrice.keySet()) {
                html+="<a action=\"bypass -h Quest "+qn+" premium "+days+"\">На "+days+" дней</a> -";
                Price price = _premiumPrice.get(days);
                for(int i=0;i<price._itemId.length;i++) { // Формируем список стоимости
                    if(i!=0) // Добавляем ,
                        html+=",";
                    html+=price._prices[i]+" "+ItemTable.getInstance().getTemplate(price._itemId[i]).getName();
                }

            }
            html+="</center></body></html>";
            return html;
        }
        else if(args[0].equals("herolist")) { // Список достпуного геройства, аналогично премиуму
            String html = "<html><body><br>Покупка Геройства:<br><center>";
            for(int days : _heroPrice.keySet()) {
                html+="<a action=\"bypass -h Quest "+qn+" hero "+days+"\">На "+days+" дней</a> -";
                Price price = _heroPrice.get(days);
                for(int i=0;i<price._itemId.length;i++) { // Формируем список стоимости
                    if(i!=0) // Добавляем ,
                        html+=",";
                    html+=price._prices[i]+" "+ItemTable.getInstance().getTemplate(price._itemId[i]).getName();
                }

            }
            html+="</center></body></html>";
            return html;
        }
        
        else if(args[0].equals("premium")) { // Выдаем премиум
            if(player.getPremiumService()!=0) // Проверяем а не премимум ли чар?
                return "already-premium.htm";
            int numDays = Integer.parseInt(args[1]); // В Java массивы нумеруются с 0
            Price price = _premiumPrice.get(numDays); // Ищем цену в списке цен
            if(price==null) // Не нашли. Что-то тут не то...
                return "invalid-param.htm";
            if(!checkMoney(player,price)) // Проверяем деньги
                return "no-money.htm";

            PcAction.addPremiumServices(player, numDays, player.getAccountName()); // Выдаем премиум
            // Показываем .premium меню
            IVoicedCommandHandler premium = VoicedCommandHandler.getInstance().getVoicedCommandHandler("premium");
            if(premium!=null)
                premium.useVoicedCommand("premium", player, null);
            else
                return "success.htm";
        }
        else if(args[0].equals("noblese")) {  // Дворянство
            if(player.isNoble()) // Игрок уже нубл
                return "already-noble.htm";
            if(!checkMoney(player, _NoblesPrice)) // Проверяем Деньги
                return "Nobless.htm";
            player.setNoble(true); // Даем нубла
            return "success.htm";
        }
        else if(args[0].equals("hero"))   { // Геройство
            if(player.isHero())
                return "already-hero.htm";
            int numDays = Integer.parseInt(args[1]);
            Price price = _heroPrice.get(numDays); // Ищем цену в списке цен
            if(price==null) // Не нашли. Что-то тут не то...
                return "invalid-param.htm";
            if(!checkMoney(player, price)) // Проверяем Деньги
                return "no-money.htm";
            PcAction.addHeroStatus(player, numDays); // Даем героя России.
            return "success.htm";
        }
        else if(args[0].equals("colorname"))   {
            String colorsid = args[1];
            if (!checkMoney(player, priceChangeColorNameId, priceChangeColorNameCount, true))
            {
                criticalTo(player, "У Вас не хватает денег!");
            }
            else
            {
                player.getAppearance().setNameColor(colorsid);
                player.store();
                player.broadcastUserInfo();
                criticalTo(player, "Вы успешно сменили цвет ника!");
            }
        }
        else if(args[0].equals("colortitle"))   {
            String colorsid = args[1];
            if (!checkMoney(player, priceChangeColorNameId, priceChangeColorNameCount, true))
            {
                criticalTo(player, "У Вас не хватает денег!");
            }
            else
            {
                player.getAppearance().setTitleColor(colorsid);
                player.store();
                player.broadcastUserInfo();
                criticalTo(player, "Вы успешно сменили цвет титула!");
            }
        }
        else if(args[0].equals("augment"))   {
            updateAugment(player, Integer.parseInt(args[1].substring(0,5)), Integer.parseInt(args[1].substring(6,10)), Integer.parseInt(args[1].substring(11,13)));
        }
        else if(args[0].equals("clanlevel6"))   {
            if (!player.isClanLeader())
            {
                return "noKL.htm";
            }
            else if (player.getClan().getLevel() != 5)
            {
                return "nolvl5.htm";
            }
            else if (!checkMoney(player, ItemIdClan, ClanLevel6, true))
            {
                return "no-money.htm";
            }
            else
            {
                player.getClan().changeLevel(6);
                player.store();
                player.broadcastUserInfo();
                return "lvlup6.htm";
            }
        }
        else if(args[0].equals("clanlevel7"))   {
            if (!player.isClanLeader())
            {
                return "noKL.htm";
            }
            else if (player.getClan().getLevel() != 5)
            {
                return "nolvl6.htm";
            }
            else if (!checkMoney(player, ItemIdClan, ClanLevel7, true))
            {
                return "no-money.htm";
            }
            else
            {
                player.getClan().changeLevel(7);
                player.store();
                player.broadcastUserInfo();
                return "lvlup7.htm";
            }
        }
        else if(args[0].equals("clanlevel8"))   {
            if (!player.isClanLeader())
            {
                return "noKL.htm";
            }
            else if (player.getClan().getLevel() != 5)
            {
                return "nolvl7.htm";
            }
            else if (!checkMoney(player, ItemIdClan, ClanLevel8, true))
            {
                return "no-money.htm";
            }
            else
            {
                player.getClan().changeLevel(8);
                player.store();
                player.broadcastUserInfo();
                return "lvlup8.htm";
            }
        }
        else if(args[0].equals("clanrepa"))   {
            if (!player.isClanLeader())
            {
                return "noKL.htm";
            }
            else if (!checkMoney(player, ItemIdClan, ClanCrpPrice, true))
            {
                return "no-money.htm";
            }
            else
            {
                player.getClan().setReputationScore(player.getClan().getReputationScore()+ClanCrpCount, true);
                  return "uprep.htm";
            }
        }
        else if(args[0].equals("clanskills"))   {
            if (!player.isClanLeader())
            {
                return "noKL.htm";
            }
            else if (player.getClan().getLevel() != 8)
            {
                return "nolvl8.htm";
            }
            else if (!checkMoney(player, ItemIdClan, ClanSkillsCount, true))
            {
                return "no-money.htm";
            }
            else
            {
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(370,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(371,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(372,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(373,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(374,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(375,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(376,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(377,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(378,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(379,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(380,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(381,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(382,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(383,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(384,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(385,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(386,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(387,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(388,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(389,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(390,3));
                player.getClan().addNewSkill(SkillTable.getInstance().getInfo(391,1));
                player.getClan().addSkillEffects(true);
                player.getClan().broadcastToOnlineMembers(new PledgeSkillList(player.getClan()));
            {
                return "upskils.htm";
            }
            }
        }
        else if(args[0].startsWith("changeName"))
        {
            String htmltext;
            
            if (args.length==1 || args.length>2)
            {
                    htmltext = "<html><body>Смена имени: <font color=74bff5>"+priceChangeNameCount+" "+(ItemTable.getInstance().getItemName(priceChangeNameId))+"</font>";
                    htmltext += "<center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2></center><br1>";      
                    htmltext += "<center>Введите желаемое имя:</center>";
                    htmltext += "<center><edit var=\"nick\" width=200 length=\"16\"><br></center>";
                    htmltext += "<center><button value=\"Изменить\" action=\"bypass -h Quest "+ qn +" changeName $nick\" width=120 height=21 back=\"epicfdarkelf.FDarkElf_m004_t1004_u_sp\" fore=\"epicfdarkelf.FDarkElf_m004_t1004_u_ori\"><br></center>";
                    htmltext += "<center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></center></body></html>";
                    return htmltext;
            }
            else if (args.length==2)
            {
                String name = args[1];
                if (!name.matches("[a-zA-Z0-9!%:*~><.#@?()_+-@\\[\\]^]{3,16}") || name.contains("ADM") || name.contains("GM"))
                {
                    return "false.htm";
                }
                else if (CharNameTable.getInstance().getByName(name) != null)
                {
                    return "name-false.htm";    
                }
                else if (player.getClanId()!=0)
                {
                    return "name-clan.htm";
                }
                else if (!checkMoney(player, priceChangeNameId, priceChangeNameCount, true))
                {
                    return "no-money.htm";
                }
                else
                {
                    player.setName(name);
                    player.changeName(name);
                    player.store();
                    player.broadcastUserInfo();
                    return "success.htm";
                }
            }

        }
        else if(args[0].equals("colorlist"))
        {    
            colorTable = "<tr><td>"+colorTable+"</td></tr>";
            colorTable += "<center></body></html>";
            return colorTable;
        }
        else if(args[0].equals("clanlist"))
        {    
            String html = "clanlist.htm";
            return html;
        }
        else if(args[0].equals("active"))
        {    
            String htmltext = "active.htm";

            return htmltext;
        }
        else if(args[0].equals("passive"))
        {    
            String htmltext = "passive.htm";
            return htmltext;
        }
        else if(args[0].equals("chance"))
        {    
            String htmltext = "chance.htm";
            return htmltext;
            }
        else if(args[0].equals("hello"))
        {    
            String htmltext = "hello.htm";
            return htmltext;
           }
        else if(args[0].equals("service"))
        {    
            String htmltext = "service.htm";
            return htmltext;
        }
        else if(args[0].equals("Noblessmain"))
        {    
            String htmltext = "Noblessmain.htm";
            return htmltext;
        }
            else if(args[0].equals("false"))
        {    
            String htmltext = "false.htm";
            return htmltext;
        }
            else if(args[0].equals("name-false"))
        {    
            String htmltext = "name-false.htm";
            return htmltext;
        }
            else if(args[0].equals("name-clan"))
        {    
            String htmltext = "name-clan.htm";
            return htmltext;
        }
            else if(args[0].equals("noKL"))
        {    
            String htmltext = "noKL.htm";
            return htmltext;
        }
            else if(args[0].equals("nolvl5"))
        {    
            String htmltext = "nolvl5.htm";
            return htmltext;
        }
            else if(args[0].equals("lvlup6"))
        {    
            String htmltext = "lvlup6.htm";
            return htmltext;
        }
            else if(args[0].equals("nolvl6"))
        {    
            String htmltext = "nolvl6.htm";
            return htmltext;
        }
            else if(args[0].equals("lvlup7"))
        {    
            String htmltext = "lvlup7.htm";
            return htmltext;
        }
            else if(args[0].equals("nolvl7"))
        {    
            String htmltext = "nolvl7.htm";
            return htmltext;
        }
            else if(args[0].equals("lvlup8"))
        {    
            String htmltext = "lvlup8.htm";
            return htmltext;
        }
            else if(args[0].equals("uprep"))
        {    
            String htmltext = "uprep.htm";
            return htmltext;
        }
            else if(args[0].equals("nolvl8"))
        {    
            String htmltext = "nolvl8.htm";
            return htmltext;
        }
            else if(args[0].equals("upskils"))
        {    
            String htmltext = "upskils.htm";
            return htmltext;
        }
        return "donate.htm";
    }
    
    @Override
    public String onFirstTalk(L2NpcInstance npc, L2PcInstance player) {
        return onTalk(npc, player);
    }
    @Override
    public String onTalk(L2NpcInstance npc, L2PcInstance player) {

        QuestState qs = player.getQuestState(qn);
        if(qs==null)
            qs = newQuestState(player);

        return "donate.htm";
    }
    
    public static void main(String[] args) {
        ServiceManager ps = new ServiceManager();
        ps.addFirstTalkId(ID_NPC_MANAGER); // Мы не хотим писать диалог для этого НПЦ
        ps.addStartNpc(ID_NPC_MANAGER); // Автоматический контроль состояния квеста
        ps.addTalkId(ID_NPC_MANAGER); // NPC с которым можно говорить.
    }

}
И если присмотреться то можно увидеть:
Код:
else if (CharNameTable.getInstance().getByName(name) != null)
                {
                    return "name-false.htm";    
                }
Хотя бы тему почитали Smile
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  подскажите как исправить ошибку oboyma 4 1,567 10-26-2015, 10:07 PM
Последний пост: oboyma
  Помогите понять ошибку! Maiden7 14 3,751 10-30-2014, 12:59 AM
Последний пост: Maiden7
  Помогите выдает ошибку. voland3 2 1,275 04-20-2014, 03:50 PM
Последний пост: Ashe
  Помогите как можно исправить ошибку knaif 4 1,913 01-16-2014, 02:57 PM
Последний пост: SouthBridge
  Персонаж не бьёт в воде Karamelka 12 3,660 09-30-2013, 04:43 PM
Последний пост: Zubastic
  GS когда игроки подключаются ошибку выдаёт SimStyleKG 10 3,338 03-08-2013, 12:08 PM
Последний пост: Ganster
  Reload через админку выдаёт ошибку dbnfkbr33 10 2,052 06-07-2012, 02:52 PM
Последний пост: [STIGMATED]
  При регистрации сервера получаю ошибку Exception in thread "main" java.lang.NullPointerException Brafar 3 4,439 11-18-2011, 07:06 PM
Последний пост: TieLay
  Устанавливаю ваш сервер при включение гейм сервера выдает в конце ошибку Zefir71 5 2,553 05-14-2011, 02:22 PM
Последний пост: Zefir71
  Помогите разобрать ошибку derron116 5 5,529 04-15-2011, 01:47 PM
Последний пост: derron116

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)