Nieoficjalna polska strona Lineage 2

Lineage 2 => Prowadzenie własnego serwera => Serwery prywatne => Pytania => Wątek zaczęty przez: dymek84 w Marzec 01, 2010, 07:14:32 AM

Tytuł: [Pytanie]Teleport za item
Wiadomość wysłana przez: dymek84 w Marzec 01, 2010, 07:14:32 AM
Jest taka możliwość aby w global gk dodać teleport w dane miejsce za jakiś item??
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Luno w Marzec 01, 2010, 08:00:53 AM
Wszystko się da zrobić.
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Matim w 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.
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Naito w 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.
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: l2Diablo w 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
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Vearth w 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... :?
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: P4CZU w Grudzień 16, 2011, 07:20:11 PM
I tak mało co komu pomagał. ;)
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: SearchDeveloper w 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
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Veandil w Grudzień 22, 2011, 12:36:06 AM
//offtop
Cytat: P4CZU w Grudzień 16, 2011, 07:20:11 PM
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
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: maly232 w Grudzień 22, 2011, 11:51:05 AM
a jaka masz kronike .. pliki
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Brianoc w Grudzień 25, 2011, 02:37:17 PM
Przeanalizuj teleport do valakasa baiuma czy antharasa. Tam jest sprawdzany quest item, rusz glowa i przerob
Tytuł: Odp: [Pytanie]Teleport za item
Wiadomość wysłana przez: Nayana w Styczeń 07, 2012, 12:10:45 AM
Cytat: Brianoc w Grudzień 25, 2011, 02:37:17 PM
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.