Простой квест
L2jOfficial
Решил попробовать написать простой квест на питоне.
Суть: Подхожу к npc, разговариваю с ним, и если есть определенное кол-во адены, показывает 1.htm, если нет - 2.htm
Но выдаёт ошибку при запуске ГС, а в игре пишет "не подходящие условия и т.п."
Ошибка:
Line: -1 - Column: -1
Traceback (innermost last):
File "__init__.py", line 27, in ?
TypeError: iteration over non-sequence
Вижу, что на 27-строке ошибка, но почему, не знаю. Смотрел другие квесты, там примерно также, но всё нормально работает.
Init:
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 = "6501_Fucker"
NPC = 65001
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 not st : st = self.newQuestState(player)
if st.getQuestItemsCount(57) < 100000 :
htmltext = "1.htm"
else :
htmltext = "2.htm"
return htmltext
st.exitQuest(1)
QUEST = Quest(-1,qn,"custom")
for io in NPC :
QUEST.addStartNpc(io)
QUEST.addTalkId(io)
Может быть, ошибка где-то тут:
st = player.getQuestState(qn)
if not st : st = self.newQuestState(player)
Поиск мне не помог. Смотрел другие квесты - не вижу ошибки. Помогите.
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit
Проблема в этом участке.
QUEST.addStartNpc(io)
QUEST.addTalkId(io)
Переменная NPC не массив, зачем прогонять ее под циклом ?
Заменяем на
QUEST.addTalkId(NPC)
— Ålderdom - ingen glädje..
Я делал так, как ты написал. Не помогает. Ошибку при запуске не пишет, но в игре html'ка не отображается. "Не соблюдены минимальные требования для квеста..."
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit
питон ваще говно!!!!ONEoNe11АдЫн
там сделаешь отступ в неправильном месте и тебе ошибку выдаст.. там странный синтаксис....вобщем говно еще то, никогда его не любил!!!
xxblxx: питон ваще говно!!!!ONEoNe11АдЫн
там сделаешь отступ в неправильном месте и тебе ошибку выдаст.. там странный синтаксис....вобщем говно еще то, никогда его не любил!!!
Согласен, поставишь таб, так тебе:
line 30, ? "\tElse :" Syntax Error
Я, в общем, наверно, кину этот питон. Буду на яве пробовать. А вместо Оффициал, возьму Эму.
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit
Когда работаешь с питоном, работай в чудеснейшей программе Notepad ++
Тебе легче будет плюс меньше вероятности, что допустишь (сделаешь) ошибку.
SPaRTAнец: Когда работаешь с питоном, работай в чудеснейшей программе Notepad ++Тебе легче будет плюс меньше вероятности, что допустишь (сделаешь) ошибку.
Я только этим редактором и пользуюсь. :)
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit
Питон не гавно сам на нем квесты, эвенты писал, дописывал ai боссам, просто гемора многовато.... Но когда пишешь что то глобальное на питоне - типа новомодного эвента с большим кол-вом НПСов и потом все таки написал (с горем пополам) через дня 4, то радуешься ужс как ;) т.к получается вкусная конфетка :D
Ктулху зохавывает всех (;,;)
Lineage 2: C4 - online / C5,IT,Kamael - offline>
А зачем драть извините жопу, когда на яве можно в качестве ai написать любой скрипт.
Средства для обработки событий есть, наследуем классы и вперед.
Питон как язык довольно не плох, возможности не маленькие.
А вот с синтаксом он реально подкачал, раз в 10 уродливее например Lua.
— Ålderdom - ingen glädje..
Stalkerok: Питон не гавно сам на нем квесты, эвенты писал, дописывал ai боссам, просто гемора многовато.... Но когда пишешь что то глобальное на питоне - типа новомодного эвента с большим кол-вом НПСов и потом все таки написал (с горем пополам) через дня 4, то радуешься ужс как ;) т.к получается вкусная конфетка :D
Ну, так радостно всегда, когда что-то работает. :) И не важно на каком языке написано.
Ява то лучше.
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit
Ява то да, но я ее еще не освоил... Время нужно, так что пока приходиться драть жопу ;)
Ктулху зохавывает всех (;,;)
Lineage 2: C4 - online / C5,IT,Kamael - offline>
MeCAiR: Ну, так радостно всегда, когда что-то работает. :) И не важно на каком языке написано.
Ява то лучше.
Java - Пофункциональнее. Но и на Питоне можно сделать ух какую конфетку
я на питоне написал 2 квеста и 1 эвент!!!! Я ЗАДРАЛСЯ ПРАВИТЬ СИНТАКСИЧЕСКИЕ ОШИБКИ ТИПА:
line 30, ? "\tElse :" Syntax Error
на яве такого нету! пиши с отступами, как тебе удобно, для читабельности кода....
xxblxx: пиши с отступами, как тебе удобно, для читабельности кода....
Эхх красота... блин для этого учебниг читать надо, будет время обязательно возьмусь - ради такого соблазна.....
Ктулху зохавывает всех (;,;)
Lineage 2: C4 - online / C5,IT,Kamael - offline>
xxblxx: я на питоне написал 2 квеста и 1 эвент!!!! Я ЗАДРАЛСЯ ПРАВИТЬ СИНТАКСИЧЕСКИЕ ОШИБКИ ТИПА:
на яве такого нету! пиши с отступами, как тебе удобно, для читабельности кода....
Я знаю, что нету. :)
Но по мне, 2 пробела лучше 1 таба. ^_^
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit




