paradizzz 10 Опубликовано 27 ноября, 2011 Помогите пожалуйста править, чтобы можно было делать русский ник (поддержка русских ников стоит, непонятно только как сделать чтобы сохранение было в UTF формате, т.е чтобы могли русский ник задонить) и со сменой цвета (он даётся только до рестарта, а нужно, чтобы навсегда) сам что-то разобраться никак не могу, вот код: Скрытый текст from com.l2jfrozen.gameserver.datatables.sql import CharNameTable from com.l2jfrozen.gameserver.model import L2World from com.l2jfrozen.gameserver.model.quest import State from com.l2jfrozen.gameserver.model.quest import QuestState from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jfrozen.gameserver.util import Util; from java.util.regex import Pattern; NPC = 99879 ITEM_ID = 4037 NAME_COUNT = 20 COLOR_COUNT = 20 class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent(self,event,st) : if event == "1": return "1.htm" if event == "2": return "2.htm" if event == "3": return "3.htm" if event == "200": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x000000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "201": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x000090) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "202": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x0000ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "203": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x009000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "204": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x00ff00) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "205": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x900000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "206": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0xff0000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "207": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x009090) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "208": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x0090ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "209": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x00ffff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "210": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x900090) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "211": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x9000ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "212": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0xff00ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "213": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0x909000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "214": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0xffff00) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "215": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setNameColor(0xffffff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "300": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x000000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "301": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x000090) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "302": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x0000ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "303": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x009000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "304": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x00ff00) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "305": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x900000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "306": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0xff0000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "307": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x009090) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "308": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x0090ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "309": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x00ffff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "310": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x900090) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "311": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x9000ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "312": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0xff00ff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "313": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0x909000) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "314": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0xffff00) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if event == "315": if st.getQuestItemsCount(ITEM_ID) >= COLOR_COUNT: st.takeItems(ITEM_ID,COLOR_COUNT) st.getPlayer().getAppearance().setTitleColor(0xffffff) st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" if not CharNameTable.getInstance().doesCharNameExist(event): if len(event) >= 3 and len(event) <= 16 and Pattern.matches("[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*", event): if st.getPlayer().isClanLeader(): return "<html><head><body><center>Clan leaders no can change name!</center></body></html>" if st.getPlayer().getClan(): return "<html><head><body><center>Clan members no can change name!</center></body></html>" if st.getQuestItemsCount(ITEM_ID) >= NAME_COUNT: st.takeItems(ITEM_ID,NAME_COUNT) L2World.getInstance().removeFromAllPlayers(st.getPlayer()); st.getPlayer().setName(event); st.getPlayer().store(); L2World.getInstance().addToAllPlayers(st.getPlayer()); st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Недостаточно колов!</center></body></html>" else: return "<html><head><body><center>Name is incorrect!</center></body></html>" else: return "<html><head><body><center>Name already exist!</center></body></html>" return "<html><head><body><center>Недостаточно колов!</center></body></html>" def onTalk (self,npc,player): return "0.htm" QUEST = Quest(8833, "8833_Name", "custom") CREATED = State('Start',QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 "[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*" Сюда добавьте русские символы. "[A-Za-z0-9\u0410-\u042f\u0430-\u044f\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*" Англо-Русские ники п.с Попробуйте так)) Не уверен. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 "[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*" Сюда добавьте русские символы. "[A-Za-z0-9\u0410-\u042f\u0430-\u044f\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*" Англо-Русские ники п.с Попробуйте так)) Не уверен. Даааа... спасибо огромное, незнаешь ещё как сделать, чтобы цвет у ника/титула сохранялся? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Знаю)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Сборка какая? Если исходники есть - сделаю)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 Сборка какая? Если исходники есть - сделаю)) Вроде бы да хаха) Просто я ещё с ними никогда не работал, ну сборка l2frozen 900, есть папки lib содержащая jar и java файлы, скорее всего это и есть исходы) Плз расскажи сам мне самому интересно просто) Или там очень трудно? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FuckYeah 0 Опубликовано 27 ноября, 2011 Это не исходы ;[ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 А как тогда? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Тебе очень повезло... У меня есть исходники 900-той ревы. У тебя скомпилированная сборка уже)) Это не трудно)) 40 секунд займёт, если ты разберешься в этом. Скажи мне свой копирайты (Название сервера и сайт(ссылка)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 Ой а сможешь кинуть исходники? Lin2insomnia А ссылка зач? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Чтобы в ядро вшить)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Мне так не удобно... Добавь в скайп. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BlackDream 321 Опубликовано 27 ноября, 2011 Скачай исходы с сайта разработчиков ... вот их сайт http://l2jfrozen.com/ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BlackDream 321 Опубликовано 27 ноября, 2011 Лови + шарк) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 Мне так не удобно... Добавь в скайп. Добавил Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Лови + HalloWeen Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 Вы чё плюсуете друг другу шоль? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SHARK 39 Опубликовано 27 ноября, 2011 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
paradizzz 10 Опубликовано 27 ноября, 2011 Ответь в скайп акула) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты