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

Ребят Помогите Со Скриптом

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

Ошибка в скрипте

 

File "_init_.py", line 71, in onEvent

TypeError: addSkill<>: 1st arg cant be coerced to com.l2jfrozen.gameserver.model.L2Skill

 

 

Сам скрипт

 

 

import sys

from com.l2jfrozen.gameserver.datatables import SkillTable

from com.l2jfrozen.gameserver.model.quest import State

from com.l2jfrozen.gameserver.model.quest import QuestState

from com.l2jfrozen.gameserver.model import L2Augmentation

from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

from com.l2jfrozen.util.random import Rnd

from com.l2jfrozen.util.database import L2DatabaseFactory

from com.l2jfrozen.gameserver.templates import L2EtcItemType

from com.l2jfrozen.gameserver.templates import L2WeaponType

from com.l2jfrozen.gameserver.templates import L2Item

from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate

from java.lang import System

 

 

#

#@author KFan

#ICQ: 604883692

#Skype: Kotyara20141

#

 

NPC_ID = 60007

ITEM_ID = 57

#ITEM_COUNT = 0

#Do not need a subject

ITEM_COUNT = 1

 

#A player can learn just one skill? 1 = true 0 = false

ONLY_ONE = 0

 

 

qn = "9994_skill_trader"

print "9994_skill_trader Loading Started"

 

class Quest (JQuest) :

 

def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

 

def onTalk (self,npc,player):

st = player.getQuestState(qn)

ownerid = st.getPlayer().getObjectId()

htmltext = "<html><head><body>I have nothing to say you</body></html>"

npcId = npc.getNpcId()

if not st : return

cond = st.getInt("cond")

onlyone = st.getInt("onlyone")

if ONLY_ONE :

if onlyone > 0 :

return "fail.htm"

if cond >= 0 :

st.set("cond", "1")

st.setState(STARTED)

htmltext = "start.htm"

return htmltext

 

 

 

def onEvent (self,event,st) :

htmltext = event

cond = st.getInt("cond")

ownerid = st.getPlayer().getObjectId()

if event == "buy" :

htmltext = "buy.htm"

elif event.startswith('buy_') :

if st.getQuestItemsCount(ITEM_ID) <= ITEM_COUNT :

return "n-money.htm"

buy_skill = str(event.replace("buy_", ""))

buy_skill_splite = buy_skill.split('_')

st.takeItems(ITEM_ID, ITEM_COUNT)

st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1])))

skill_name = st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1])).getName())

con=L2DatabaseFactory.getInstance().getConnection()

sql=con.prepareStatement("INSERT INTO character_skills (char_obj_id, skill_id, skill_level, skill_name) VALUES (?,?,?,?)")

sql.setInt(1, ownerid)

sql.setInt(2, int(buy_skill_splite[0]))

sql.setInt(3, int(buy_skill_splite[1]))

sql.setString(4, str(skill_name))

rs=sql.executeQuery()

con.close()

if ONLY_ONE :

st.set("onlyone", "1")

st.set("cond", "0")

st.setState(COMPLETED)

htmltext = "buy.htm"

return htmltext

 

 

QUEST = Quest( -1, qn, "custom")

 

CREATED = State('Start', QUEST)

STARTED = State('Started', QUEST)

COMPLETED = State('Completed', QUEST)

 

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(NPC_ID)

QUEST.addTalkId(NPC_ID)

 

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

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


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

Не правельно вопрос задал, ты должен был обратится к KFan, так как его копирайты видны в скрипте.

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


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

да писал я ему он не хочет в этом разбираться, поэтому обращаюсь к знающим людям что бы помогли

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


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

 

 

import sys

from com.l2jfrozen.gameserver.datatables import SkillTable

from com.l2jfrozen.gameserver.model.quest import State

from com.l2jfrozen.gameserver.model.quest import QuestState

from com.l2jfrozen.gameserver.model import L2Augmentation

from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

from com.l2jfrozen.gameserver.model.L2Skill

from com.l2jfrozen.util.random import Rnd

from com.l2jfrozen.util.database import L2DatabaseFactory

from com.l2jfrozen.gameserver.templates import L2EtcItemType

from com.l2jfrozen.gameserver.templates import L2WeaponType

from com.l2jfrozen.gameserver.templates import L2Item

from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate

from java.lang import System

 

 

#

#@author KFan

#ICQ: 604883692

#Skype: Kotyara20141

#

 

NPC_ID = 60007

ITEM_ID = 57

#ITEM_COUNT = 0

#Do not need a subject

ITEM_COUNT = 1

 

#A player can learn just one skill? 1 = true 0 = false

ONLY_ONE = 0

 

 

qn = "9994_skill_trader"

print "9994_skill_trader Loading Started"

 

class Quest (JQuest) :

 

def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

 

def onTalk (self,npc,player):

st = player.getQuestState(qn)

ownerid = st.getPlayer().getObjectId()

htmltext = "<html><head><body>I have nothing to say you</body></html>"

npcId = npc.getNpcId()

if not st : return

cond = st.getInt("cond")

onlyone = st.getInt("onlyone")

if ONLY_ONE :

if onlyone > 0 :

return "fail.htm"

if cond >= 0 :

st.set("cond", "1")

st.setState(STARTED)

htmltext = "start.htm"

return htmltext

 

 

 

def onEvent (self,event,st) :

htmltext = event

cond = st.getInt("cond")

ownerid = st.getPlayer().getObjectId()

if event == "buy" :

htmltext = "buy.htm"

elif event.startswith('buy_') :

if st.getQuestItemsCount(ITEM_ID) <= ITEM_COUNT :

return "n-money.htm"

buy_skill = str(event.replace("buy_", ""))

buy_skill_splite = buy_skill.split('_')

st.takeItems(ITEM_ID, ITEM_COUNT)

st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1])))

skill_name = st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1])).getName())

con=L2DatabaseFactory.getInstance().getConnection()

sql=con.prepareStatement("INSERT INTO character_skills (char_obj_id, skill_id, skill_level, skill_name) VALUES (?,?,?,?)")

sql.setInt(1, ownerid)

sql.setInt(2, int(buy_skill_splite[0]))

sql.setInt(3, int(buy_skill_splite[1]))

sql.setString(4, str(skill_name))

rs=sql.executeQuery()

con.close()

if ONLY_ONE :

st.set("onlyone", "1")

st.set("cond", "0")

st.setState(COMPLETED)

htmltext = "buy.htm"

return htmltext

 

 

QUEST = Quest( -1, qn, "custom")

 

CREATED = State('Start', QUEST)

STARTED = State('Started', QUEST)

COMPLETED = State('Completed', QUEST)

 

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(NPC_ID)

QUEST.addTalkId(NPC_ID)

 

 

 

попробуй так, если поможет с тебя спасибка.

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

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


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

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

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

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

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

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

Войти

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

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

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

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

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