Witaj
Gość

Wątek: [Pytanie]Teleport za item  (Przeczytany 2894 razy)

  • Wiadomości: 13

  • Pochwał: 0

[Pytanie]Teleport za item
« dnia: Marzec 01, 2010, 07:14:32 am »
Jest taka możliwość aby w global gk dodać teleport w dane miejsce za jakiś item??


  • Wiadomości: 538

  • Pochwał: 26

Odp: [Pytanie]Teleport za item
« Odpowiedź #1 dnia: Marzec 01, 2010, 08:00:53 am »
Wszystko się da zrobić.


  • *******
  • Wiadomości: 1092

  • Pochwał: 22

Odp: [Pytanie]Teleport za item
« Odpowiedź #2 dnia: Marzec 01, 2010, 09:13:36 am »
Zobacz jak działają questowe GK.

data/scripts/teleports

One mają różne sprawdzenia, czy masz dany status, item itp.


  • *******
  • Wiadomości: 1185

  • Pochwał: 17

Odp: [Pytanie]Teleport za item
« Odpowiedź #3 dnia: Marzec 06, 2010, 09:55:43 pm »
Kod ten dziala napewno w oparciu o pliki l2jserver Gracia Final

1. Wejdz do folderu gamserver/data i edytuj plik scripts.cfg dodajac w nim na samym dole taka linijke:
Kod: (python) [Zaznacz]
# Custom Teleports
teleports/1142_Custom_Gate/__init__.py

2.Przejdz teraz do katalogu gameserver/data/scripts/teleports/ i utworz w nim katalog o nazwie: 1142_Custom_Gate

3.Wejdz do utworzonego katalogu i utworz plik tekstowy nazywajac go: __init__.py

4. Wklej zawartosc ktora podam nizej do pliku z pkt 3

Kod: (python) [Zaznacz]
# Custom_Gate - by Naito
import sys

from com.l2jserver.gameserver.model.actor.instance import      L2PcInstance
from com.l2jserver.gameserver.model.quest        import State
from com.l2jserver.gameserver.model.quest        import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
qn = "1142_Custom_Gate"
TOKEN = 110001
COIN = 110002

DATA={
11000:[174289,-86424,-5108], #Teleport pierwszy ktory powinien miec takie samo ID jak nazwa pliku htm w ktorym beda podane odpowiednie opcje teleportow
}

class Quest (JQuest) :

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

 def onAdvEvent (self,event,npc, player) :
   htmltext = event
   st = player.getQuestState(qn)
   if not st : return
   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(TOKEN) > 0 and st.getQuestItemsCount(COIN) > 0:
              st.takeItems(TOKEN,0) and st.takeItems(COIN,0)
              st.getPlayer().teleToLocation(x,y,z)
            else:
              st.exitQuest(1)
              return "Musisz posiadac TOKEN i COIN aby skorzystac z teleportu"
   st.exitQuest(1)
   return

 def onTalk (Self,npc,player):
   st = player.getQuestState(qn) 
   npcId = npc.getNpcId()
   if player.getLevel() <= 74:
     htmltext="1.htm"
     st.exitQuest(1)
   else:
     htmltext=str(npcId)+".htm"
   return htmltext

QUEST       = Quest(-1,qn,"Teleports")

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

Npc ten bedzie wymagal aby gracz mial przy sobie wiecej niz 0 TOKEN i COIN za co odpowiada ta linijka:
Kod: (python) [Zaznacz]
if st.getQuestItemsCount(TOKEN) > 0 and st.getQuestItemsCount(COIN) > 0:Jak rowniez nie zabierze tych przedmitow graczowi za co odpowiada ta linijka kodu:
Kod: (python) [Zaznacz]
st.takeItems(TOKEN,0) and st.takeItems(COIN,0)
Oczywiscie nie koniecznie musi tak byc mozna to zmienic tak aby wymagaly przedmioty i aby je zabieraly mysle ze jasno widac jak to zmienic.

5. Utworz w tym katalogu plik o nazwie 1.htm i wklej do niego te zawartosc:
Kod: (html) [Zaznacz]
<html><title>Custom Gate by Naito</title>
<body>
<center>
Gate Information:<br><br>
If u want use teleport, you must have 74 lvl or above
</center>
</body></html>

linjka ktora odpowiada za wymagany poziom gracza:
Kod: (python) [Zaznacz]
if player.getLevel() <= 74:

6. Utworz kolejny plik htm , nazwij go tak jak ID pierwszego teleportu czyli 11000.htm i wklej do niego te zawartosc:
<html><title>Custom Gate by Naito</title>
<body>
<br>
Custom Teleport Manager:<br>
<br>
<a action="bypass -h Quest 1142_Custom_Gate 11000">Teleprot Me !</a>
</body></html>

