emil1993 0 Опубликовано 29 апреля, 2015 Поставил эвент "Однорукий бандит"(казино) на сборку L2JLovely 15rev установил но когда захожу в игру и кликаю на npc Он выдает: Internal Error. Please Contact your admin Вот сам скрипт: # Event SWEET BOX. # Create by Hlorka Dev. Group (www.hlorka.com) # April 2011. # Contact e-mail: support@hlorka.com import sys from java.util.regex import Pattern from ru.catssoftware.gameserver.model.quest import State from ru.catssoftware.gameserver.model.quest import QuestState from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest from ru.catssoftware.gameserver.datatables import ItemTable from ru.catssoftware.tools.random import Rnd qn = "4090_SweetBox" # Config SWEETMANAGER=31774 CHANCE=50.0 # Шанс успешного выигрыша в процентах. ShowChance=1 # Показать(1)/Скрыть(0) шанс на экране. RATIO=1.50 # Коэффициент выигрыша. ShowRatio=1 # Показать(1)/Скрыть(0) коэффициент на экрае. # ОСТОРОЖНО: не указывайте нестопковые предметы, т.к. при высоком коэффициенте # вы "положете" свою базу данных. MoneyTypes=[57,4037] # Список ID предметов меню. Не более 5-ти стопковых предметов. # 57 - Adena # 4037 - Coin of Luck class Display : def createItemList(self, exchangeData): bypassText = "" for i in exchangeData : bypassText += i[1]+";" return bypassText def CheatMsg(self): return "wcheat.htm" def EmptyCountMsg(self): return u"\u0412\u044B \u043D\u0435 \u0432\u0432\u0435\u043B\u0438 \u0441\u0432\u043E\u044E \u0441\u0442\u0430\u0432\u043A\u0443. \u041F\u043E\u0436\u0430\u043B\ \u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0430\u0432\u043A\u0443 (\u043A\u0430\u043F\u0438\u0442\u0430\u043B)." def InvalidCountMsg(self) : return u"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435. \ \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043B\u043E 1-900000000." def InvalidInputMsg(self) : return u"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0432 \u0441\u0442\u0440\ \u043E\u043A\u0435, \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u043C\u043E\u0436\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0446\u0438\u0444\u0440\u044B." def WinningMsg(self) : return "win.htm" def LossMsg(self) : return "loss.htm" def NotEnoughItemsMsg(self, itemName) : return u"\u0414\u043B\u044F \u0442\u0430\u043A\u043E\u0439 \u0441\u0442\u0430\u0432\u043A\u0438 \u0432 \u0432\u0430\u0448\u0435\u043C \u0440\u044E\u043A\u0437\u0430\u043A\u0435 \ \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 "+itemName+"." def MainWindow(self, exchangeData, chance, ratio): textChance = textRatio = "" ratio = "%2.2f" % ratio chance = "%-.d" % chance textHeader = u"<html><title>\u042D\u0432\u0435\u043D\u0442 Sweet Lottery</title><body><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\ <tr><td width=32><img src=\"Icon.Item_CanUse04\" width=32 height=32></td><td width=206 align=\"center\"><font color=\"FF9966\">SWEET Lottery</font></td>\ <td width=32><img src=\"Icon.Item_CanUse04\" width=32 height=32></td></tr></table><br>\u0427\u0442\u043E\u0431\u044B \u0441\u044B\u0433\u0440\u0430\u0442\ \u044C \u0432 \u043B\u043E\u0442\u0435\u0440\u0435\u044E Sweet Box, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u043B\u044E\u0442\u0443 \ \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u043D\u0438\u0436\u0435 \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0435\u0435 \u043A\u043E\ \u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E. \u0412\u0430\u0448 \u043A\u0430\u043F\u0438\u0442\u0430\u043B \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \ \u0432\u044B\u0438\u0433\u0440\u044B\u0448\u0430 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D.<br>\ <img src=\"L2UI.SquareWhite\" width=270 height=1><br><table cellpadding=\"8\" cellspacing=\"0\" border=\"0\">" if ShowChance : textRatio = u"<tr><td width=150>\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0438\u0435\u043D\u0442 \u0432\u044B\u0438\u0433\u0440\u044B\u0448\u0430:\ </td><td width=100><font color=\"00CCCC\">"+ratio+u"</font></td></tr>" if ShowRatio : textChance = u"<tr><td width=150>\u0428\u0430\u043D\u0441:</td><td width=100><font color=\"00CCCC\">"+chance+u"%</font></td></tr>" textFooter = u"<tr><td width=150><font color=\"LEVEL\">\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u043B\u044E\u0442\u0443:</font></td>\ <td width=100><combobox width=\"100\" var=\"cytype\" list="+self.createItemList(exchangeData)+u"></td></tr><tr><td width=150><font color=\"LEVEL\">\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \ \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E:</font></td><td width=100><edit var=\"count\" width=\"100\" length=\"10\"></td></tr></table><br><br>\ <center><button action=\"bypass -h Quest "+qn+u" $cytype $count\" value=\"\u0421\u044B\u0433\u0440\u0430\u0442\u044C\" width=76 height=21 back=\"L2UI_ch3.Btn1_normalOn\" \ fore=\"L2UI_ch3.Btn1_normal\"></center><br><br><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td width=\"100\"></td><td width=\"170\">\ <img src=\"L2UI.SquareGray\" width=\"170\" height=\"1\"><br></td></tr><tr><td width=\"100\"></td><td width=\"170\" align=\"right\">\ <font color=\"3b3b3b\">Powered by Hlorka Dev. Group</font></td></tr></table></body></html>" return textHeader+textRatio+textChance+textFooter class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) self.Exchange = [] itemTable = ItemTable.getInstance() for i in MoneyTypes : ItemName=itemTable.getTemplate(i).getName() tempItem = (i, ItemName.replace(" ","_")) self.Exchange.append(tempItem) def onEvent (self,event,st) : disp = Display() bypass = event.split(" ") if len(bypass) != 2 : st.playSound("ItemSound3.sys_shortage") return disp.EmptyCountMsg() if not Pattern.matches('^\d{1,10}$',bypass[1]) : st.playSound("ItemSound3.sys_shortage") return disp.InvalidInputMsg() bypassItemName = bypass[0] bypassItemCount = int(bypass[1]) if not (bypassItemCount > 0 and bypassItemCount < 900000000) : st.playSound("ItemSound3.sys_shortage") return disp.InvalidCountMsg() htmltext = disp.CheatMsg() for i in self.Exchange : if bypassItemName == i[1] : if st.getQuestItemsCount(i[0]) >= bypassItemCount : if Rnd.get(1000) < CHANCE*10 : st.giveItems(i[0],int(bypassItemCount*RATIO)) st.playSound("ItemSound3.sys_make_success") htmltext = disp.WinningMsg() break else : st.takeItems(i[0],bypassItemCount) st.playSound("ItemSound3.sys_make_fail") htmltext = disp.LossMsg() break st.playSound("ItemSound3.sys_shortage") htmltext = disp.NotEnoughItemsMsg(i[1]) break st.exitQuest(1) return htmltext def onFirstTalk (self,npc,player): st = player.getQuestState(qn) htmltext = "Internal Error. Please Contact your admin." if not st: return htmltext dsp = Display() htmltext = dsp.MainWindow(self.Exchange,CHANCE,RATIO) return htmltext QUEST = Quest(4090,qn,"custom") QUEST.addStartNpc(SWEETMANAGER) QUEST.addFirstTalkId(SWEETMANAGER) Путь к папке эвента: C:\server\game\data\scripts\custom\4090_SweetBox Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 29 апреля, 2015 Ты бы уточнил то он останавливается на позиции htmltext = "Internal Error. Please Contact your admin." РЕбят кто уже ставил пишем а то я пока хз 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 29 апреля, 2015 (изменено) dsp = Display() htmltext = dsp.MainWindow(self.Exchange,CHANCE,RATIO) class Display : def createItemList(self, exchangeData): bypassText = "" for i in exchangeData : bypassText += i[1]+";" и т, д. Нехочет обрабатывать если ктот знает иль есть тотже эвент по другим скриптом скиньте ему Изменено 29 апреля, 2015 пользователем 2terege Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
emil1993 0 Опубликовано 29 апреля, 2015 где то видел что это скрипт на ловели устанавливали вот только где? оО Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
2terege 67 Опубликовано 29 апреля, 2015 Я то товаришю довел что он соообшение дает а тот скрипт на обработку не идет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BlackDream 321 Опубликовано 30 апреля, 2015 Зачем вы флудите и при этом ни ответа , ни смысловой нагрузки ваши сообщения не несут! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TIESTO 135 Опубликовано 1 мая, 2015 Поставил эвент "Однорукий бандит"(казино) на сборку L2JLovely 15rev установил но когда захожу в игру и кликаю на npc Он выдает: Internal Error. Please Contact your admin Вот сам скрипт: # Event SWEET BOX. # Create by Hlorka Dev. Group (www.hlorka.com) # April 2011. # Contact e-mail: support@hlorka.com import sys from java.util.regex import Pattern from ru.catssoftware.gameserver.model.quest import State from ru.catssoftware.gameserver.model.quest import QuestState from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest from ru.catssoftware.gameserver.datatables import ItemTable from ru.catssoftware.tools.random import Rnd qn = "4090_SweetBox" # Config SWEETMANAGER=31774 CHANCE=50.0 # Шанс успешного выигрыша в процентах. ShowChance=1 # Показать(1)/Скрыть(0) шанс на экране. RATIO=1.50 # Коэффициент выигрыша. ShowRatio=1 # Показать(1)/Скрыть(0) коэффициент на экрае. # ОСТОРОЖНО: не указывайте нестопковые предметы, т.к. при высоком коэффициенте # вы "положете" свою базу данных. MoneyTypes=[57,4037] # Список ID предметов меню. Не более 5-ти стопковых предметов. # 57 - Adena # 4037 - Coin of Luck class Display : def createItemList(self, exchangeData): bypassText = "" for i in exchangeData : bypassText += i[1]+";" return bypassText def CheatMsg(self): return "wcheat.htm" def EmptyCountMsg(self): return u"\u0412\u044B \u043D\u0435 \u0432\u0432\u0435\u043B\u0438 \u0441\u0432\u043E\u044E \u0441\u0442\u0430\u0432\u043A\u0443. \u041F\u043E\u0436\u0430\u043B\ \u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0430\u0432\u043A\u0443 (\u043A\u0430\u043F\u0438\u0442\u0430\u043B)." def InvalidCountMsg(self) : return u"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435. \ \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043B\u043E 1-900000000." def InvalidInputMsg(self) : return u"\u041D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u0432 \u0441\u0442\u0440\ \u043E\u043A\u0435, \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u043C\u043E\u0436\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0446\u0438\u0444\u0440\u044B." def WinningMsg(self) : return "win.htm" def LossMsg(self) : return "loss.htm" def NotEnoughItemsMsg(self, itemName) : return u"\u0414\u043B\u044F \u0442\u0430\u043A\u043E\u0439 \u0441\u0442\u0430\u0432\u043A\u0438 \u0432 \u0432\u0430\u0448\u0435\u043C \u0440\u044E\u043A\u0437\u0430\u043A\u0435 \ \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 "+itemName+"." def MainWindow(self, exchangeData, chance, ratio): textChance = textRatio = "" ratio = "%2.2f" % ratio chance = "%-.d" % chance textHeader = u"<html><title>\u042D\u0432\u0435\u043D\u0442 Sweet Lottery</title><body><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\ <tr><td width=32><img src=\"Icon.Item_CanUse04\" width=32 height=32></td><td width=206 align=\"center\"><font color=\"FF9966\">SWEET Lottery</font></td>\ <td width=32><img src=\"Icon.Item_CanUse04\" width=32 height=32></td></tr></table><br>\u0427\u0442\u043E\u0431\u044B \u0441\u044B\u0433\u0440\u0430\u0442\ \u044C \u0432 \u043B\u043E\u0442\u0435\u0440\u0435\u044E Sweet Box, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u043B\u044E\u0442\u0443 \ \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u043D\u0438\u0436\u0435 \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0435\u0435 \u043A\u043E\ \u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E. \u0412\u0430\u0448 \u043A\u0430\u043F\u0438\u0442\u0430\u043B \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \ \u0432\u044B\u0438\u0433\u0440\u044B\u0448\u0430 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D.<br>\ <img src=\"L2UI.SquareWhite\" width=270 height=1><br><table cellpadding=\"8\" cellspacing=\"0\" border=\"0\">" if ShowChance : textRatio = u"<tr><td width=150>\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0438\u0435\u043D\u0442 \u0432\u044B\u0438\u0433\u0440\u044B\u0448\u0430:\ </td><td width=100><font color=\"00CCCC\">"+ratio+u"</font></td></tr>" if ShowRatio : textChance = u"<tr><td width=150>\u0428\u0430\u043D\u0441:</td><td width=100><font color=\"00CCCC\">"+chance+u"%</font></td></tr>" textFooter = u"<tr><td width=150><font color=\"LEVEL\">\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u043B\u044E\u0442\u0443:</font></td>\ <td width=100><combobox width=\"100\" var=\"cytype\" list="+self.createItemList(exchangeData)+u"></td></tr><tr><td width=150><font color=\"LEVEL\">\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \ \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E:</font></td><td width=100><edit var=\"count\" width=\"100\" length=\"10\"></td></tr></table><br><br>\ <center><button action=\"bypass -h Quest "+qn+u" $cytype $count\" value=\"\u0421\u044B\u0433\u0440\u0430\u0442\u044C\" width=76 height=21 back=\"L2UI_ch3.Btn1_normalOn\" \ fore=\"L2UI_ch3.Btn1_normal\"></center><br><br><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td width=\"100\"></td><td width=\"170\">\ <img src=\"L2UI.SquareGray\" width=\"170\" height=\"1\"><br></td></tr><tr><td width=\"100\"></td><td width=\"170\" align=\"right\">\ <font color=\"3b3b3b\">Powered by Hlorka Dev. Group</font></td></tr></table></body></html>" return textHeader+textRatio+textChance+textFooter class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) self.Exchange = [] itemTable = ItemTable.getInstance() for i in MoneyTypes : ItemName=itemTable.getTemplate(i).getName() tempItem = (i, ItemName.replace(" ","_")) self.Exchange.append(tempItem) def onEvent (self,event,st) : disp = Display() bypass = event.split(" ") if len(bypass) != 2 : st.playSound("ItemSound3.sys_shortage") return disp.EmptyCountMsg() if not Pattern.matches('^\d{1,10}$',bypass[1]) : st.playSound("ItemSound3.sys_shortage") return disp.InvalidInputMsg() bypassItemName = bypass[0] bypassItemCount = int(bypass[1]) if not (bypassItemCount > 0 and bypassItemCount < 900000000) : st.playSound("ItemSound3.sys_shortage") return disp.InvalidCountMsg() htmltext = disp.CheatMsg() for i in self.Exchange : if bypassItemName == i[1] : if st.getQuestItemsCount(i[0]) >= bypassItemCount : if Rnd.get(1000) < CHANCE*10 : st.giveItems(i[0],int(bypassItemCount*RATIO)) st.playSound("ItemSound3.sys_make_success") htmltext = disp.WinningMsg() break else : st.takeItems(i[0],bypassItemCount) st.playSound("ItemSound3.sys_make_fail") htmltext = disp.LossMsg() break st.playSound("ItemSound3.sys_shortage") htmltext = disp.NotEnoughItemsMsg(i[1]) break st.exitQuest(1) return htmltext def onFirstTalk (self,npc,player): st = player.getQuestState(qn) htmltext = "Internal Error. Please Contact your admin." if not st: return htmltext dsp = Display() htmltext = dsp.MainWindow(self.Exchange,CHANCE,RATIO) return htmltext QUEST = Quest(4090,qn,"custom") QUEST.addStartNpc(SWEETMANAGER) QUEST.addFirstTalkId(SWEETMANAGER) Путь к папке эвента: C:\server\game\data\scripts\custom\4090_SweetBox По пробуй этот! http://rghost.ru/6mlMyMFRT 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
emil1993 0 Опубликовано 2 мая, 2015 вылазиет java.lang.NullPointerException at ru.catssoftware.gameserver.model.L2Spawn.doSpawn(Unknown Source) at ru.catssoftware.gameserver.model.L2Spawn.init(Unknown Source) at ru.catssoftware.gameserver.model.L2Spawn.init(Unknown Source) at ru.catssoftware.gameserver.gmaccess.handlers.spawn.spawnNpc(Unknown S ource) at ru.catssoftware.gameserver.gmaccess.handlers.spawn.runCommand(Unknown Source) at ru.catssoftware.gameserver.gmaccess.gmController.useCommand(Unknown S ource) at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServe r.runImpl(Unknown Source) at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.r un(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TIESTO 135 Опубликовано 2 мая, 2015 вылазиет java.lang.NullPointerException at ru.catssoftware.gameserver.model.L2Spawn.doSpawn(Unknown Source) at ru.catssoftware.gameserver.model.L2Spawn.init(Unknown Source) at ru.catssoftware.gameserver.model.L2Spawn.init(Unknown Source) at ru.catssoftware.gameserver.gmaccess.handlers.spawn.spawnNpc(Unknown S ource) at ru.catssoftware.gameserver.gmaccess.handlers.spawn.runCommand(Unknown Source) at ru.catssoftware.gameserver.gmaccess.gmController.useCommand(Unknown S ource) at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServe r.runImpl(Unknown Source) at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.r un(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Какую java используешь? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
emil1993 0 Опубликовано 2 мая, 2015 Какую java используешь? JRE 7 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
emil1993 0 Опубликовано 2 мая, 2015 Проблема решена спасибо ТИЕСТО Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrDozoR 73 Опубликовано 3 мая, 2015 написал бы решение... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
emil1993 0 Опубликовано 3 мая, 2015 помимо скрипта добавить html в папку default Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты