-
Публикаций
0 -
Зарегистрирован
-
Посещение
-
Отзывы
0%
Репутация
0Информация о Max
-
Звание
Только пришел
Информация
-
Пол
Мужчина
-
Город
Москва
Контакты
- Сайт
-
ICQ
625779348
-
все квест дописан все работает даже пет бафера вкрутил туда теперь думаю над тем как уйти от того чтобы квест начинался у телепортера в глудио так как изначально была мысль что все новые персонажи чтобы попасть в мир из нубской деревни обязательно общаются с этим телепортером НО не учел то обстоятельство, что в дальнейшем игроки используют сумонеров (варк, котовод, коневод) и сразу могут присумонить нового чара в гиран тогда квест уже не работает и они не могут общаться с нпс пока случайно не попадут в глудио. Еще 1 момент над которым я сейчас думаю это как забирать большие крылья у лидера клана и давать ему маленькие если он распускает клан но это скорее всего реализую тут впринципе нет особо сложного надо просто в квест впихнуть хтмлки виладж мастеров и зарегить их в квесте и перенести в него функцию роспуска кланов. Следующий момент это сделать чтоб при вступлении противоположной стороны в клан противоположной стороны для всех игроков этого клана переставали работать телепорты и в шаут шло сообщение "Внимание Ангелы возможны предательства...." и еще чтоб при вступлении в братство об этом тоже сообщалось в чате на весь мир игрок с ником таким то втупил в братство демонов (ангелов) ну вот впринципе и все дополнение.
-
P.S. интуитивно предполагаю что чтото нужно сюда добавить: def onEvent (self,event,st) :
-
Теперь е*сь вот с чем: if event == "71000-5.htm" : #Получить крылья Лидера if leader and clanLevel > 4 : #Проверка на лидера клана и лвл клана st.takeItems(ANWINGS_ID,1) #забрать маленькие крылья st.giveItems(ALWINGS_ID,1) #дать большие крылья else: htmltext="71000-19.htm" #ты не КЛ либо уровень клана меньше 5 ввожу константы: leader=st.getPlayer().getClan(). getClanLeader() clanLevel=st.getPlayer().getClan().getLevel() в итоге ошибка: Traceback (innermost last): File "__init__.py", line 43, in onEvent AttributeError: 'NoneType' object has no attribute 'getClanLeader' Полный лог ошибки: Скрытый текстTraceback (innermost last): File "__init__.py", line 43, in onEvent AttributeError: 'NoneType' object has no attribute 'getClanLeader' at org.python.core.Py.AttributeError(Unknown Source) at org.python.core.PyObject.noAttributeError(Unknown Source) at org.python.core.PyObject.__getattr__(Unknown Source) at org.python.core.PyObject.invoke(Unknown Source) at org.python.pycode._pyx43.onEvent$3(__init__.py:43) at org.python.pycode._pyx43.call_function(__init__.py) at org.python.core.PyTableCode.call(Unknown Source) at org.python.core.PyTableCode.call(Unknown Source) at org.python.core.PyTableCode.call(Unknown Source) at org.python.core.PyFunction.__call__(Unknown Source) at org.python.core.PyMethod.__call__(Unknown Source) at org.python.core.PyObject.__call__(Unknown Source) at org.python.core.PyObject._jcallexc(Unknown Source) at org.python.core.PyObject._jcall(Unknown Source) at org.python.proxies.main$Quest$40.onEvent(Unknown Source) at com.l2scoria.gameserver.model.quest.Quest.onAdvEvent(Quest.java:586) at com.l2scoria.gameserver.model.quest.Quest.notifyEvent(Quest.java:419) at com.l2scoria.gameserver.model.actor.instance.L2PcInstance.processQuestEvent(L2Pc Instance.java:1552) at com.l2scoria.gameserver.network.clientpackets.RequestBypassToServer.runImpl(Requ estBypassToServer.java:227) at com.l2scoria.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClien tPacket.java:99) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Тут есть вобще питонисты ппц я вобще не программист сам все ковыряю методом сравнения поучаствуйте хоть ктото а то я буду продолжать в одиночку так как не вижу смысла тут дальше чтото выкладывать. Кстати баферов и питомцев тоже прикрутил все работает питомцев выдает с проверкой на наличие адены. Если ктото будет обсуждать могу делиться дальше а так ну нафик таких тем нигде больше нет поражаюсь безразличием
-
С этой частью разобрался выглядит это так: if event == "72000-10.htm" : #Выйти из братства if cond==2 and count > 499999999 : #Проверка на принадлежность к братству и наличие адены st.takeItems(ADENA_ID,500000000) #забираем 500кк st.takeItems(DEWINGS_ID,1) #забираем маленькие крылья (если они есть) st.takeItems(DLWINGS_ID,1) #забираем большие крылья (если они есть) st.takeItems(PDEMON_ID,1) #забираем питомца (если он есть) st.takeItems(DLWEPN_ID,1) #забираем оружие Лидера (если есть) st.set("cond","1") #переводим квест в состояние когда мы можем вступить в любое братство else: htmltext="72000-21.htm" #У тебя недостаточно денег Для Ангелов эдентично. В самом начале раздела def onEvent ввел константу count=st.getQuestItemsCount(ADENA_ID)
-
Был сначала офигенный сайт во флеше но изза того что невозможно разместить во флеше кнопку л2топ пришлось перейти на статику а на статике что хорошее сложно сделать но видимо когда ты заходил это самое начало мы потихоньку дорабатываем так что думаю все будет нормально в итоге. Добавлю что онлайн перейдет с другого сервера как только все настроим так что через месяцок зайди посмотри онлайн 1000+ будет как минимум и описания на сайте особо никому не нужны если честно написать можно что угодно
-
Да форум оказывается мертвый может кто хоть подскажет нормальный форум где темку разместить? 56 просмотров и ни одного ответа(
-
Сегодня сделал блок выхода из братства все работает нормально единственно опять же нужна проверка на количество адены так как пока адена есть она отнимается по 500кк когда у вас допустим всего 300кк то отнимется 300кк если у вас 0 соответственно ничего не отнимется но из братства вы выйдите соответственно нужна проверка что ADENA_ID>500000000 теоретически должно быть так: if event == "72000-10.htm" : if st.getQuestItemsCount(ADENA_ID) > 500000000 : if cond==2: st.takeItems(ADENA_ID,500000000) st.takeItems(DEWINGS_ID,1) st.takeItems(DLWINGS_ID,1) st.takeItems(PDEMON_ID,1) st.set("cond","1") else: htmltext="72000-11.htm" #У вас недостаточно денег чтобы покинуть братство Не знаю почему но это не работает! Помогаем!
-
Теперь пойдем дальше: В настоящее время занимаюсь реализацией пункта "получить слугу" Скрытый текстif event == "71000-7.htm" : if st.getQuestItemsCount(ADENA_ID) < 5000000 : if st.getQuestItemsCount(PANGEL_ID) > 0 : st.takeItems(ADENA_ID,5000000) st.giveItems(PANGEL_ID,1) else: htmltext=default else: htmltext="The section to be in a development stage!" Слугу я сделал из baby kokabura и baby buffalo поменяв им внешний вид и статы. По задумке эта часть квеста должна определять: 1. У персонажа есть 5кк адены и если нету написать что у него нехватает денег 2. У персонажа нет питомца PDEMON_ID и если есть то написать что питомец уже есть А если есть деньги и нет питомца соответственно отнять деньги и выдать питомца! Но увы не работает( так что присоединяемся помогаем кто чем может. Теперь дальше вопрос к знатокам по проверкам: помогите написать проверку персонажа, что он является Клан лидером и его клан имеет 5 лвл и если условия удовлетворяется забрать у него маленькие крылья ANWINGS_ID = 10580 или DEWINGS_ID = 10581 и выдать ему большие ALWINGS_ID = 10582 или DLWINGS_ID = 10579 в зависимости от братства в котором он состоит. Пока вот эти 2 важных момента дальше по ходу будем вместе с вами разбирать остальные пункты. Я так же продолжаю работать над квестом и если чтото будет получаться буду дополнять тему! Заранее спасибо всем кто присоединиться к обсуждению!
-
Видел такое чудо на одном из серверов и вот решел реализовать на своем проекте La2Ultra.ru В двух словах о самом квесте. Дополнение с помощью которого мир Lineage II разделяется на две половины - светлую и темную. Игроки смогут принять одну из древних противоборствующих сторон, Ангелов или Демонов. В славном городе Гиран перед входом в храм, игроки смогут найти Мастеров каждой стороны, и вступить в то или иное братство. После вступления игрок получает отличительный знак братства - маленькие крылья, обладающие следующими магическими свойствами: в случае смерти с персонажа не спадают заклинания, а также увеличивается скорость атаки и шанс критического удара. Лидер Клана, достигшего 5-го уровня, получает возможность приобрести у Мастера своей стороны Крылья Лидера Клана, которые имеют более высокие статы, чем обычные крылья братства. В случае достижения кланом 8-го уровня, Лидер такого Клана получает возможность приобрести у Мастера своего братства специальное оружие Лидера. Для каждой из противоборствующих сторон этот итем уникален и представляет из себя двуручное древковое оружие, которое по своим боевым характеристикам превосходит характеристики большинства видов оружия S грейда. Достигнув 76-го лвл Лидеры Кланов приобретают активный навык, позволяющий немедленно призвать к себе всех членов клана, находящихся в этот момент в игре. Каждый персонаж, вступивший в братство, получает возможность приобрести у своего Мастера персонального питомца. У каждого братства есть свой баффер. Теперь детали: За неделю бессонных ночей удалось реализовать следующее.... Скрытый текст#Angels_vs_Demons Quest Written By Maxon qn = "2010_A_vs_D" #NPC GKBELLA_ID = 30256 ABUFFER_ID = 70000 AMASTER_ID = 71000 DMASTER_ID = 72000 DBUFFER_ID = 73000 #QUEST ITEMS DLWINGS_ID = 10579 ANWINGS_ID = 10580 DEWINGS_ID = 10581 ALWINGS_ID = 10582 ADENA = 57 PDEMON_ID = 6650 PANGEL_ID = 6648 #MESSAGES default='<html><body>Go away a feathery creature while I haven"t split you into slices!</body></html>' class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent (self,event,st) : htmltext = event cond=st.getInt("cond") if event == "30256-1.htm" : if cond==0: st.set("cond","1") st.setState(STARTED) else: htmltext=default if event == "72000-3.htm" : if cond==1: st.giveItems(DEWINGS_ID,1) st.set("cond","2") if event == "71000-3.htm" : if cond==1: st.giveItems(ANWINGS_ID,1) st.set("cond","3") if event == "71000-7.htm" : if st.getQuestItemsCount(ADENA_ID) < 5000000 : if st.getQuestItemsCount(PANGEL_ID) > 0 : st.takeItems(ADENA_ID,5000000) st.giveItems(PANGEL_ID,1) else: htmltext=default else: htmltext="The section to be in a development stage!" if event == "72000-7.htm" : if st.getQuestItemsCount(ADENA_ID) < 5000000 : if st.getQuestItemsCount(PDEMON_ID) > 0 : st.takeItems(ADENA_ID,5000000) st.giveItems(PDEMON_ID,1) else: htmltext=default else: htmltext="The section to be in a development stage!" return htmltext def onTalk (self,npc,player): htmltext = default st = player.getQuestState(qn) if st : npcId = npc.getNpcId() id = st.getState() if id == CREATED : st.set("cond","0") cond = st.getInt("cond") if npcId == 30256 and cond == 0 : if player.getLevel() >= 1 and player.getLevel() <= 80 : htmltext = "30256-0.htm" elif id == STARTED : if npcId == 72000 and cond == 1 : htmltext = "72000-1.htm" elif npcId == 72000 and cond == 2 : htmltext = "72000-4.htm" elif npcId == 71000 and cond == 1 : htmltext = "71000-1.htm" elif npcId == 71000 and cond == 3 : htmltext = "71000-4.htm" elif npcId == 30256 and cond == 1 : htmltext = "30256-1.htm" elif npcId == 30256 and cond == 2 : htmltext = "30256-1.htm" elif npcId == 30256 and cond == 3 : htmltext = "30256-1.htm" return htmltext QUEST = Quest(2010,qn,"custom") CREATED = State("Start", QUEST) STARTED = State("Started", QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(30256) QUEST.addTalkId(30256) for i in range(70000,74000): QUEST.addTalkId(i) А теперь по порядку: 1. Необходимые НПС созданы и выставлены. 2. Начало квеста сделал у ГК в Глудио (т.к. через него проходят все новые чары) при этом игрок этого не заметит. (единственно добавлен новый "30256-0.htm" в котором написано "бла...бла...бла ты наконецто достиг момента чтобы отправиться в мир полный приключений но помни что опасность тебе подстерегает....бла..бла..бла", который появиться 1 раз для каждого нового чара начавшего диалог с ГК в Глудио. Скрытый текст def onEvent (self,event,st) : htmltext = event cond=st.getInt("cond") if event == "30256-1.htm" : if cond==0: st.set("cond","1") st.setState(STARTED) def onTalk (self,npc,player): htmltext = default st = player.getQuestState(qn) if st : npcId = npc.getNpcId() id = st.getState() if id == CREATED : st.set("cond","0") cond = st.getInt("cond") if npcId == 30256 and cond == 0 : htmltext = "30256-0.htm" 3. Добавляем соответственно главных НПС (Мастеров братства) Скрытый текст (def onTalk (self,npc,player) elif id == STARTED : if npcId == 72000 and cond == 1 : htmltext = "72000-1.htm" elif npcId == 72000 and cond == 2 : htmltext = "72000-4.htm" elif npcId == 71000 and cond == 1 : htmltext = "71000-1.htm" elif npcId == 71000 and cond == 3 : htmltext = "71000-4.htm" (def onEvent (self,event,st) if event == "72000-3.htm" : if cond==1: st.giveItems(DEWINGS_ID,1) st.set("cond","2") if event == "71000-3.htm" : if cond==1: st.giveItems(ANWINGS_ID,1) st.set("cond","3") В этой части любой из мастеров предложит вам вступить в его братство и выбрав одного из них вы получаете крылья братства Обратим внимание на "cond" при вступлении в братство он становиться разным (3 или 4) соответственно если вы подойдете к Мастеру чужого братства квест не продолжиться и он вас пошлет в лес за ягодами а если вы подойдете к НПС своего братства то уже попадете сразу на страницу "71000-4.htm" или "72000-4.htm" (т.е. второй раз вам уже не предложат вступить в братство)