питон
3 ответов57 просмотровСейчас просматривают: 1
· 13.01.2010, 17:35
Сборка: Interlude RT 1.3.1.4
Краткое изложение СУТИ проблемы: Проблема с дороботкой скрипта на питоне
Вопрос: Что и где нужно дописать чтобы НПС с данным скриптом менял предмет на предмет к примеру самое популярное кол на адену, но менял все что есть в инвентаре сразу тоесть к примеру 1КоЛ=1кк аден, у персонажа в инвентоде допустим 5КоЛов он подходит к НПЦ жмёт по диалогу НПЦ заберает колы и даёт 5кк аден
Вот сам скрипт (на данный момент он меняет только по одному КоЛу)
Цитата
import sys
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
qn = "99999_Adena"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "1":
if st.getQuestItemsCount(4037) >= 1:
st.takeItems(4037,1)
st.giveItems(57,1000000)
htmltext = "80006-3.htm"
else:
htmltext = "80006-2.htm"
if htmltext != event:
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
if not st : return
npcId = npc.getNpcId()
if npcId == 80006 :
htmltext = "80006-1.htm"
st.setState(STARTED)
return htmltext
QUEST = Quest(99999,qn,"custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(80006)
QUEST.addTalkId(80006)
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
qn = "99999_Adena"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "1":
if st.getQuestItemsCount(4037) >= 1:
st.takeItems(4037,1)
st.giveItems(57,1000000)
htmltext = "80006-3.htm"
else:
htmltext = "80006-2.htm"
if htmltext != event:
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
if not st : return
npcId = npc.getNpcId()
if npcId == 80006 :
htmltext = "80006-1.htm"
st.setState(STARTED)
return htmltext
QUEST = Quest(99999,qn,"custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(80006)
QUEST.addTalkId(80006)
заранее спасибо
0
· 13.01.2010, 21:26
было
Код
st.takeItems(4037,1)
st.giveItems(57,1000000)
st.giveItems(57,1000000)
стало
Код
count = st.getQuestItemsCount(4037)
st.takeItems(4037,count)
st.giveItems(57,1000000*count)
st.takeItems(4037,count)
st.giveItems(57,1000000*count)
Это же просто :)
0
Тема закрыта для ответов