7. Edytuj kod html npc w ktorym chcesz aby byly te teleporty i dodaj w nim taki wpis:
<a action="bypass -h npc_%objectId%_Quest 1142_Custom_Gate">Custom Teleport Manager</a>
8. Oczywiscie aby npc wymagal itemow o id ktorych uzylem musza byc one wczesniej dodane do bazy danych w tabeli etcitem
za pomoca takich polecen:

Kod: (sql) [Zaznacz]
INSERT INTO `etcitem` (`item_id`, `name`, `additionalname`, `crystallizable`, `item_type`, `weight`, `consume_type`, `material`, `crystal_type`, `duration`, `time`, `price`, `crystal_count`, `sellable`, `dropable`, `destroyable`, `tradeable`, `depositable`, `handler`, `skill`) VALUES
(110001, 'Token', '', 'false', 'quest', 5, 'stackable', 'gold', 'none', 1, 43200, 1, 0, 'false', 'false', 'true', 'false', 'false', 'none', '0-0;'),
(110002, 'Coin', '', 'false', 'quest', 5, 'stackable', 'gold', 'none', 1, 43200, 1, 0, 'false', 'false', 'true', 'false', 'false', 'none', '0-0;');

To chyba wszystko a jesli sa jakies bledy lub ktos czegos nie rozumie to prosze o poinformowanie mnie o tym postaram sie pomoc.
« Ostatnia zmiana: Marzec 07, 2010, 02:17:02 pm wysłana przez Naito »
Zapraszam na serwer Team Speak 3 - Dead Echo - Community of Gamers - Adres: deadecho.pl

W Lineage 2 gram na serwerze: EU Core | Nick: Naito | Clan: BlackSwans


  • Wiadomości: 1

  • Pochwał: 0

Odp: [Pytanie]Teleport za item
« Odpowiedź #4 dnia: Grudzień 14, 2011, 12:39:05 am »
gówno nie działa ić ty  matim buuuu   GG 22903714 jak takiś mądry to napisz to pokaże jak twoje dzieło działa hehe


  • Wiadomości: 442

  • Pochwał: 10

  • offline.
Odp: [Pytanie]Teleport za item
« Odpowiedź #5 dnia: Grudzień 14, 2011, 08:06:41 pm »
Lol ten wątek ma juz ponad 16 miesięcy. Matim już tu nie zagląda do tego działu... :?


  • Wiadomości: 181

  • Pochwał: 7

Odp: [Pytanie]Teleport za item
« Odpowiedź #6 dnia: Grudzień 16, 2011, 07:20:11 pm »
I tak mało co komu pomagał. ;)


  • Wiadomości: 6

  • Pochwał: 0

Odp: [Pytanie]Teleport za item
« Odpowiedź #7 dnia: Grudzień 20, 2011, 09:25:26 pm »
Naito testowałeś to?

Bo nie bardzo to działa przynajmniej dla mnie ... zmieniłem wszystkie importy pod swoje pliki i powiem ci że nie działa.
Wkleiłem w scripts.cfg no nie wiem spójrz na to może gdzieś zrobiłeś błąd ;p


  • Wiadomości: 50

  • Pochwał: 5

    • kompania obrony wybrzeża ASG
Odp: [Pytanie]Teleport za item
« Odpowiedź #8 dnia: Grudzień 22, 2011, 12:36:06 am »
//offtop
I tak mało co komu pomagał. ;)

mało komu pomagał? za coś takiego powinna być chłosta.
//ontop
u mnie wszystko trybi po lekkich przeróbkach
WWW.KOMPANIA-OW.XORG.PL
ASG to nie tylko zabawa- to sposób życia


  • Wiadomości: 161

  • Pochwał: 2

  • Lineage 2 Player <3
Odp: [Pytanie]Teleport za item
« Odpowiedź #9 dnia: Grudzień 22, 2011, 11:51:05 am »
a jaka masz kronike .. pliki
Head admin z Rosji dlatego lt strona
admin to ja


  • Wiadomości: 138

  • Pochwał: 0

Odp: [Pytanie]Teleport za item
« Odpowiedź #10 dnia: Grudzień 25, 2011, 02:37:17 pm »
Przeanalizuj teleport do valakasa baiuma czy antharasa. Tam jest sprawdzany quest item, rusz glowa i przerob
a.k.a Szakalaka

Bot coder!


  • Wiadomości: 100

  • Pochwał: 4

  • ZAKAZ OGNIA Z DUPY
Odp: [Pytanie]Teleport za item
« Odpowiedź #11 dnia: Styczeń 07, 2012, 12:10:45 am »
Przeanalizuj teleport do valakasa baiuma czy antharasa. Tam jest sprawdzany quest item, rusz glowa i przerob

Nie musi koniecznie przerabiać tych TP, może po prostu na nich się wzorować.
Ja mam paczkę aCis'a, i wzorowałem się na TP do valakasa, wszystko poszło gładko, no i oczywiście działa.