Ir para conteúdo
  • Cadastre-se

Administração de Servidores (introdução)


Zayne

Posts recomendados

Como informado no título não será dado o curso completo, apenas uma introdução.

E ela é no intuito de ajudar o pessoal iniciante e ou inexperiente a começar ou corrigir seu modo de pensar.

 

O que é um servidor de jogos on-line?

Nada mais é que uma dentre várias fontes de entretenimento virtual e cai na mesma categoria do Youtube por exemplo.

Indiferente do jogo seja um LineageII para PC ou até um Angry Birds para celular o conceito e a categoria são o mesmo.

Então assim definimos que servidores são um produto de entretenimento on-line.

 

Servidores de Lineage II (entretenimento)

A maior vantagem e atrativo do nome e da marca NCSoft sempre foi a união entre as siglas:

RPG = rule played game = jogando com regras e MMO = massive multiplayer online = muitos jogadores online.

Levando em conta a tradição do nome que consagra-se nos anos de serviços online oferecidos pelo planeta;

A marca NCSoft e o jogo LineageII é uma das maiores franquias mundiais em entretenimento e vem perdendo terreno.

Com a grande quantia de jogos para celular, vídeos e outras formas de entretenimento virtual o ramo encontra-se "saturado".

E as chances de sucesso vem caindo ferozmente a cada dia para os novatos no setor do entretenimento.

 

Como planejar o sucesso de um nome fantasia? (server de L2)

Agora que entendemos que um servidor de L2 é um produto de entretenimento e tem fortes e renomados concorrentes...

Podemos criar uma estratégia e receitas pré prontas para um caminho de sucesso, ainda que não sejam simples, entendam:

A criação de "um nome fantasia" que será o seu nome é o primeiro passo e isso depende de alguns fatores.

- Qualidade dos serviços oferecidos (oferecer um belo site e um ótimo servidor é fundamental)

- Suporte Qualificado e Educado (no mundo virtual o uso de CAPSLOCK é considerado gritar, e ninguém quer "ouvir" gritos de um GM)

- Duração da prestação de serviços (quantos mais anos somados ao nome melhor se respeitar a indicação anterior)

- Propagandas reais! (nunca faça uma propaganda daquilo que você não tem à oferecer isso gera efeito contrário sempre)

- Indicação do consumidor (seus players são sempre a melhor propaganda do seu servidor)

Estas são metas imediatas, de médio e longo prazo somados, mas o assunto não acaba aqui.

 

Estrutura física e planejamento futuro.

Como eu já tenho uma postagem sobre o assunto leiam a mesma antes de dar seguimento nesse tutorial (curso)

Leiam e retornem: http://www.l2jbrasil.com/index.php?/topic/109939-700-players-estavel-por-menos-de-300-reais/

Sabendo-se que a estrutura tem de ser flexível para expansão futura evitando interrupções do serviço respeitamos todos quesitos anteriormente citados.

E assim também seguimos para o próximo item que é:

 

Oferta e procura: qual será meu publico alvo?

Primeiro falaremos sobre limitações de gestão que é onde o Administrador tem a capacidade esta gabaritado para absorver seu publico;

Exemplo: - "não adianta um jogador de servidores pvp a vida toda tentar fazer um servidor low rate baseado em quests que ele desconhece"

Para oferecer algo você tem de saber em primeira questão o que esta oferecendo (vendedores de sapatos feminino não sabem vender pneu de carro)

Segundo falamos sobre o publico alvo "qual será o tipo de jogador ao qual eu busco e tenho capacidade de atender?"

Em respeito a primeira regra temos a resposta da questão na segunda regra a qual falamos agora...

Para atingir seu publico alvo você deve ter total conhecimento do tipo de produto que eles buscam, ou seja:

- "se ofereço um servidor low tenho de saber fazer todas as quests do jogo e se ofereço um servidor pvp tenho de saber jogar com todas as jobs"

Retornando assim ao quesito capacitação!

Terceiro falamos sobre o atendimento ao consumidor e venda de mercadorias:

Como trata-se de um jogo MMO a venda de mercadorias e moeda virtual é pratica comum, mas quase sempre feita de forma errada!

Para vender algo (vender é o ato de receber por um produto e ou serviço) é preciso ter uma loja e para isto é preciso ter uma firma aberta com CNPJ.

A famosa página de "Donate" é a mais errada das formas de se vender algo em seu jogo (doar é o ato dar sem receber nada em troca como gesto de agradecimento)

Para alguns tipos de publico alvo que pouco se importam com nada pode funcionar a "maldita pagina donate entregando itens", mas...

Se seu publico passou dos 18 anos de idade, trabalha e dá valor ao seu dinheiro cuidado! "podem ser eles a denunciar seu mercado ilegal e acabar com seu server".

Então buscar a legalidade e moralidade é parte do primeiro quesito de sucesso.

 

E para encerrar esta introdução...

Considerações para abertura de um servidor de LineageII Privado.

Usar uma revisão L2J "código fonte aberto" é permitido e você irá andar dentro da lei (revisões L2Off são ilegais e o FBI vai lhe processar assim que lhe encontrar é só questão de tempo)

Abrir firma obter seu CNPJ e usar uma loja on-line no seu site também é estar legalizado e pagar seus impostos (evitar problemas com as leis federais e policia federal é altamente recomendado)

