Secret Experience

Secret Experience (https://secretexperience.net/)
-   [Lineage] Java Mods (https://secretexperience.net/lineage-java-mods/)
-   -   [Tutorial] Script de Teleporte Para Jaula (https://secretexperience.net/lineage-java-mods/34237-script-de-teleporte-para-jaula.html)

Setokaiba 01-10-2013 10:21 PM

Script de Teleporte Para Jaula
 
Descrição: Esse script serve para criar um teleporte seguro até à jaula podendo fazer uma visita aos jogadores presos. Custando 5 milhões para ir para a prisão, mas o retorno será livre.

Certifique-se de ter uma definição zona correta e verifique se os jogadores não podem escapar da prisão quando estão apenas nesta zona (não é //jail pelo GM, é apenas um teleporte).

Funciona com L2J-Free.

Crie um NPC com o ID 9997 e selecione um template_id que desejar.

Crie um arquivo .html em data/html/default e dê o nome de 9997.html
Em seguida cole o conteúdo nesse arquivo:
Código HTML:

<html><body>
Jail Teleporter:<br>
Voce quer sair dessa sala? Isso nao e problema, porem, lembre-se de sempre respeitar as regras deste servidor!<br>
<center>
<a action="bypass -h npc_%objectId%_Quest 9997_teleport_to_jail">Sair</a><br>
</center>
</body></html>

Crie uma pasta com o nome de 9997_teleport_to_jail
Crie também um arquivo com o nome de _init_.py com o seguinte conteúdo:
Código:

#
# Criado by Setokaiba on 2001.11.25.
# Baseado no Derby Track teleporter.
#
import sys

from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
from net.sf.l2j.gameserver.model.quest          import State
from net.sf.l2j.gameserver.model.quest          import QuestState
from net.sf.l2j.gameserver.model.quest.jython  import QuestJython as JQuest
qn = "9997_teleport_to_jail"

JAIL_EXIT_NPC = 9997

TELEPORTERS = {
    30059:3,    # TRISHA
    30080:4,    # CLARISSA
    30177:6,    # VALENTIA
    30233:8,    # ESMERALDA
    30256:2,    # BELLA
    30320:1,    # RICHLIN
    30848:7,    # ELISA
    30899:5,    # FLAUEN
    31320:9,    # ILYANA
    31275:10,  # TATIANA
    30727:11,  # VERONA
    30836:12,  # MINERVA
    31964:13    # BILIA
}

RETURN_LOCS = [[-80826,149775,-3043],[-12672,122776,-3116],[15670,142983,-2705],[83400,147943,-3404], \
              [111409,219364,-3545],[82956,53162,-1495],[146331,25762,-2018],[116819,76994,-2714], \
              [43835,-47749,-792],[147930,-55281,-2728],[85335,16177,-3694],[105857,109763,-3202], \
              [87386,-143246,-1293]]

class Quest (JQuest) :

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

 def onTalk (self,npc,player):
  st = player.getQuestState(qn)
  npcId = npc.getNpcId()
  if not st: return
  if st.isInJail(): return
  ###################
  # Locais Iniciais #
  ###################
  if TELEPORTERS.has_key(npcId) :
    st.takeItems(57,5000000)
    st.getPlayer().teleToLocation(-114356,-249645,-2984)
    st.setState(STARTED)
    st.set("id",str(TELEPORTERS[npcId]))   
  ########
  # Jail #
  ########
  elif st.getState() == STARTED and npcId == JAIL_EXIT_NPC:
    # back to start location
    return_id = st.getInt("id") - 1
    st.getPlayer().teleToLocation(RETURN_LOCS[return_id][0],RETURN_LOCS[return_id][1],RETURN_LOCS[return_id][2])
    st.exitQuest(1)
  return

QUEST      = Quest(9997,qn,"Teleports")
CREATED    = State('Start',      QUEST)
STARTED    = State('Started',    QUEST)

QUEST.setInitialState(CREATED)

for npcId in TELEPORTERS.keys() :
    QUEST.addStartNpc(npcId)
    QUEST.addTalkId(npcId)

QUEST.addTalkId(JAIL_EXIT_NPC)

Abra o arquivo HTML da sua Gatekeeper padrão que por padrão fica em data/html/teleporter/

Adicione a seguinte linha:
Citação:

<a action="bypass -h npc_%objectId%_Quest 9997_teleport_to_jail" msg="811;Jail">Mover Para Jaula</a><br>
Edite também o _init_.py da sua Gatekeeper adicionando a seguinte linha:
Citação:

'9997_teleport_to_jail'

Dê spawn dentro da jaula no NPC de ID 9997

decokins 02-10-2013 01:00 PM

muito bom vlw seto


Horários baseados na GMT -3. Agora são 10:18 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.