Jump to content
Sign in to follow this  
Gamaz

Эвент Казино Sweet BOX

Recommended Posts

Кто подскажет для 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)

 

 

 

Share this post


Link to post
Share on other sites

Код ошибки в студию ) и в спойлер.

Edited by Tetris

Share this post


Link to post
Share on other sites

А тот код, что Вы выше выложили, Вы считаете уже с измененными импортами, или это оригинал? )

Share this post


Link to post
Share on other sites

оригинал но я менял  на

 

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

Share this post


Link to post
Share on other sites

только такая в консоли

importing custom data ...
failed to import custom :  4090_SweetBox

 

 

Share this post


Link to post
Share on other sites
6 минут назад, Gamaz сказал:

только такая в консоли

importing custom data ...
failed to import custom :  4090_SweetBox

 

 

Попробуйте использовать хотя бы онлайн компиляторы, возможно там банально с пробелами лажа, обожаю пайтон за это. 
 


Ну и да, сразу вижу ошибку замены импортов, Rnd на пв софте вот там: net.sf.l2j.util.Rnd;

Edited by Rolo

Share this post


Link to post
Share on other sites

просто еще был азино777  эвент но тут только  нафоруме   html ки лежат без самого скрипта

Share this post


Link to post
Share on other sites

поменял import rnd который дал  но теперь при клике по NPC

в чате пишет   Internal Error. Please Contact your admin

Share this post


Link to post
Share on other sites
1 час назад, Gamaz сказал:

что сделаешь

Сделает так, что бы у тебя все заработало) :D

Share this post


Link to post
Share on other sites
1 минуту назад, Circalover сказал:

Щас бы за 1000 писать 15 строчек...

Да хоть 1 строчку, тут дело не в количестве, а в том что значть что писать.

Share this post


Link to post
Share on other sites

За 500 рублей, переделаю под тебя. Если нужно, обращайся

Share this post


Link to post
Share on other sites

где то в очень старой мой сборке есть это гавно для пвсофта, пиши в телегу @infinitysl2
Время будет свободное, гляну и скину если что бесплатно.

Share this post


Link to post
Share on other sites
В 31.03.2021 в 17:39, Gamaz сказал:

спасибо за помощь

Можете и мне скинуть ,буду благодарен

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...