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

[ERROR] Сохранение бафов

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

Проблема заключается в том что при сохранении профиля бафов вылазит окно "Skript error" и данная ошибка в гейме

 

 /interlude/x1200/game/data/scripts/custom/1247_buffer/__init__.py
Traceback (innermost last):
  (no code object) at line 0
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

	at com.mysql.jdbc.Util.getInstance(Util.java:386)

	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)

	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)

	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)

	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)

	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2825)

	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)

	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2313)

	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

	at java.lang.reflect.Method.invoke(Method.java:606)


com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jokermaster.profile_buff' doesn't exist

	at org.python.core.Py.JavaError(Unknown Source)
	at org.python.core.PyObject._jthrow(Unknown Source)
	at org.python.core.PyObject._jcall(Unknown Source)
	at org.python.proxies.main$Quest$327.onEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.quest.Quest.onAdvEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.quest.Quest.notifyEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.actor.instance.L2PcInstance.processQuestEvent(Unknown Source)
	at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServer.runImpl(Unknown Source)
	at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

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


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

таблицы profile_buff нету

Изменено пользователем 1ntegrate

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


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

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 = "1.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

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


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

тоесть таблицы у тебя нету?

тогда:

CREATE TABLE IF NOT EXISTS `profile_buff`(
`char_id` INT NOT NULL DEFAULT 0,
`pindex` TINYINT NOT NULL DEFAULT 0,
`skills` varchar(999) NOT NULL DEFAULT ''
)ENGINE=MyISAM;

а если есть готовая таблица то залей ее в датабазу jokermaster

  • Upvote 1

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


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

тоесть таблицы у тебя нету?

тогда:

CREATE TABLE IF NOT EXISTS `profile_buff`(
`char_id` INT NOT NULL DEFAULT 0,
`pindex` TINYINT NOT NULL DEFAULT 0,
`skills` varchar(999) NOT NULL DEFAULT ''
)ENGINE=MyISAM;

а если есть готовая таблица то залей ее в датабазу jokermaster

/interlude/x1200/game/data/scripts/custom/1247_buffer/__init__.py
Traceback (innermost last):
  (no code object) at line 0
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)

	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)

	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)

	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)

	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)

	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2825)

	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)

	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)

	at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)

	at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)

	at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

	at java.lang.reflect.Method.invoke(Method.java:606)


java.sql.SQLException: java.sql.SQLException: Data truncated for column 'skills' at row 1

	at org.python.core.Py.JavaError(Unknown Source)
	at org.python.core.PyObject._jthrow(Unknown Source)
	at org.python.core.PyObject._jcall(Unknown Source)
	at org.python.proxies.main$Quest$327.onEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.quest.Quest.onAdvEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.quest.Quest.notifyEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.actor.instance.L2PcInstance.processQuestEvent(Unknown Source)
	at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServer.runImpl(Unknown Source)
	at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
[01.02.15 03:47:41] /interlude/x1200/game/data/scripts/custom/1247_buffer/__init__.py
Traceback (innermost last):
  (no code object) at line 0
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)

	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)

	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)

	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)

	at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:851)

	at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5769)

	at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5689)

	at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5729)

	at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)

	at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

	at java.lang.reflect.Method.invoke(Method.java:606)


java.sql.SQLException: java.sql.SQLException: Illegal operation on empty result set.

	at org.python.core.Py.JavaError(Unknown Source)
	at org.python.core.PyObject._jthrow(Unknown Source)
	at org.python.core.PyObject._jcall(Unknown Source)
	at org.python.proxies.main$Quest$327.onEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.quest.Quest.onAdvEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.quest.Quest.notifyEvent(Unknown Source)
	at ru.catssoftware.gameserver.model.actor.instance.L2PcInstance.processQuestEvent(Unknown Source)
	at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServer.runImpl(Unknown Source)
	at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

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


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

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

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

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

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

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

Войти

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

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

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

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

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