2face 0 Опубликовано 22 апреля, 2012 //PvP Rank by 20 PvP if (activeChar.getPvpKills() >= 20) activeChar.setTitle("Newbie Killer"); activeChar.sendMessage("Congratulation You Reach 20 Kills"); activeChar.sendMessage("You Promoted to Newbie Killer Rank"); { //PvP Rank by 50 PVP if (activeChar.getPvpKills() >= 50) activeChar.setTitle("Professional Killer"); activeChar.sendMessage("Congratulation You Reach 50 Kills"); activeChar.sendMessage("You Promoted to Professional Killer Rank"); } //PvP Rank by 150 PVP if (activeChar.getPvpKills() >= 150) activeChar.setTitle("Full Killer"); activeChar.sendMessage("Congratulation You Reach 150 Kills"); activeChar.sendMessage("You Promoted to Full Killer Rank"); { //PvP Rank by 350 PVP if (activeChar.getPvpKills() >= 350) activeChar.setTitle("The Killer"); activeChar.sendMessage("Congratulation You Reach 350 Kills"); activeChar.sendMessage("You Promoted to The Killer Rank"); { //PvP Rank by 650 PVP if (activeChar.getPvpKills() >= 650) activeChar.setTitle("Expert Killer"); activeChar.sendMessage("Congratulation You Reach 650 Kills"); activeChar.sendMessage("You Promoted to Expert Killer Rank"); } //PvP Rank by 1000 PVP if (activeChar.getPvpKills() >= 1000) activeChar.setTitle("HitMan"); activeChar.sendMessage("Congratulation You Reach 1000 Kills"); activeChar.sendMessage("You Promoted to HitMan Rank"); } как сделать что бы титул не полностью изменялся а, просто добавлялся к основному Пример: HitMan - это как по обычному коду будет [HitMan]YouTitle - как по новому или тип етого Плюсы раздаю всем, кто поможет в теме!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 22 апреля, 2012 как сделать что бы титул не полностью изменялся а, просто добавлялся к основномуПример: HitMan - это как по обычному коду будет [HitMan]YouTitle - как по новому или тип етого Плюсы раздаю всем, кто поможет в теме!! activeChar.setTitle(activeChar.getTitle() + " " + "HitMan"); думаю всё понятно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 22 апреля, 2012 activeChar.setTitle(activeChar.getTitle() + " " + "HitMan");думаю всё понятно. В таком случае, при присвоении нового ранга будет косяк Делайте доп. сеттер и геттер для нового объекта аналогично исходному титулу. Далее модифицируйте CharInfo и UserInfo. Вот похожая реализация в моем GVE: writeS(_cha.getTitle() + (!_cha.isGM() ? "[" + _cha.getPrice() + "a]" : "[GM]")); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2face 0 Опубликовано 22 апреля, 2012 activeChar.setTitle(activeChar.getTitle() + " " + "HitMan");думаю всё понятно. ууу оперативно спасиб большое выручилл) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2face 0 Опубликовано 22 апреля, 2012 В таком случае, при присвоении нового ранга будет косяк Делайте доп. сеттер и геттер для нового объекта аналогично исходному титулу. Далее модифицируйте CharInfo и UserInfo. Вот похожая реализация в моем GVE: writeS(_cha.getTitle() + (!_cha.isGM() ? "[" + _cha.getPrice() + "a]" : "[GM]")); стоп, что таке сеттер и геттер? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 22 апреля, 2012 стоп, что таке сеттер и геттер? private int status; public void setStatus(int status) { this.status = status; } public int getStatus() { return this.status; } Вот вам пример сеттера и геттера. Тут по аналогии достаточно превести к другому типу, и готово. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2face 0 Опубликовано 22 апреля, 2012 if (activeChar.getPvpKills() >= 1000) writeS(activeChar.setTitle() + (!activeChar.isGM() ? "[" + activeChar.getPrice() + "a]" : "[HitMan]")); activeChar.sendMessage("Congratulation You Reach 20 Kills"); activeChar.sendMessage("You Promoted to Newbie Killer Rank"); правильно написал код? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 22 апреля, 2012 (изменено) if (activeChar.getPvpKills() >= 1000)writeS(activeChar.setTitle() + (!activeChar.isGM() ? "[" + activeChar.getPrice() + "a]" : "[HitMan]")); activeChar.sendMessage("Congratulation You Reach 20 Kills"); activeChar.sendMessage("You Promoted to Newbie Killer Rank"); правильно написал код? Нет. Учите Java, базовые принцыпы ООП и будет вам профит. Нет желания? Используйте метод iceman, но будте готовы к багу что я описал выше. Изменено 22 апреля, 2012 пользователем Akumu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2face 0 Опубликовано 22 апреля, 2012 Нет. а что не так подскажите Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 22 апреля, 2012 а что не так подскажите 1. Добавляете новый сеттер и геттер объекту L2Pc 2. В пакете CharInfo и UserInfo корректируете отправку титула клиенту с добавлением данных из геттера. (пример я давал выше) 3. Далее, для установки "префикса" (или как вы эту шнягу называете) используете сеттер. 4. После установки "префикса" бродкастите инфо о чаре. 5. ?????? 6. PROFIT!!1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2face 0 Опубликовано 22 апреля, 2012 (изменено) 1. Добавляете новый сеттер и геттер объекту L2Pc2. В пакете CharInfo и UserInfo корректируете отправку титула клиенту с добавлением данных из геттера. (пример я давал выше) 3. Далее, для установки "префикса" (или как вы эту шнягу называете) используете сеттер. 4. После установки "префикса" бродкастите инфо о чаре. 5. ?????? 6. PROFIT!!1 не... мне ето походу не дано) мб чёт наковыряю дак получится) спасибо) может ещё кто-то мне поможет? Изменено 22 апреля, 2012 пользователем 2face Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 22 апреля, 2012 В таком случае, при присвоении нового ранга будет косяк Точняк, завтыкал что у него он будет каждый раз обновлятся.) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 22 апреля, 2012 Точняк, завтыкал что у него он будет каждый раз обновлятся.) Вы ещё не учли одну плохую особенность клиента. Он не готов принять титулы длиннее 16 символов. Так что вперед, делайте обрезание Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Akumu 1117 Опубликовано 22 апреля, 2012 не... мне ето походу не дано) мб чёт наковыряю дак получится) спасибо) может ещё кто-то мне поможет? У вас два выхода: а. Учиться б. Заказывать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 22 апреля, 2012 (изменено) Вы ещё не учли одну плохую особенность клиента. Он не готов принять титулы длиннее 16 символов.Так что вперед, делайте обрезание Ну я как бы за это и сказал что забыл что он у него будет обновлятся и придёт время когда он достигнет придела. Изменено 22 апреля, 2012 пользователем iceman Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Duster 1 Опубликовано 26 апреля, 2012 (изменено) В L2Character.java (или как там в Вашей сборке называется класс, являющийся родителем класса игрока): // Изменить: public final String getTitle(){ if (this instanceof L2PcInstance){ String tempTitle = getPvpRank() + " - " + _title; return tempTitle.length() > 16 ? tempTitle.substring(0, 15) : tempTitle; } else return _title; } // Добавить: private final String getPvpRank(){ if (((L2PcInstance) this).getPvpKills() > 1000 ){ return "Hitman"; } else if (((L2PcInstance) this).getPvpKills() > 500 ){ return "Expert Killer"; } else if (((L2PcInstance) this).getPvpKills() > 250 ){ return "Killer"; } else if (((L2PcInstance) this).getPvpKills() > 100 ){ return "Newbie"; } else { return "Elpy"; } } Только вот остается вопрос того, что игрокам не понравится бегать с нубскими титулами. А если добавлять ранк только после 500 киллов - то все нубы будут "подделывать" этот фирменный титул. Выход - при 500+ титул делать другого цвета и выводить ранг, тогда будет сразу понятно, подделал игрок титул, или настоящий. Но, так или иначе, необходимо игроку самому решить, показывать свой ранк или нет. Я для таких вещей сделал у себя "пользовательские переменные", которых хранятся в базе. А через комьюнити игрок настраивает их (автолут, достижения, экономия трафика и другое). PS: ТопикСтартер, сервер уже работает, или только балуешься? Есть ли профит от него? Могу предложить свои услуги программиста. За деньги, разумеется. Изменено 26 апреля, 2012 пользователем Duster Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты