Draku1a 41 Опубликовано 22 января, 2013 import sys from ru.catssoftware.gameserver.datatables import SkillTable 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 qn = "5809_Usweer_NPC_add_skill" #ID Айтима ID_ITEM = 6673 #Колличество айтимов NEED_ITEM = 1 #Айди и лвл скила который будет выдан ID_SKILL = 420 LEVEL_SKILL = 3 #Минимальные левел который может получать скилл MIN_LVL = 1 #Максимальные левел который может получить скилл MAX_LVL = 80 NPC=[51809] QuestId = 5809 QuestName = "Usweer_NPC_add_skill" QuestDesc = "quest" print "importing quest: 51809: Usweer NPC add skill" class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onTalk (self,npc,player): st = player.getQuestState(qn) if st.getPlayer().getLevel() < MIN_LVL or st.getPlayer().getLevel() > MAX_LVL : return "badlevel.htm" elif st.getState() == State.COMPLETED : return "skillinyou.htm" elif st.getQuestItemsCount(ID_ITEM) < NEED_ITEM : return "noitem.htm" else: st.takeItems(ID_ITEM,NEED_ITEM) st.getPlayer().addSkill(SkillTable.getInstance().getInfo(ID_SKILL,LEVEL_SKILL)) st.setState(State.COMPLETED) return "skilladd.htm" QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) for npcId in NPC: QUEST.addStartNpc(npcId) QUEST.addTalkId(npcId) Как дописать в етот код, ешо несколько скилов, штобы 1 кнопка 1 скил 2я другой? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jumper 551 Опубликовано 22 января, 2013 точно не уверен в работе, но что то типо того это else: st.takeItems(ID_ITEM,NEED_ITEM) st.getPlayer().addSkill(SkillTable.getInstance().getInfo(ID_SKILL,LEVEL_SKILL)) st.setState(State.COMPLETED) return "skilladd.htm" заменить на это st.takeItems(ID_ITEM,NEED_ITEM) # Допустим скил Dash if event == "2": st.getPlayer().addSkill(SkillTable.getInstance().getInfo(ид скила Dash,лвл Dash скила)) st.setState(State.COMPLETED) return "skilladd.htm" # Допустим скил Hurrican if event == "3": st.getPlayer().addSkill(SkillTable.getInstance().getInfo(ид скила Hurrican,лвл Hurrican скила)) st.setState(State.COMPLETED) return "skilladd.htm" хотя врятли это поможет, радикально переписать здесь надо будет) хотя может и есть еще варианты, если не найдешь, пиши по контактам, чем смогу) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты