Ir para conteúdo
  • Cadastre-se

[Tutorial] Deixando servidor online usando NO-IP


afonso

Posts recomendados

bom ! dando uma volta aki pelo forum percebir q ainda tem muitos menbros q nao estao conseguindo uzar o no-ip

 

esse tuto e para ja quem tem um no-ip e nao ta conseguindo deixar on^^

 

 

vamo la primeiro temos q baixar o duck do no-ip se cadastrar , bom n irei por aki como se cadastra pos a varios topicos aki enssinado a cadastrar no no-ipbom comessamos abrindo a pasta :server\gameserver\config\

 

no aruivo server proprie.. abra em bloco de notas :ficara assim :

 

 

 

:server\gameserver\config\ server:######

################################### ================================================================

# General server setting !!! REQUIRED to configure to everyone !!!

# ================================================================

 

 

GameserverHostname=0.0.0.0

GameserverPort=7777

 

# Esta é transmitida para os clientes a partir de uma conexão de rede externa, por isso tem de ser um IP público ou resolúvel hostname

 

 

ExternalHostname=armagedonservergame.no-ip.biz <----- COLOQUE O SEU NO-IP AQUI

 

# Esta é transmitida para o cliente a partir da mesma rede, por isso tem de ser um local IP ou hostname resolúvel

 

InternalHostname=armagedonservergame.no-ip.biz <----- COLOQUE O SEU NO-IP AQUI

 

# Define internal networks (10.0.0.0/8,192.168.0.0/16 is default internal networks)

InternalNetworks=

 

# Define optional networks and router IPs

 

# IP (200.100.200.100) or fully qualified domain name

# (google.com) that resolves to an IP (use ping to determine if a domain resolves).

# Format: ip,net/mask;ip,net/mask,net/mask

# (mask 192.168.0.0/16 or 192.168.0.0/255.255.0.0 would be 192.168.*.*)

# Note: keep InternalNetworks and OptionalNetworks blank for compatibility with older login server

OptionalNetworks=armagedonservergame.no-ip.biz<-----COLOQUE O SEU NO-IP AQUI

 

# O Loginserver host e porta

# EXEMPLO: LoginPort=9014 <--NUNCA TROQUE ESSA PORTA

# EXEMPLO: LoginHost=127.0.0.1 <-- NUNCA TROQUE ESSE IP

 

 

 

##############################################################

 

 

agora vamos em :serve\loginserver\config\longuinserver ; vai ficar assim o :

# ================================================================

# General login server setting !!! REQUIRED to configure to everyone !!!

# ================================================================

 

# Bind ip do gameserver, use 0.0.0.0 para vincular disponível em todos os IPs

 

LoginServerHostname=0.0.0.0

LoginServerPort=2106

GMMinLevel=100

 

# The port, ip on which login will listen for GameServers

# EXEMPLO: LoginHostname=127.0.0.1 <-- NUNCA TROQUE ESSE IP

LoginHostname=127.0.0.1

LoginPort=9014

 

# If set to true any GameServer can register on your login's free slots

AcceptNewGameServer = False

 

# If false, the licence (after the login) will not be shown

ShowLicence = True

 

 

####################################################

 

e em telnet ae na pasta serve\loginserver\config\telnet tambem o tem q ficara ssim:

 

# Telnet is disabled by default.

EnableTelnet = False

 

# This is the port telnet server will bind to

StatusPort = 12345

 

# This list can contain IPs or Hosts of clients you wish to allow.

# Hosts must be resolvable to an IP.

# The format is as follows:

# ListOfHosts = 0.0.0.0,host,0.0.0.1,host2,host3,host4,0.0.0.3

# Make sure there are no spaces between hosts/ips

ListOfHosts = armagedonservergame.no-ip.biz,localhost <---seu no-ip aki

 

 

prontinho ^^ agora e so uzar o programinha fileedite e localizar o arquivo l2ine da sua pasta system :fica asim o:

 

Protocol=unreal

ProtocolDescription=Unreal Protocol

Name=Player

Map=Index.unr

LocalMap=Entry.unr

Host=

Portal=

MapExt=unr

EXEName=l2.exe

SaveExt=usa

Port=7777

Class=LineageWarrior.MFighter

ServerAddr=armagedonservergame.no-ip.biz <--seu no-ip aki

IsL2NetLogin=True

IsL2Console=True

IsL2Seamless=True

IsL2Projector=True

ISL2Mark=2

ForceAspectRatio=False

AspectRatio=1.334

IsDefaultShaodw=False

 

 

 

################################################3

 

pronto espero ter ajudado no comesso e assim mesm sei q e complicado para quem nao ta acustumado a mexer com ip e placa de red

 

procurei simplificar ao maximo o uso do no-ip.biz espero q vc conssiga deixar seu server on ^^ boa sorte :lol:

 

#################################################

 

moderadores somente simplifiquei o uso do no-ip :D

 

boa sorte atodos!!

ciências da computação e uma arte , Estudar e compilar Faz Parte :)

Link para o comentário
Compartilhar em outros sites


Nossa cara te amo!!! vlw msm!! tava me matando pra fazer o server funcionar aew vc deu uma luz!! uhhhuuuuu vlw!!! :lol:

