Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Вопрос по скрипту(Итем ГК) (https://forum.zone-game.info/showthread.php?t=19982)

fedmen 13.05.2012 01:36

Вопрос по скрипту(Итем ГК)
 
Нпц телепортирующий за итем все координаты ТП показывает в одном окне, а мне надо на разны хлтм вкладках,чтобы на первом окне были кнопки ведущие к другим разделам с координатами.
Пример:
1-я кнопка баюм:
114114 18432 6995 -тп 1
115185 13700 7008 -тп 2
112273 16582 6995 -тп 3


2-я кнопка Антарас:
116763 17194 4975
112596 17239 4975
114457 18731 4975

Сам скрипт.
Код:

import sys

from com.l2jfrozen.gameserver.model.actor.instance import      L2PcInstance
from com.l2jfrozen.gameserver.model.quest        import State
from com.l2jfrozen.gameserver.model.quest        import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
qn = "918_ItemTeleport"
ITEM = 18410

DATA={
99990:[ 12160,  16554,-4583],# 1-ый телепорт
99991:[115594,-177993, -912],# 2-ой телепорт
99992:[ 45470,  48328,-3059],# 3-ый телепорт
99993:[-45067,-113563, -199],# 4-ый телепорт
99994:[-84053, 243343,-3729]# 5-ый телепорт
}

class Quest (JQuest) :

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

 def onEvent (self,event,st) :
  htmltext = event
  if event.isdigit():
      dest=int(event)
      if dest in DATA.keys():
        x,y,z=DATA[dest]
        if x and y and z:
            if st.getQuestItemsCount(ITEM):
              st.takeItems(ITEM,1)
              st.getPlayer().teleToLocation(x,y,z)
            else:
              st.exitQuest(1)
              return "Incorrect item count"
  st.exitQuest(1)
  return

 def onTalk (Self,npc,player):
  st = player.getQuestState(qn) 
  npcId = npc.getNpcId()
  if player.getLevel() >= 81: # Тут можно поставить ограничения по лвлу
    htmltext="1.htm"
    st.exitQuest(1)
  else:
    htmltext=str(npcId)+".htm"
  return htmltext
 
QUEST      = Quest(918,qn,"Teleports")

for i in DATA.keys() :
    QUEST.addStartNpc(i)
    QUEST.addTalkId(i)

Хлтм 1:
Код:

<html><body>
<br>
<br>
Приветствую тебя, странник. <br>
Я могу тебе перенести к РБ и в секретную Фарм Зону. <br><font color="FF9933">Item</font><br>
<a action="bypass -h npc_%objectId%_Quest 918_ItemTeleport">Телепорт</a><br>
</body></html>

Хлтм 2:
Код:

<html><body><br>
<a action="bypass -h Quest 918_ItemTeleport 99990">1-ая точка телепорта</a><br>
<a action="bypass -h Quest 918_ItemTeleport 99991">2-ая точка телепорта</a><br>
<a action="bypass -h Quest 918_ItemTeleport 99992">3-ая точка телепорта</a><br>
<a action="bypass -h Quest 918_ItemTeleport 99993">4-ая точка телепорта</a><br>
<a action="bypass -h Quest 918_ItemTeleport 99994">5-ая точка телепорта</a><br>
</body></html>


Astend 20.05.2012 01:11

Re: Вопрос по скрипту(Итем ГК)
 
Для начала чисто поржать:
Цитата:

Сообщение от fedmen (Сообщение 187739)
Хлтм 1:

Цитата:

Сообщение от fedmen (Сообщение 187739)
Хлтм 2:

XD

Первое:
Зайди в любой другой квест и посмотри как там путь прописываеться на другие твои хлтм:D

Второе:
Можешь изменить это
Код:

def onEvent (self,event,st) :
  htmltext = event
  if event.isdigit():
      dest=int(event)
      if dest in DATA.keys():

на это:
Код:

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

        if event == "1":
        return "1.htm"
        if event == "2":
        return "2.htm"
        if event == "3":
        return "3.htm"

                #и т.д. в зависимости сколько нужно страничек

  if event.isdigit():
      dest=int(event)
      if dest in DATA.keys():

в самой папке делаешь 1.htm, 2.htm, 3.htm (и т.д. в зависимости сколько нужно страничек)

а кнопки для перехода на страничку перехода будет вглядеть так:
<a action="bypass -h npc_%objectId%_Quest 918_ItemTeleport 1"> - 1.htm
<a action="bypass -h npc_%objectId%_Quest 918_ItemTeleport 2"> - 2.htm
<a action="bypass -h npc_%objectId%_Quest 918_ItemTeleport 3"> - 3.htm

вот как то так

P.S. почитай python...

Sisi 20.05.2012 11:09

Re: Вопрос по скрипту(Итем ГК)
 
:D Человек делает старым дедовским методом, что плохого?


Текущее время: 16:09. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot