Jump to content

Question

Posted

Hello guys!

 

So I am trying out the L2JHellas project but it seems that I have a problem adding ANY buffer...

I Changed the imports to com.l2jhellas.gameserver.etc.etc.etc like this

 

import sys

from com.l2jhellas import L2DatabaseFactory
from com.l2jhellas.gameserver.model.quest import State
from com.l2jhellas.gameserver.model.quest import QuestState
from com.l2jhellas.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jhellas.gameserver.model.actor.instance import L2PcInstance
from com.l2jhellas.gameserver.model import L2Skill
from java.util import Iterator
from com.l2jhellas.gameserver.datatables import SkillTable

BUT at every buffer I import to the server I get the same error at the error log.

Error on: C:\Users\CptDreamer\Desktop\L2jHellas Compiled V4\gameserver\data\scripts\custom\Buffer_by_Sydhe\__init__.py.error.log
Line: -1 - Column: -1
 
Traceback (innermost last):
  File "__init__.py", line 109, in ?
TypeError: com.l2jhellas.gameserver.model.quest.State(): expected 0 args; got 2

This is the source of the last buffer I tried.

import sys
from com.l2jhellas import L2DatabaseFactory
from com.l2jhellas.gameserver.model.quest import State
from com.l2jhellas.gameserver.model.quest import QuestState
from com.l2jhellas.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jhellas.gameserver.model.actor.instance import L2PcInstance
from com.l2jhellas.gameserver.model import L2Skill
from java.util import Iterator
from com.l2jhellas.gameserver.datatables import SkillTable
 
qn = "Buffer_by_Sydhe"
NPC = [50104]
ACCEPT_BUFF = [1040, 1068, 1035, 1043, 1077, 1078, 1085, 1311, 1032,
               1036, 1045, 1048, 4352, 4357, 4391, 4403, 4405, 1243,
               1388, 1389, 1087, 1259, 1059, 1268]
ACCEPT_DANCES = [271, 272, 273, 274, 275, 276, 277, 307, 309,
                 310, 311, 365]
ACCEPT_SONGS = [364, 264, 306, 269, 270, 265, 363, 349, 308,
                305, 304, 267, 266, 268]
ACCEPT_CHANTS = [1251, 1252, 1253, 1284, 1006, 1007, 1009, 1362,
                 1310, 1309, 1308, 1391, 1390]
ACCEPT_SPECIAL = [1364, 1356, 1355, 1357, 1413, 4702, 4703, 4700,
                  4699, 1323]
ACCEPT_RESISTS = [1393, 1392, 1182, 1189, 1191, 1073]
 
QuestId     = -1
QuestName   = "Buffer"
QuestDesc   = "custom"
 
print qn + " Buffer l2maxi.ru (KFan)"
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
 
 def onEvent(self, event, st):
    htmltext = "Sory, failed Event"
    ownerid = st.getPlayer().getObjectId()
    effects = st.getPlayer().getAllEffects()
    if event.startswith("page_") :
        page = int(event.replace("page_", ""))
        htmltext = str(page) + ".htm"
    elif event == "cancel" :
        st.getPlayer().stopAllEffects()
        htmltext = "1.htm"
        activePage = 1
    elif event == "reload" :
        st.getPlayer().restoreCP()
        st.getPlayer().restoreHP()
        st.getPlayer().restoreMP()
        htmltext = "1.htm"
    elif event.startswith("buff_") :
        id_lvl = event.replace("buff_", "")
        id_lvl = id_lvl.split("_")
        SkillTable.getInstance().getInfo(int(id_lvl[0]), int(id_lvl[1])).getEffects(st.getPlayer(), st.getPlayer())
        htmltext = str(int(id_lvl[2])) + ".htm"
    elif event.startswith("profile_") :
        act = event.replace("profile_", "")
        con = L2DatabaseFactory.getInstance().getConnection()
        if act.startswith("buff_") :
            act = str(int(act.replace("buff_", "")))
            sql = con.prepareStatement("SELECT * FROM profile_buff WHERE char_id = ? AND pindex = ?")
            sql.setInt(1, int(ownerid))
            sql.setInt(2, int(act))
            rs = sql.executeQuery()
            rs.next()
            full_buffs = rs.getString("skills").split(";")
            sql.close()
            rs.close()
            for buff in full_buffs :
if buff != "" :
buff = buff.split(",")
SkillTable.getInstance().getInfo(int(buff[0]), int(buff[1])).getEffects(st.getPlayer(), st.getPlayer())
 
            htmltext = "1.htm"
        elif act.startswith("save_") :
            act = str(int(act.replace("save_", "")))
            sqll = con.prepareStatement("DELETE FROM profile_buff WHERE char_id = ? AND pindex = ?")
            sqll.setInt(1, int(ownerid))
            sqll.setInt(2, int(act))
            sqll.execute()
            sqll.close()
            saving = "++"
            for eff in effects :
                eff_id = eff.getSkill().getId()
                eff_level = eff.getSkill().getLevel()
                if saving == "++" :
                    if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :
                        saving = str(eff_id) + "," + str(eff_level) + ";"
                else :
                    if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :
                        saving += str(eff_id) + "," + str(eff_level) + ";"
            sql = con.prepareStatement("INSERT INTO profile_buff (char_id, pindex, skills) VALUES ('" + str(ownerid) + "', '" + str(act) + "', '" + saving + "')")
            sql.execute()
            sql.close()
            htmltext = "8.htm"
        con.close()
    return htmltext
 
 def onTalk (self, npc, player):
    htmltext = "1.htm"
    st = player.getQuestState(qn)
    if not st : return htmltext
    npcId = npc.getNpcId()
    return htmltext
 
 
QUEST = Quest(QuestId, qn, QuestDesc)
CREATED     = State('Start', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
 
for npcId in NPC:
 QUEST.addStartNpc(npcId)
 QUEST.addTalkId(npcId)

Any help please? <3
 
PS:Line 109 is at the "CREATED     = State('Start', QUEST)"

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock