Jump to content
Sign in to follow this  
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:

Edited by RedFil

Share this post


Link to post
Share on other sites
Gpwjhlkdcf    21
Gpwjhlkdcf

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

 

Padrão de Qualidade: OK

Share this post


Link to post
Share on other sites
Lordness    0
Lordness

blz...

mais onde vai ta esse NPC?

:/

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Edited by Knnabbs

Share this post


Link to post
Share on other 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

Edited by Knnabbs

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
god guizao    0
god guizao

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

Share this post


Link to post
Share on other 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 'ÿ'

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
kaiquefb    0
kaiquefb

Peeeeeeeeeerfeito, funciono direitinho aqui.

Share this post


Link to post
Share on other 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 ?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×