iceman 42 Опубликовано 5 июня, 2012 Всем привет , сегодня я покажу вам как можно создать статус персонажа. Придумывать не хочется пускай будет называться Status.На многих сборках это уже присутствует но всё же кому то может пригодится и комуто будет просто интиресно знать как это можно сделать и так начнём. 1. откроем класс L2PcInstance(l2p - L2Player, OverWorld - Player) объявляем там переменную типа int, по умолчанию переменная равна 0; private int _status = 0; 2. Находим статистичикую переменную RESTORE_CHARACTER в ней указаны колонки из таблици chatacter так как последняя указанная колонка у меня aio_end через запятую я указываю свою колонку она будет называться status 3. Создадим метод isStatus() каторый будет иметь тип boolean(true/false) public boolean isStatus(){ if(_status == 1) return true; return false; } Как вы поняли если чар не имеет статуса в колонке status у него будет записано число 0 если он получил статус то будет 1; 4.Метод который будет присваивать переменной _status значения которое будет варироватся от 0 до 1 public void setStatus(int status){ if(status < 0) status = 0; else if(status > 1) status = 1; this._status = status; } что бы не допустить ошибки я добвил проверки. 5. и последний метод он уже будет записывать значения в базу. public void addStatus(int status){ Connection con = null; setStatus(status); try{ con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement ps; ps = con.prepareStatement("UPDATE characters SET status = ? WHERE obj_Id = ?"); ps.setInt(1, _status); ps.setInt(2, getObjectId()); ps.execute(); ps.close(); } catch(Exception e ){ e.getStackTrace(); }finally{ try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 5 июня, 2012 (изменено) Это то все хорошо, вопрос только для чего это все. Что есть статус? оффтоп: Скрытый текст Изменено 5 июня, 2012 пользователем Akumu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 5 июня, 2012 Это то все хорошо, вопрос только для чего это все. Что есть статус? Ну к примеру тот же донатор или вип какой-то Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HastemaN 0 Опубликовано 5 июня, 2012 Для любой привязки будь то сторона в ГВЕ или же премиум статус. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 5 июня, 2012 Ну тогда уже сразу на практику применили чтоли, ибо есть продолжение подразумевает наличие изначальных знаний Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 5 июня, 2012 (изменено) Ну тогда уже сразу на практику применили чтоли, ибо есть продолжение подразумевает наличие изначальных знаний Конечно же есть знания, но я больше пишу программы чем работаю с серверами) Просто делать нечего было дак вот решил сделать мини мануал. Изменено 5 июня, 2012 пользователем iceman Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HastemaN 0 Опубликовано 5 июня, 2012 Кстати, тут Акуму прав, если кто то не знает, как сделать "статус", то и как вызвать его и применить врядли знает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 5 июня, 2012 побольше делай Мануалов и вставляй коменты к каждой строке) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 5 июня, 2012 Кстати, тут Акуму прав, если кто то не знает, как сделать "статус", то и как вызвать его и применить врядли знает. а я не много не так понял его)) ну к примеру самы простой пример открываем пакет EnterWorld и пишем if(activeChar.isStatus()) Announcements.getInstance().announceToAll(activeChar.getName() + " вощел в игру"); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 5 июня, 2012 Для полного мануала думаю надо еще sql на добавления столбца Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 5 июня, 2012 Для полного мануала думаю надо еще sql на добавления столбца ALTER TABLE `characters` ADD `status` TINYINT(1) NOT NULL DEFAULT '0' AFTER `название последней колонки`; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 5 июня, 2012 (изменено) Думаю надо создать блог blog.l2maxi.ru )))) Ну а там выкладывать подобные мануалы, истори итд Изменено 5 июня, 2012 пользователем AlexMan Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexMan 27 Опубликовано 6 июня, 2012 (изменено) нашел 1 вип систему но там намного больше текста) клик клик но суть та же) Изменено 6 июня, 2012 пользователем AlexMan Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты