Ir para conteúdo
Entre para seguir isso  
RedFil

Second Promotion(8.5)

Recommended Posts

RedFil    0
RedFil

Eae pessoal! Esse é meu primeiro tutorial, então espero criticas para melhorias :yes:

Estou postando ele pois quando eu precisei não tinha encontrado, então agora que eu consegui desenvolver ele estou postando para vocês =)

 

Obs: Não sei se existe algum tutorial parecido ou igual ao meu, mas se tiver não estou copiando e nem estou ciente dele, tudo que postei aqui eu desenvolvi sozinho

 

Introdução

Nesse tutorial irei mostrar como criar a Second Promotion sem me aprofundar nos detalhes do arquivo "vocations.xml", irei apenas mostrar o principal, e também mostrarei como fazer o NPC para os players poderem comprar a nova Promotion

 

Script testado no server "Styller_Yourots_0.6__Rev_04_8.50"

 

Criando a nova promotion

Vá em "data/xml" e abra o arquivo "vocations.xml" como Bloco de Notas ou com um programa de Scripter, nesse arquivo estará todas as vocações disponiveis, no final do arquivo, depois do "</vocation>"(atenção: não é depois do "</vocations>") adicione o seguinte:

 <vocation id="[color=red]xx[/color]" name="[color=darkorange]Second Promotion[/color]" description="[color=blue]a second promotion[/color]" needpremium="1" gaincap="100" gainhp="500" gainmana="3000" gainhpticks="6" gainhpamount="50" gainmanaticks="3" gainmanaamount="50" manamultiplier="4.5" attackspeed="450" soulmax="200" gainsoulticks="120" fromvoc="[color=cyan]y[/color]">
 <formula meleeDamage="2.5" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="2.5" defense="2.0" armor="2.0"/>
 [color=magenta]<skill id="0" multiplier="1.1"/>[/color]
[color=magenta]  <skill id="1" multiplier="1.1"/>[/color]
[color=magenta]  <skill id="2" multiplier="1.1"/>[/color]
[color=magenta]  <skill id="3" multiplier="1.1"/>[/color]
[color=magenta]  <skill id="4" multiplier="1.1"/>[/color]
[color=magenta]  <skill id="5" multiplier="1.1"/>[/color]
[color=magenta]  <skill id="6" multiplier="1.1"/>[/color]
    </vocation>

Vermelho - ID da nova Second Promotion(lembrando que não pode haver dois IDs iguais esse arquivo)

Laranja - Nome da nova Second Promotion

Azul - Descrição da promotion(basicamente é o que aparece quando se da "Look" em alguem dentro do jogo)

Azul Claro - ID da Vocação ou Promotion anterior(No caso seria o ID da promotion anterior. Exp: No Second Promotion do Master Sorcerer, o fromvoc deverá ter o ID do MS)

Rosa - É a parte de afinidade com armas(Recomendo que copie da respectiva promotion anterior)

Obs: Não estou colocando números porque se o servidor tiver vocações adicionais eles estarão diferentes

 

Crie quantas novas Promotions forem necessárias(nos casos normais são 4, uma Second Promotion para MS, ED, RP e EK)

 

Criando o NPC para a Second Promotion

Vá em "data/npc" e copie e cole qualquer arquivo ".xml" desta pasta, depois abra-o e substitua tudo o que estiver dentro da cópia por isto:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="[color=red]RedFil[/color]" script="data/npc/scripts/second_promote.lua" walkinterval="2000" floorchange="0">
<mana now="800" max="800"/>
<health now="200" max="200"/>
[color=blue]<look type="302" head="78" body="94" legs="132" feet="115"/>[/color]
   <parameters> 
       <parameter key="message_greet" value="[color=darkorange]Hello |PLAYERNAME|. I am responsible for the {second} promotion![/color]"/>
   </parameters> 
</npc>

Vermelho - Nome do NPC(Por modéstia de minha parte coloquei meu Nick ^^)

Azul - Outfit do NPC(Como está ai é o Outfit de GM)

Laranja - Fala do NPC após o player dizer "hi"

 

Depois de criado o NPC, é preciso criar sua Script para ele poder fazer a Second Promotion

Agora vá em "data/npc/scripts" e copie e cole qualquer arquivo ".lua" desta pasta, depois abra-o como Bloco de Notas ou com um programa de Scripter e troque tudo o que está dentro da cópia por:

-----------------------------
----------By RedFil----------
-----------------------------
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid)   npcHandler:onCreatureAppear(cid)   end
function onCreatureDisappear(cid)  npcHandler:onCreatureDisappear(cid)   end
function onCreatureSay(cid, type, msg)  npcHandler:onCreatureSay(cid, type, msg)  end
function onThink()    npcHandler:onThink()     end
local node1 = keywordHandler:addKeyword({'second'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = '[color=red]If you are level 200 I can promote you a second time for 2000000 gold coins. Do you want me to promote you?[/color]'})
node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = [color=blue]2000000[/color], level = [color=darkorange]200[/color], promotion = 2, text = '[color=magenta]Congratulations! You are now promoted a second time.[/color]'})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})
npcHandler:addModule(FocusModule:new())