Edit:Nossa alegria de pobre dura poko neh hehehe

O meu l2 nao passa da parte de logar tipo eu boto meu login e minha senha soh que nao passa daih :( .

se alguem souber o que eu devo fazer pra consiguir por favor me fale urgente. vlw turma!!

Link para o comentário
Compartilhar em outros sites

Nossa cara te amo!!! vlw msm!! tava me matando pra fazer o server funcionar aew vc deu uma luz!! uhhhuuuuu vlw!!! :lol:

Edit:Nossa alegria de pobre dura poko neh hehehe

O meu l2 nao passa da parte de logar tipo eu boto meu login e minha senha soh que nao passa daih :( .

se alguem souber o que eu devo fazer pra consiguir por favor me fale urgente. vlw turma!!

 

O mesmo acontece comigo :(

Link para o comentário
Compartilhar em outros sites

tipo todos no ip vai ter esse Exemplo.no-ip ?

 

pq o meu e so servegame.com

HugoLz

''Deus Esta comigo , não preciso vira Crente...''

Todos Cogumelos São Comestiveis alguns apenas 1 Vez !

 

Da Nada!

Link para o comentário
Compartilhar em outros sites

Bem veja abaixo como está configurado:

GAME SERVER

 

# ================================================================

# General server setting!!! REQUIRED to configure to everyone!!!

# ================================================================

 

# Bind ip of the gameserver, use 0.0.0.0 to bind on all available IPs

GameserverHostname = 0.0.0.0

GameserverPort = 7777

 

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname

ExternalHostname=l2warfare.servegame.com

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname

InternalHostname=l2warfare.servegame.com

# Note: You can define server hostname for each network in subnets.properties

 

# The Loginserver host and port

LoginPort=9014

LoginHost=127.0.0.1

 

# This is the server id that the gameserver will request (1 Bartz)

RequestServerID = 1

# If set to true, the login will give an other ID to the server if the requested ID is allready reserved

AcceptAlternateID = True

 

 

 

E AGORA O LOGIN SERVER CONFIGURADO:

 

# ================================================================

# General login server setting !!! REQUIRED to configure to everyone !!!

# ================================================================

 

# Bind ip of the loginserver, use 0.0.0.0 to bind on all available IPs

LoginServerHostname= 0.0.0.0

LoginServerPort= 2106

GMMinLevel= 100

 

# The port, ip on which login will listen for GameServers

LoginHostname=127.0.0.1

LoginPort=9014

 

# If set to true any GameServer can register on your login's free slots

AcceptNewGameServer = false

 

# If false, the licence (after the login) will not be shown

ShowLicence = True

 

# Database info

Driver=com.mysql.jdbc.Driver

#Driver=org.hsqldb.jdbcDriver

#Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

URL=jdbc:mysql://localhost/l2jdb

#URL=jdbc:hsqldb:hsql://localhost/l2jdb

#URL=jdbc:sqlserver://localhost/database=l2jdb/user=sa/password=

Login=root

Password=

 

# Useable values: "True" - "False", use this option to choose whether accounts will be created

# automatically or not.

AutoCreateAccounts=True

 

# The delay in minutes after which the login updates the gameservers IP's (usefull when their ip is dynamic)

# (0 = disable)

IpUpdateTime=0

 

 

ME PERDOE POR QUALQUER EVENTUAL NOOOOOBAAAAGEMMM MINHA :D

 

E o erro quando eu vo conectar eh o seguinte:

Ele não sai da daquele retangulo que vc fica aguardando pra entrar no server... so que no login server deu algo diferente e estranho para um NOob :D como eu ashuuahsuhsaha

Fio FOrçado o cancelamento de bla bla bla

erroserver.jpg

Link para o comentário
Compartilhar em outros sites

Cara fiz isso tudo certinho la em casa mas nao conseguir logar ...

tipo fica so na tela de login vo manda a pasta system pro meu colega ve se ele consegue

entra :P se ele nao conseguir o que pode ser ??

Link para o comentário
Compartilhar em outros sites

O meu tbm nao passa da tela de login... ja segui o tuto a risca 3 vezes pra conferir e ta tudo certinho...

O que devo fazer?

 

Posta ai as portas q devem ser abertas para rodar direitinho.

 

Tenho um roteador netgear com rede wireless como faço pra abrir as portas dele ??

Link para o comentário
Compartilhar em outros sites

O meu tbm nao passa da tela de login... ja segui o tuto a risca 3 vezes pra conferir e ta tudo certinho...

O que devo fazer?

 

Posta ai as portas q devem ser abertas para rodar direitinho.

 

Tenho um roteador netgear com rede wireless como faço pra abrir as portas dele ??

use o ddns

Link para o comentário
Compartilhar em outros sites

bom..

sobre editar o servidor e cliente com o ip nunca tive problema..

 

soh tenhu um probleminha q eh com o proprio programa do no-ip..

uso conexao a radio..

jah me falaram q pra podr liberar o acesso externamente.. precisa alterar algo nas configs do no-ip..

 

se alguem sabe algo sobre..favor informar ;D

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.






  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.