Comprar um licença de uso do cliente da NCSoft também é recomendado para permanecer de modo legal (Fórum da Dream: http://l2jdream.org/forum/index.php?/topic/58-jud%C3%ADcial-lineage2-private-server/ )

Desenvolver ou aperfeiçoar sua revisão para atender perfeitamente seu publico alvo é fator indispensável (segundo quesito da lei de oferta e procura que citamos acima)

Pesquisa de mercado é algo que deve ser levado seriamente antes de iniciar qualquer projeto (não falamos sobre isto, mas praticamente é pesquisar o que os players procuram em um server)

Propagandas devem ser feitas em formas que não se tornem mentirosas ou enjoativas (imagens e vídeos bem humorados "virais" são um exemplo de propaganda de retorno positivo)

Longevidade! quanto mais tempo online seu servidor (respeitando tudo que foi dito acima) maior será a força de seu "nome" e chances de sucesso.

 

Esta introdução contém as dicas fundamentais para o sucesso de qualquer servidor de Lineage2 que pretende disputar o mercado atual (ano de 2015)

O respeito as leis e a qualidade do serviço oferecido sempre foram fundamentais e deixados para depois o que acarreta até hoje na abertura e fechamento todos os dias dos servidores privados.

Façam bom uso desse conhecimento e saibam também que "nada é de graça e milagres só acontecem em histórias da bíblia";

Boa sorte a todos!

Curso de Administradores no Setor de Entretenimento

Resumo e adaptação do texto: Zayne Millano

Editado por Zayne

prja.png
Current Chronic: The Shadowy Nightmare (SDE-V7 Currently Under Construction)☜═㋡

Link para o comentário
Compartilhar em outros sites


Belo tópico, tinha noção de algumas coisas contidas no tópico outras completamente desconhecidas valeu cada linha lida.

quem sabe com essa ajuda veremos menos quantidade e mais qualidade por parte dos servidores em vez de ver algo se deteriorando em menos de um mês.

 

Obrigado pelas informações e pelo novo ponto de vista.

Link para o comentário
Compartilhar em outros sites

Interessante! Vai ajudar o povo brasileiro a entender melhor as coisas. haha

Realmente o brasileiro tem de entender que "de grátis" e "levar vantagem" na verdade sai muito caro e todos perdem!

(veja ai o governo da bolsa "miséria" ops! família afundando o pais de modo vergonhoso e transformando nosso povo em piada internacional)

E nada melhor do que trabalhar corretamente para ter clientes decentes e fiéis...

Clientes de RPG é bem diferente de cliente de MMO porque além de gastar uma grana no jogo (porque eles trabalham e podem gastar) são fiéis e não te abandonam!

Mas isso é assunto para um outro tópico, que seria a sequencia de tudo que venho falando e vivo no meu dia a dia.

 

Belo tópico, tinha noção de algumas coisas contidas no tópico outras completamente desconhecidas valeu cada linha lida.

quem sabe com essa ajuda veremos menos quantidade e mais qualidade por parte dos servidores em vez de ver algo se deteriorando em menos de um mês.

 

Obrigado pelas informações e pelo novo ponto de vista.

Eu quem agradeço pela opinião madura e sensata de seu comentário.

Muito se fala sobre os servidores de LineageII "private", mas realmente são poucos e raros os que entendem que isso não é um cofrinho de dinheiro e sim um emprego sério!

Quando falamos de emprego... bom quem mais se ferra é o dono da firma (administrador) que tem de pensar e conhecer tudo, das alegrias as responsabilidades de seu negócio.

Apenas abri um pouco mais a parte esquecida (ou que ninguém gosta de falar) "as responsabilidades dos administradores!"

Porque é sempre assim... na hora da festa vem todo mundo, mas na hora de limpar o salão poucos restam!

 

 

Galerinha obrigado pelo ótimo feedback que venho recebendo em assuntos sérios como este.

Se todos continuarem entendendo e absorvendo essas informações técnicas, profissionalizantes e jurídicas pode ser que eu dê seguimento no assunto.

Abração à todos.

prja.png
Current Chronic: The Shadowy Nightmare (SDE-V7 Currently Under Construction)☜═㋡

Link para o comentário
Compartilhar em outros sites

Eu tenho mó prazer de ter você em meus contatos pessoais cara, você é um exemplo de pessoa com experiência e capacidade de desenvolver e passar adiante conhecimentos e trabalhos!

Sobre o tópico: Uma coisa que ninguém nunca aqui no fórum procurou informar ( ao menos nunca vi um tópico sobre ) foi sobre o CNPJ... hoje em dia não demora mais do que 5 dias para abrir uma empresa e ter seu negócio padrão e certinho.

Mais o pessoal só quer saber de gastar com hospedagem, VPS e domínio!

Sobre o suporte com educação também, muito servidor dando suporte em fan page do servidor... hoje em dia é tão simples instalar um chat online, más mesmo assim é difícil, por que nunca se tem horário certo para atendimento... é na hora que o adm ou gm estiver online e pronto. Isso por que não é um trabalho para ele, obviamente.

Que você continue a postar conteúdos do tipo Anderson! Aguardo ansiosamente por novos tópicos para aprimorar meus conhecimentos!

Gosta de comédia? Veja meu canal no Youtube :D


http://bit.ly/neMON

Link para o comentário
Compartilhar em outros sites

........

Cara o prazer é meu, você é um carinha bacana pacas se morasse perto de ti eu iria morrer de tanto rir (porque tu também é divertido)

E indo direto ao assunto como o povo gosta:

CNPJ é uma obrigação de quem será um Administrador (admin) no ramo de Entretenimento.

Porque com ele é possível vender itens e moedas virtuais e montar lojas físicas (por exemplo venda de camisetas e bonés estampados) o que ajuda muito na renda.

Isso faz parte do curso como um todo e esta na parte de Marketing & Business (mas é assunto para outro tópico)

 

Claro que andar "ilegal" como 98% dos servidores private é igual barraquinha de camelô nas grandes cidades sempre vai ter;

Mas o problema é que "o rapa" neste caso são Policia Federal, FBI e outras agências internacionais que protegem o copyright da NCSoft e Unreal que forma o cliente L2;

Assim como o server L2Off é ilegal (pois possui uma parte de sua programação "a base" que foi roubada da NCSoft) o uso do patcher "decriptado ou não" também é crime.

E isso só quem faz um curso de Administração de Empresa ou Gestão de Recursos Comerciais vai saber exatamente a profundidade e gravidade de quebrar o copyright internacional.

 

Então... se o pessoal ficar atento em fazer servidores legalizados (L2J pois o Java é igual Linux e permite esse tipo de uso) vai também começar se preocupar em comprar sua licença de uso do cliente "eu tenho a minha a mais de 4 anos e paguei em suaves prestações", o que é claro vai filtrar e separar servidores sérios e focados em um trabalho real de entretenimento dos "espertinhos que só querem uma grana extra nas costas dos otários que se julgam muito espertos"...

Não levem a mal, não estou generalizando, há ótimas pessoas ai trabalhando sério na ilegalidade, e para eles este tópico é uma puxada de orelha "de pai para filho" no intuito de realmente levarmos à sério o que é ser administradores e proprietários de uma empresa de entretenimento massivo online (server de mmo em suma é isto)

 

Galera:

O feedback esta sendo ótimo e não tenham medo de perguntar no tópico, não precisa recorrer a MP okay...

Eu respondo quando ver aqui um comentário ou duvida, só não me perguntem besteiras de como eu consegui isso ou aquilo pois a 4 anos atrás era mais complicado então....

...se eu posso fazer certo e bem feito a mesma regra vale para todos!

Abração!

prja.png
Current Chronic: The Shadowy Nightmare (SDE-V7 Currently Under Construction)☜═㋡

Link para o comentário
Compartilhar em outros sites

Sem comentário, excelente.

Adicionado e destacado ao tópico de tutoriais.

[Guia] - Tutoriais *-*

Opa, valeu pelo elogio isso exalta o ego da gente 20.gif

 

E aproveitando a resposta aqui para deixar um recado pra galera:

- "não me perguntem em MP por favor usem o tópico! sua duvida pode ser a de outros usuários".

 

Trazendo a tona os assuntos das MPs...

- Galera faz mais de 4 anos que comprei a licença da NCSoft e da Unreal Engines, naquela época era preciso também ter licença da Microssoft DirectX.

Dica: "atualmente não precisa mais comprar a licença de uso para aplicações privativas do DirectX9c ou DirectX10 as outras continuam sendo necessárias".

Então como faz tempo não sei como esta à política comercial e onde foi para o atendimento as empresas de entretenimento da NCSoft, mas o caminho de comprar continua o mesmo, e requer:

- CNPJ da sua empresa de entretenimento registrada para uso de comercios real e virtual.

- O primeiro contato deve ser feito pelo telefone internacional da NC Institucional com fornecimento do seu "[email protected]" da sua empresa para segundo contato que vem do setor jurídico da NC.

- Após conseguir a licença de uso do Cliente (C1 ao IL e expansões até o Gods) da NCSoft procure o setor de patentes da Unreal Engines...

- Com seu CNPJ + NC Autentic Partner (ambos registros em mãos) à Unreal Engines vai gerar e cobrar por sua última licença necessária para trabalhar.

Pronto! com esses 3 documentos em mãos vá no registro de patentes do seu estado e cadastre direitos autorais para seu nome fantasia "ex: L2JBrazuka" e pode trabalhar despreocupado!

 

Os impostos e taxas serão cobrados pelo governo federal segundo seu CNPJ;

Para pagar à prestação as licenças NCSoft e Unreal Engines somente é possível com uso de cartão de crédito internacional 4 ou 5 estrelas

(o antigo cartão da classe Ouro ou Platina)

 

Sobre os valores das licenças NCSoft & Unreal hoje, não há como eu saber, mas tenho uma base...

NCSoft até o cliente Interlude (válida por 5 anos) é o preço de um CAMARO V8 0KM em média, a expansão (ex: para o CT1 Kamael) soma-se +10% da licença clássica (até o Interlude)

Unreal Engines é mais barato (também é valida por 5 anos) e o preço é de 10% à 20% do valor pago na licença da NCSoft.

A renovação das licenças é tranquilo porque você passa a ter acesso direto ao setor comercial e o valor fica bem mais "suave"...

(eu vou pagar menos de 3mil reais nas duas renovações de +5 anos em breve)

08.gif

 

EDIT: Vou deixar um link interessante para quem ainda ama o Interlude... Plaync.co.kr/review2006/Interlude

É o site oficial de época que esta preservado no tempo, matem sua curiosidade.... (não tem tradução infelizmente)

 

Outras duvidas basta comentar neste tópico e não precisa dar "reply" nas minhas postagens porque atenderei a todos com maior prazer.

Abração!

Editado por Zayne

prja.png
Current Chronic: The Shadowy Nightmare (SDE-V7 Currently Under Construction)☜═㋡

Link para o comentário
Compartilhar em outros sites

Eu tenho mó prazer de ter você em meus contatos pessoais cara, você é um exemplo de pessoa com experiência e capacidade de desenvolver e passar adiante conhecimentos e trabalhos!

Sobre o tópico: Uma coisa que ninguém nunca aqui no fórum procurou informar ( ao menos nunca vi um tópico sobre ) foi sobre o CNPJ... hoje em dia não demora mais do que 5 dias para abrir uma empresa e ter seu negócio padrão e certinho.

Mais o pessoal só quer saber de gastar com hospedagem, VPS e domínio!

Sobre o suporte com educação também, muito servidor dando suporte em fan page do servidor... hoje em dia é tão simples instalar um chat online, más mesmo assim é difícil, por que nunca se tem horário certo para atendimento... é na hora que o adm ou gm estiver online e pronto. Isso por que não é um trabalho para ele, obviamente.

Que você continue a postar conteúdos do tipo Anderson! Aguardo ansiosamente por novos tópicos para aprimorar meus conhecimentos!

só para complementar sua citação. Uma empresa MEI leva 2 horas ou menos para ficar pronta, e você pode fazer isso pela internet sem precisar da mediação de um contator para registrar, dentro de 6 dia sai a inscrição estadual "que dá o direito de fazer vendas" e o restante é ser feliz.

 

Link para o comentário
Compartilhar em outros sites

só para complementar sua citação. Uma empresa MEI leva 2 horas ou menos para ficar pronta, e você pode fazer isso pela internet sem precisar da mediação de um contator para registrar, dentro de 6 dia sai a inscrição estadual "que dá o direito de fazer vendas" e o restante é ser feliz.

 

Bom mas ai vem outro problema...

Judicialmente falando seu CNPJ deve ser sobre empresa de entretenimento com setor comercial (ou seja diversão e vendas)

É preciso sim apresentar-se como pessoa jurídica e requerer pessoalmente (com ou sem suporte) sua inscrição federal com validade internacional.

Lembre-se que serviços on-line (.com) precisam ser internacional e serviços nacionais (.com.br) não pode negociar pelo paypal por exemplo.

É tão simples e talvez até mais rápido fazer o certo e pessoalmente do que começar errado e depois ter de corrigir pagando taxas extras absurdas!

Pois no Brasil a burrocracia ops! burocracia para mudar quaisquer coisa é 50x mais caro e demorado do que para criar algo.

 

Só fazendo esta observação para ninguém partir para o rumo "errado".

E aproveitando para comentar que mais um brasileiro conseguiu este mês a licença da NCSoft e estamos nos falando pelo "zapzap";

No momento ele não deseja divulgar seu nome, mas ele conseguiu a licença mais rara que é a de "Fã Server" (não comercial) gratuita para todos clientes até o Interlude.

Já estou dando suporte para ele terminar a papelada legal e abrir ainda este ano seu servidor legalizado.

Bom é isso, agora só anda errado e fora da lei quem quer experimentar a vida de "bandido"...

Abração Galerinha!!!

prja.png
Current Chronic: The Shadowy Nightmare (SDE-V7 Currently Under Construction)☜═㋡

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.