Vermelhor - Fala do NPC após o player dizer "second"(no estado atual está falando que é preciso lvl 200 e 2kk de gold)

Azul - Preço da Second Promotion(como está ele cobrará 2kk)

Laranja - Level necessário para obter a Second Promotion(no caso 200)

Rosa - Mensagem do NPC após executar com sucesso a Second Promotion

 

Se for alterar o preço e o level mude no Vermelhor e no Azul(No veermelho para o player saber o que é necessário e no azul para o NPC cobrar do player)

 

BEM DEPOIS DE FEITO TUDO ISSO JÁ É POSSIVEL COLOCA-LO NO SERVER :yes:

E para alivio de muitos, surpreendenteente não é necessário editar as spells para que eles possam usar as magias das vocações e promotions anteriores, pelo menos no meu aqui não precisou =)

 

Se tiver alguma dúvida, pode perguntar, mas não é certeza que eu possa responder, pois eu criei tudo o que está neste tópico baseado em outros tutoriais e em scripts já existentes no OTServ

Mas se perguntar e eu puder responder, ou ajudar, eu tentarei o máximo =/

 

Não autorizo a cópia deste Tutorial com o fim de posta-lo em outro lugar :yes:

Editado por RedFil

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gpwjhlkdcf    21
Gpwjhlkdcf

Tópico Aprovado e Movido para Scripting > Tutoriais > Outros Tutoriais.

 

Padrão de Qualidade: OK

Compartilhar este post


Link para o post
Compartilhar em outros sites
Lordness    0
Lordness

blz...

mais onde vai ta esse NPC?

:/

Compartilhar este post


Link para o post
Compartilhar em outros sites
Proviem    0
Proviem

ai tu tem q tu tem q bota com o map editor ou com o gm /n o nome do npc ou /npc pra versoes mais novas

lembrando q se tu boto com o /n ou /npc quando o ot cai eles vao cai o unico geito de eles ficarem e com o map editor

Compartilhar este post


Link para o post
Compartilhar em outros sites
Knnabbs    0
Knnabbs

deu certinho aki mano

soh q na hora de dar Look em vc msmo ele nao aparece nda , aparece soh

You see yourself. You are.

e tbm kuandu alguem da look nao aparece

aparece

He is.

como eu faço pra aparecer

You area Vip Master Sorcerer por exemplo

Editado por Knnabbs

Compartilhar este post


Link para o post
Compartilhar em outros sites
Knnabbs    0
Knnabbs

ai axei o problema , se soh eskeceu de fala q tenke muda ah LIB tbm neh >.<

fucei aki e consegui concertar

 

dps de ter feito tdo isso ai dai em data/lib/vocations.lua

 

 

e adiciona as Ids das Second Promotion

-----------------------------------------------------------

function isSorcerer(cid)

return isInArray({1, 5, 9}, getPlayerVocation(cid))

end

 

function isDruid(cid)

return isInArray({2, 6, 10}, getPlayerVocation(cid))

end

 

function isPaladin(cid)

return isInArray({3, 7, 11}, getPlayerVocation(cid))

end

 

function isKnight(cid)

return isInArray({4, 8, 12}, getPlayerVocation(cid))

end

 

function isRookie(cid)

return isInArray({0}, getPlayerVocation(cid))

end

-----------------------------------------------------

 

Sistema 100% .. vlw mlkao

Editado por Knnabbs

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mathews157    0
Mathews157

Aqui nao funciono alguem pode me ajudar?Tipo eu adicionei a LIB la so que continuou a mesma coisa nao aparece a vocação, fica so no He is.

Compartilhar este post


Link para o post
Compartilhar em outros sites
god guizao    0
god guizao

Ai, boa idéia, mais o que isso beneficiara o player?

Compartilhar este post


Link para o post
Compartilhar em outros sites
subzerokmf    0
subzerokmf

Me ajudem aee

 

To usando o Alissow 8.54

 

olha o q deu quando eu abri o server:

 

[08/01/2010 14:09:47] [Error - LuaScriptInterface::loadFile] data/npc/scripts/promotionvip.lua:1: unexpected symbol near 'ÿ'

[08/01/2010 14:09:47] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/promotionvip.lua

[08/01/2010 14:09:47] data/npc/scripts/promotionvip.lua:1: unexpected symbol near 'ÿ'

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eternos    0
Eternos

Vlww te amoo cara era oque eu tava procurando, e otra ele nao some a second quando desloga muito bom mesmo vlw's

Compartilhar este post


Link para o post
Compartilhar em outros sites
kaiquefb    0
kaiquefb

Peeeeeeeeeerfeito, funciono direitinho aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SkyFail    0
SkyFail

rox.+ tipo to fsendo um sv de naruto.

Aeh tipo vai ter Uchiha e pah aeh e a primeira classe blz ne?

aeh eu kero ke fika assim quando da lock.

os trem la a classe Uchiha e deps aaprecer um (.) e o rank ke vai de studant e kage como faço ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×