Перейти к содержанию
Авторизация  
emil1993

Эвент Однорукий бандит

Рекомендуемые сообщения

Поставил эвент "Однорукий бандит"(казино) на сборку 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ты бы уточнил то он останавливается  на позиции  htmltext = "Internal Error. Please Contact your admin." 

 

 

РЕбят кто уже ставил пишем а то я пока хз 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 dsp = Display()
   htmltext = dsp.MainWindow(self.Exchange,CHANCE,RATIO)

 

 

 

 

 

 
class Display :


 def createItemList(self, exchangeData):
    bypassText = ""
    for i in exchangeData :
        bypassText += i[1]+";"  и т, д.
 
 
Нехочет обрабатывать  если ктот знает иль есть тотже эвент  по другим скриптом скиньте ему 
Изменено пользователем 2terege

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

где то видел что это скрипт на ловели устанавливали вот только где? оО

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я то товаришю довел что он соообшение дает а тот скрипт на обработку не  идет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем вы флудите и при этом ни ответа , ни смысловой нагрузки ваши сообщения не несут!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил эвент "Однорукий бандит"(казино) на сборку 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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вылазиет 

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.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 используешь?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какую java используешь?

JRE 7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема решена спасибо ТИЕСТО

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

написал бы решение...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

помимо скрипта добавить html в папку default

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...