Ir para conteúdo

[npc] Npc Que Mude Vocações


Demonbholder

Posts Recomendados

Pessoal to com um problema, eu n to conseguindo cria um Npc que mude vocaçoes.

Eu encontrei aqui no XTibia um topico que tinha uma parte do script de um Npc que mude as voc.

Entaum peço por favor, um script que tenha um Npc completo que mude as voc.

Editado por Filippe Ferreira
Link para o comentário
Compartilhar em outros sites

a função é setPlayerVocation(cid,ID)

o id é:

1 sorcerer

2 druid

3 paladin

4 knight

5 master sorcerer

6 elder druid

7 royal paladin

8 elite knight

coloque isso no script do seu npc ^^ abraço

Link para o comentário
Compartilhar em outros sites

Brother mais atenção da próxima vez, o seu título se encontra incorreta.

Eu poderia fechar, mais acho que sua dúvida já está sendo entendida e esclarecida.

 

Peço que verifique as regras do fórum e das seções, antes de fazer algo.

Abraços

Link para o comentário
Compartilhar em outros sites

Por favor genteeee... to precisando muitooooo mesmo desse script, soh falta isso pra min acaba o meu OT.

Plzzzz botem ai o script completo do NPC, eh q tipw eu n sei fze as conversa e se o cara ja for dakela vocation, o q q vai acontece.Eu n sei fze esses negocios entaum por favor façam pra min este script de Npc e nunca mais peço nda pra vcs.

 

Vlw.

Link para o comentário
Compartilhar em outros sites

que belo flood...

 

 

cara se for um npc fulero que apenas troque de vocaçao sem modificar life,mana, ml, skills etc e facil fazer mas se for complexo modificando life,mana,skills,ml etc e complicado o _ferrari_ ainda nao encontrou uma boa forma de fazer essas modificaçoes.

Link para o comentário
Compartilhar em outros sites

Tipw ate pd se assim, que n troque vida mana e essas coisas.Eh q tipw o q eu kero fze eh assim: por exemplo, o cara eh um sorc e dai ele qé fze tipw de uma promotion, soh q na promotion o cara pd se promovido pra uma de varias vocaçoes.Tipw vai te mais de uma vocaçao pro sorc se promove.Dai eu achei q se tivesse um Npc q trocasse pra uma dessas vocaçoes tb daria mas se me conseguirem um npc igual como eu keria, dai fica muitooo melhor.

Link para o comentário
Compartilhar em outros sites

acho que esse npc seja o que voce procura..

 

--marcryzius

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

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

 

function creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then

return false

end

 

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

if(msgcontains(msg, 'gladiador')) then

selfSay('voce gostaria de ser promovido a essa vocaçao por 10000 moedas de ouro?', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if(getPlayerMoney(cid) >= 10000 and getPlayerVocation(cid) == 4 ) then

if(doPlayerRemoveMoney(cid, 10000) == TRUE) then

doPlayerSetVocation(cid,8)

selfSay('agora voce e um gladiador.', cid)

else

selfSay('Sorry, you don\'t have enough gold.', cid)

end

else

selfSay('Descupe, voce nao e guerreiro ou nao tem dinheiro sulficiente!', cid)

end

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('ate mais.', cid)

end

 

if(msgcontains(msg, 'elfo')) then

selfSay('voce gostaria de ser promovido a essa vocaçao por 10000 moedas de ouro?', cid)

talkState[talkUser] = 2

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then

if(getPlayerMoney(cid) >= 10000 and getPlayerVocation(cid) == 3 ) then

if(doPlayerRemoveMoney(cid, 10000) == TRUE) then

doPlayerSetVocation(cid,7)

selfSay('agora voce e um elfo.', cid)

else

selfSay('Sorry, you don\'t have enough gold.', cid)

end

else

selfSay('Descupe, voce nao e arqueiro ou nao tem dinheiro sulficiente!', cid)

end

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('ate mais.', cid)

end

 

if(msgcontains(msg, 'mago')) then

selfSay('voce gostaria de ser promovido a essa vocaçao por 10000 moedas de ouro?', cid)

talkState[talkUser] = 3

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then

if(getPlayerMoney(cid) >= 10000 and getPlayerVocation(cid) == 2 ) then

if(doPlayerRemoveMoney(cid, 10000) == TRUE) then

doPlayerSetVocation(cid,6)

selfSay('agora voce e um mago.', cid)

else

selfSay('Sorry, you don\'t have enough gold.', cid)

end

else

selfSay('Descupe, voce nao e alquimista ou nao tem dinheiro sulficiente!', cid)

end

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('ate mais.', cid)

end

 

if(msgcontains(msg, 'bruxo')) then

selfSay('voce gostaria de ser promovido a essa vocaçao por 10000 moedas de ouro?', cid)

talkState[talkUser] = 4

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then

if(getPlayerMoney(cid) >= 10000 and getPlayerVocation(cid) == 1 ) then

if(doPlayerRemoveMoney(cid, 10000) == TRUE) then

doPlayerSetVocation(cid,5)

selfSay('agora voce e um Bruxo.', cid)

else

selfSay('Sorry, you don\'t have enough gold.', cid)

end

else

selfSay('Descupe, voce nao e feiticeiro ou nao tem dinheiro sulficiente!', cid)

end

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('ate mais.', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

modifique o que esta em negrito.

qualquer erro nele posta ae que eu arrumo...

porfavor nao retire os creditos...

Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

Aew...Marcryzius, se funfá, dai vai fica perfeitooooo.Muito obrigado velho, vc n sabe como me ajudou!

Cara eu vo testa daki a poko e ja digo se funfo, soh me fla uma coisa...que numero que eu boto lah nas vocations.xml?

EX:

<vocation id="200" name="Exemplo" description="none" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="0">

 

Fora isso, ta muito bom cara, vlw mesmo!

Ah, e eu n vo tira os creditor n :D

Editado por Demonbholder
Link para o comentário
Compartilhar em outros sites

sei te falar nao.

 

testa ae por novas voc so que nesse fromvoc="0" voce poe o id maior do que o do ek que seria 8 poe ae 9 e no script do npc poe pra seta voc 9 tb pra essa nova voc.

 

acho que e isso mas num tenho certeza nao.

Link para o comentário
Compartilhar em outros sites

Hm...vo testa aki e o cara soh uma coisa: Ali no script ta de transforma a voc 1-5, 2-6, 3-7, 4-8, tem como tipw transforma 1,2,3 pra voc 20 ou 456 pra voc 30.Tipw muda mais de uma voc pra uma unica outra.

N q o script esteja errado, soh to querendo fze um teste.

Editado por Demonbholder
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...