Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
htm bypass -h
#1
Помогите разобраться...
у меня есть 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 - имя квеста.

только это не работает...
подскажите как сделать это правильно
Ответ
#2
Неплохо бы выложить скриптец, а то как-то не очень удобно гадать.
Ответ
#3
скрипт чего именно?
Ответ
#4
NiddHoggUA Написал:скрипт чего именно?


наверное бафера?
Ответ
#5
пф не знаю зачем но ок скину
Код:
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"
Ответ
#6
Давайте поймем разницу между
npc_%objectId%_Quest
и просто Quest
в первом случае беретеся квест из привязанных к NPC (т.е. для тех NpcId,Ю для которых в квесте вызван addStartId и addTalkId)
во втором, квест будет искаться в списке квестов (для которых создан QuestState) у игрока.
Поэтому, если вы не уверены, взят ли квест у пользователя используйте вызов
npc_%objectId%_Quest и естественно, убедитесь что квест привязан к этому NPC
Ответ
#7
спасибо за ответ

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

как мне сделать что бы оно переходило не на onFirstTalk а на мой Event(fullbuff) при нажатие на ту кнопку?
Ответ
#8
написать имя эвента после имени квеста Smile
Ответ
#9
Big Grin

npc_%objectId%_Quest 912_buffer fullbuff

и всё? правильно? оО
Ответ
#10
NiddHoggUA Написал:Big Grin

npc_%objectId%_Quest 912_buffer fullbuff

и всё? правильно? оО

а почему бы вам самостоятельно не проверить? делов то на 2 минуты
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  bypass validation energy 11 3,595 04-17-2015, 02:39 PM
Последний пост: Donatte
  Местонахождение Bypass'ов SoFace 1 1,409 04-06-2014, 12:15 AM
Последний пост: Ashe
  Кирилица и bypass Archiel 0 1,119 10-22-2013, 12:05 AM
Последний пост: Archiel

Перейти к форуму:


Пользователи, просматривающие эту тему: 6 Гость(ей)