Gamaz 0 Опубликовано 31 марта, 2021 Кто подскажет для Pw что нужно изменить чтоб эвент заработал ну кроме импортов это не помогло изначально он под люцеру или ловели написан # 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=0 # Показать(1)/Скрыть(0) шанс на экране. RATIO=1.50 # Коэффициент выигрыша. ShowRatio=0 # Показать(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 onTalk (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.addTalkId(SWEETMANAGER) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tetris 4 Опубликовано 31 марта, 2021 (изменено) Код ошибки в студию ) и в спойлер. Изменено 31 марта, 2021 пользователем Tetris Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 31 марта, 2021 А тот код, что Вы выше выложили, Вы считаете уже с измененными импортами, или это оригинал? ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 31 марта, 2021 оригинал но я менял на import sys from java.util.regex import Pattern from net.sf.l2j.gameserver.model.quest import State from net.sf.l2j.gameserver.model.quest import QuestState from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest from net.sf.l2j.gameserver.datatables import ItemTable from net.sf.l2j.tools.random import Rnd Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 31 марта, 2021 только такая в консоли importing custom data ... failed to import custom : 4090_SweetBox Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 31 марта, 2021 (изменено) 6 минут назад, Gamaz сказал: только такая в консоли importing custom data ... failed to import custom : 4090_SweetBox Попробуйте использовать хотя бы онлайн компиляторы, возможно там банально с пробелами лажа, обожаю пайтон за это. Спойлер https://replit.com/languages/python Ну и да, сразу вижу ошибку замены импортов, Rnd на пв софте вот там: net.sf.l2j.util.Rnd; Изменено 31 марта, 2021 пользователем Rolo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 31 марта, 2021 просто еще был азино777 эвент но тут только нафоруме html ки лежат без самого скрипта Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 31 марта, 2021 поменял import rnd который дал но теперь при клике по NPC в чате пишет Internal Error. Please Contact your admin Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 31 марта, 2021 За 1000 сделаю на java Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 31 марта, 2021 что сделаешь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tetris 4 Опубликовано 31 марта, 2021 1 час назад, Gamaz сказал: что сделаешь Сделает так, что бы у тебя все заработало) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 31 марта, 2021 Щас бы за 1000 писать 15 строчек... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 31 марта, 2021 1 минуту назад, Circalover сказал: Щас бы за 1000 писать 15 строчек... Да хоть 1 строчку, тут дело не в количестве, а в том что значть что писать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GM1 45 Опубликовано 31 марта, 2021 За 500 рублей, переделаю под тебя. Если нужно, обращайся Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Infinitys 68 Опубликовано 31 марта, 2021 где то в очень старой мой сборке есть это гавно для пвсофта, пиши в телегу @infinitysl2 Время будет свободное, гляну и скину если что бесплатно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 31 марта, 2021 спасибо за помощь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
deed 0 Опубликовано 11 ноября, 2021 В 31.03.2021 в 17:39, Gamaz сказал: спасибо за помощь Можете и мне скинуть ,буду благодарен Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты