htm bypass -h - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:help oO

Ответ
Опции темы
Непрочитано 15.10.2011, 23:23   #1
Аватар для NiddHoggUA
Пользователь

Автор темы (Топик Стартер) htm bypass -h

Помогите разобраться...
у меня есть npc, его id 40002
есть htm для него, то есть та, которая показывается когда нажимаешь на нпц. (40002.htm)

в этом файле есть такая кнопка и в ней такой екшн:

Код:
bypass -h npc_%objectId%_Quest 912_buffer
что оно делает.... оно переносит меня на на другую страницу...

и что же мне надо? Мне надо что бы при нажатие кнопки происходило какое то действие.

Что то вроде :
Код:
bypass -h npc_%objectId%_Quest 912_buffer fullbuff
или же
Код:
bypass -h Quest 912_buffer fullbuff
где fullbuff - event в скрипте который отвечает за баф,
а 912_buffer - имя квеста.

только это не работает...
подскажите как сделать это правильно
NiddHoggUA вне форума Отправить сообщение для NiddHoggUA с помощью ICQ Отправить сообщение для NiddHoggUA с помощью MSN Отправить сообщение для NiddHoggUA с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 03:20   #2
Live free or die!

По умолчанию Re: htm bypass -h

Неплохо бы выложить скриптец, а то как-то не очень удобно гадать.
Dеmon вне форума Ответить с цитированием
Непрочитано 16.10.2011, 11:03   #3
Аватар для NiddHoggUA
Пользователь

Автор темы (Топик Стартер) Re: htm bypass -h

скрипт чего именно?
NiddHoggUA вне форума Отправить сообщение для NiddHoggUA с помощью ICQ Отправить сообщение для NiddHoggUA с помощью MSN Отправить сообщение для NiddHoggUA с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 11:15   #4
Аватар для mazillka
Пользователь

По умолчанию Re: htm bypass -h

Цитата:
Сообщение от NiddHoggUA Посмотреть сообщение
скрипт чего именно?

наверное бафера?
__________________
Lineage 2 Manuals
mazillka вне форума Отправить сообщение для mazillka с помощью ICQ Отправить сообщение для mazillka с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 12:12   #5
Аватар для NiddHoggUA
Пользователь

Автор темы (Топик Стартер) Re: htm bypass -h

пф не знаю зачем но ок скину
Код:
import sys
from l2jlionna.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from l2jlionna.gameserver.datatables import SkillTable
from l2jlionna			       import L2DatabaseFactory
from l2jlionna.gameserver.model.quest import State
from l2jlionna.gameserver.model.quest import QuestState
from l2jlionna.gameserver.model.quest.jython import QuestJython as JQuest

qn = "912_buffer"

#Включение\выключение разделов. Для выключения замените ON на OFF 
attack 		= "ON"
defence 	= "ON"
resist 		= "ON"
support 	= "ON"
warcryer  	= "ON"
overlord 	= "ON"
song 		= "ON"
dance 		= "ON"
noble 		= "ON"
summon 		= "ON"
cubic 		= "ON"

NPC          = [40002]
prise_ID	 = 57
QuestId      = 912
vip_ID        = 1166
QuestName    = "buffer"
QuestDesc    = "custom"
InitialHtml  = "buff.htm"

#Выставление цен на бафы 
min_level	 		= 1
max_level	 		= 90
min_prise	 		= 1
buff_prise   		= 0
Chant_prise  		= 0
song_prise	 		= 0
Dance_prise	 		= 0
Hero_prise	 		= 0
Noble_prise	 		= 0
Summon_prise 		= 0
Prophecy_prise 		= 0
cubic_prise  		= 0
Full_buff_f1_prise 	= 0
Full_buff_f2_prise 	= 0
Full_buff_f3_prise 	= 0
Full_buff_m1_prise 	= 0
Full_buff_m2_prise 	= 0
Full_buff_m3_prise 	= 0
all_song_prise 		= 0
all_dance_prise 	= 0

print "importing custom: 912_buffer     OK"

class Quest (JQuest) :

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


	def onEvent(self,event,st):
		htmltext = event
		count=st.getQuestItemsCount(prise_ID)
		if count < min_prise :
			htmltext = "<html><head><body>У вас не достаточно денег.</body></html>"
			if st.getPlayer().getLevel() < min_level :
				htmltext = "<html><head><body>У вас слишком маленький уровень.</body></html>"
				if st.getPlayer().getLevel() < max_level :
					htmltext = "<html><head><body>У вас слишком высокий уровень.</body></html>"
		else:
			st.takeItems(prise_ID,0)
			st.getPlayer().setTarget(st.getPlayer())
			
			if event == "30100":
			    amount=st.getQuestItemsCount(vip_ID)
			    if amount < min_prise :
					return "no_vip.htm"
					st.setState(State.COMPLETED)
			    else:
					return "vip.htm"
					st.setState(State.COMPLETED)
					
			if event == "fullbuff": 
				st.getPlayer().setTarget(st.getPlayer().getPet()) 
				if st.getPlayer().getPet() == None :
					return "no_pet.htm"		
					st.setState(State.COMPLETED)
				else:
					st.getPlayer().getPet().stopAllEffects()
					SkillTable.getInstance().getInfo(1068,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1077,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1268,4).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1035,4).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1045,6).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1388,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1363,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(269,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(364,1).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(4699,13).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())	
					SkillTable.getInstance().getInfo(1085,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1059,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1078,6).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1048,6).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1397,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())					
					SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet())						
					
				
			if htmltext != event:
				st.setState(COMPLETED)
				st.exitQuest(1)
		return htmltext


	def onTalk (self,npc,player):
	   st = player.getQuestState(qn)
	   htmltext = "<html><head><body>I have nothing to say to you</body></html>"
	   st.setState(State.STARTED)
	   return InitialHtml
	   

QUEST       = Quest(912,qn,"custom")


for npcId in NPC:
 QUEST.addStartNpc(npcId)
 QUEST.addTalkId(npcId)
Добавлено через 38 секунд
то есть мне надо что бы при нажатие на кнопку сразу кидало на Event "fullbuff"

Последний раз редактировалось NiddHoggUA; 16.10.2011 в 12:12. Причина: Добавлено сообщение
NiddHoggUA вне форума Отправить сообщение для NiddHoggUA с помощью ICQ Отправить сообщение для NiddHoggUA с помощью MSN Отправить сообщение для NiddHoggUA с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 12:15   #6
Аватар для Azagthtot
Эксперт

По умолчанию Re: htm bypass -h

Давайте поймем разницу между
npc_%objectId%_Quest
и просто Quest
в первом случае беретеся квест из привязанных к NPC (т.е. для тех NpcId,Ю для которых в квесте вызван addStartId и addTalkId)
во втором, квест будет искаться в списке квестов (для которых создан QuestState) у игрока.
Поэтому, если вы не уверены, взят ли квест у пользователя используйте вызов
npc_%objectId%_Quest и естественно, убедитесь что квест привязан к этому NPC
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 12:23   #7
Аватар для NiddHoggUA
Пользователь

Автор темы (Топик Стартер) Re: htm bypass -h

спасибо за ответ

хорошо, допустим я буду использовать
npc_%objectId%_Quest 912_buffer

как мне сделать что бы оно переходило не на onFirstTalk а на мой Event(fullbuff) при нажатие на ту кнопку?
NiddHoggUA вне форума Отправить сообщение для NiddHoggUA с помощью ICQ Отправить сообщение для NiddHoggUA с помощью MSN Отправить сообщение для NiddHoggUA с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 12:34   #8
Аватар для Azagthtot
Эксперт

По умолчанию Re: htm bypass -h

написать имя эвента после имени квеста
Azagthtot вне форума Отправить сообщение для Azagthtot с помощью ICQ Отправить сообщение для Azagthtot с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 16.10.2011, 18:13   #9
Аватар для NiddHoggUA
Пользователь

Автор темы (Топик Стартер) Re: htm bypass -h



npc_%objectId%_Quest 912_buffer fullbuff

и всё? правильно? оО
NiddHoggUA вне форума Отправить сообщение для NiddHoggUA с помощью ICQ Отправить сообщение для NiddHoggUA с помощью MSN Отправить сообщение для NiddHoggUA с помощью Skype™ Ответить с цитированием
Непрочитано 16.10.2011, 18:16   #10
Аватар для mazillka
Пользователь

По умолчанию Re: htm bypass -h

Цитата:
Сообщение от NiddHoggUA Посмотреть сообщение


npc_%objectId%_Quest 912_buffer fullbuff

и всё? правильно? оО
а почему бы вам самостоятельно не проверить? делов то на 2 минуты
__________________
Lineage 2 Manuals
mazillka вне форума Отправить сообщение для mazillka с помощью ICQ Отправить сообщение для mazillka с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
bypass -h npc_%objectId%_SupportMagic krisadr Lineage II 3 06.04.2010 08:30


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 20:32. Часовой пояс GMT +3.

Вверх