paki: Все сообщения за 15 Сентября 2006 года

 
ПнВтСрЧтПтСбВс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

paki

новичок
Как будет опраделяться какой шмот разбить из инвентаря, если лежит несколько,через квест я хотел сделать следующим образом: сначала НПС выдает список : Грейд шмота, затем - бижутерия, оружие, броня (которая в свою очередь разделяеися на лайт, хевик, роба) - затем уже список, из которого выбираешь что разбить (все это делается через html), разбивается естественно только 1 шмотка за один клик, поэтому проверять одета или нет необязательно.
У меня скомпилированная ST сборка, фаила RequestMultiSellChoose в ней нет, скорей всего он под другим именем лежит, хотелось бы узнать что в нем содержится.

Попробовал упростить свой код, квест перестал загружаться вовсе =)
#Crystallizer
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

Crystal_D = 1458
Crystal_C = 1459
Crystal_B = 1460
MIN_LEVEL=20

##Бижутерия Д грейд (кольца)

Ring_of_Devotion = 890
Enchanted_Ring = 879
Black_Pearl_Ring = 880
Elven_Ring = 881
Mithril_Ring = 882

class Quest(JQuest):

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

def onEvent(self,event,st):
htmltext = event

## Меняем Ring_of_Devotion на 32Д кристалла
if event == "1" and st.getQuestItemsCount(Ring_of_Devotion) >= 1 and st.getPlayer().getLevel() >= 20:
st.takeItems(Ring_of_Devotion,1)
st.giveItems(Crystal_D,32)

st.setState(COMPLETED)
htmltext = "

## Меняем Enchanted_Ring на 51Д кристалл

if event == "2" and st.getQuestItemsCount(Enchanted_Ring) >= 1 and st.getPlayer().getLevel() >= 20:
st.takeItems(Enchanted_Ring,1)
st.giveItems(Crystal_D,51)

st.setState(COMPLETED)
htmltext = "



## Меняем Black_Pearl_Ring на 77Д кристалла

if event == "3" and st.getQuestItemsCount(Black_Pearl_Ring) >= 1 and st.getPlayer().getLevel() >= 20:
st.takeItems(Black_Pearl_Ring,1)
st.giveItems(Crystal_D,77)

st.setState(COMPLETED)
htmltext = "



## Меняем Elven_Ring на 113Д кристалла

if event == "4" and st.getQuestItemsCount(Elven_Ring) >= 1 and st.getPlayer().getLevel() >= 20:
st.takeItems(Elven_Ring,1)
st.giveItems(Crystal_D,113)

st.setState(COMPLETED)
htmltext = "



## Меняем Mithril_Ring на 146Д кристалла

if event == "5" and st.getQuestItemsCount(Mithril_Ring) >= 1 and st.getPlayer().getLevel() >= 20:
st.takeItems(Mithril_Ring,1)
st.giveItems(Crystal_D,146)

st.setState(COMPLETED)
htmltext = "



if htmltext != event:
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext

def onTalk (self,npc,st):
npcId = npc.getNpcId()
if npcId == 7543:
st.setState(STARTED)
htmltext = "7543-Crystallizer.htm"
return htmltext

QUEST=Quest(777,"777_Crystallizer","Crystallizer")
CREATED=State('Start',QUEST)
STARTED=State('Started',QUEST)
COMPLETED=State('Completed',QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(7543)
STARTED.addTalkId(7543)
print "importing quests: 777: Crystallizer"

 

paki

новичок
А если вернуть исходный java код, произвести изменения, и компелировать обратно?!
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru