Ir para conteúdo
  • Cadastre-se

[Resolvido]Alguem faz um npc q da vocation por itens


Posts Recomendados

Queria um npc que o player trocasse os itens pela vocaçao e teletransportasse o player para x,y,z

Tipo:

player vocation y

player: hi

npc: Hello |PLAYERNAME|. Do you want to be promoted to "vocation"?

player: vocaçao

npc: Bring me a "xx" a "xxx" and a "x"!. Do you sure? it will be irreversible! Yes or no?

player: yes

npc: You changed your vocation to vocation of the Vocation

se ele n for da vocaçao y

npc :You have ever vocation is the Angel or do not have the necessary items

Por exemplo, o player da 10k + um tal item e ganha em troca a vocação.

Editado por Thiago Duarte (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Tonyplyson tento fazer pra mim o npc mais deu erro alguem concerta?

Script npc

local item1 = 107

local quant1 = 1

local vocation13 = 4

local pos = {x=1024, y=1027, z=7}

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

function santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if(parameters.present == true) then

if(doPlayerRemoveItem(cid,item1,quant1) == true) then

doSetPlayerVocation(cid, 4)

doTeleportThing(cid, pos)

npcHandler:say('You changed your vocation to vocation of the Angel.',cid)

else

npcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid)

end

npcHandler:resetNpc()

return true

end

end

npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.")

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})

local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new())

NPC

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Angel Promotion" script="data/npc/scripts/mone.lua" walkinterval="2000" floorchange="0">

<mana now="800" max="800"/>

<health now="200" max="200"/>

<look type="57" head="0" body="0" legs="0" feet="0" addons="0"/>

</npc>

o erro que da é assim o npc pega os itens mais n manda o player pro local {x=1024, y=1027, z=7} e n da a vocaçao

Na console da isso

[11/12/2012 12:59:50] [Error - Npc interface]

[11/12/2012 12:59:50] data/npc/scripts/mone.lua:onCreatureSay

[11/12/2012 12:59:50] Description:

[11/12/2012 12:59:50] data/npc/scripts/mone.lua:23: attempt to call global 'doSetPlayerVocation' (a nil value)

[11/12/2012 12:59:50] stack traceback:

[11/12/2012 12:59:50] data/npc/scripts/mone.lua:23: in function 'callback'

[11/12/2012 12:59:50] data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'

[11/12/2012 12:59:50] data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'

[11/12/2012 12:59:50] data/npc/lib/npcsystem/keywordhandler.lua:122: in function 'processMessage'

[11/12/2012 12:59:50] data/npc/lib/npcsystem/npchandler.lua:380: in function 'onCreatureSay'

[11/12/2012 12:59:50] data/npc/scripts/mone.lua:14: in function <data/npc/scripts/mone.lua:14>

Editado por Thiago Duarte (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Testa aí, substituí a função que ele dizia não existir.




local item1 = 107

local quant1 = 1


local vocation13 = 4

local pos = {x=1024, y=1027, z=7}


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


function santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if(parameters.present == true) then

if(doPlayerRemoveItem(cid,item1,quant1) == true) then

doPlayerSetVocation(cid, 4)

doTeleportThing(cid, pos)

npcHandler:say('You changed your vocation to vocation of the Angel.',cid)

else

npcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid)

end

npcHandler:resetNpc()

return true

end

end


npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.")


local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})


local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new())


-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Dúvida sanada, tópico movido.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

malz n foi resolvido ele ta teletranportando players de outras vocaçoes e mudando player de outras vocaçoes eu queria que fosse so para vocaçao 0 tipo so player vocation 0 player de rookguaard

Link para o post
Compartilhar em outros sites

local item1 = 107

local quant1 = 1

local vocation13 = 4

local pos = {x=1024, y=1027, z=7}

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

function santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if getPlayerVocation(cid) ~= 0 then

npcHandler:say('Tchau!',cid)

return false

end

if(parameters.present == true) thenif(doPlayerRemoveItem(cid,item1,quant1) == true) thendoPlayerSetVocation(cid, 4)doTeleportThing(cid, pos)npcHandler:say('You changed your vocation to vocation of the Angel.',cid)elsenpcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid)endnpcHandler:resetNpc()return trueendendnpcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.")local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'})node:addChildKeywordNode(yesNode)node:addChildKeywordNode(noNode)npcHandler:addModule(FocusModule:new())

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

=x

[11/12/2012 18:25:18] [Error - LuaScriptInterface::loadFile] data/npc/scripts/mone.lua:25: 'then' expected near 'thenif'

[11/12/2012 18:25:18] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/mone.lua

[11/12/2012 18:25:18] data/npc/scripts/mone.lua:25: 'then' expected near 'thenif'

Link para o post
Compartilhar em outros sites


local item1 = 107

local quant1 = 1


local vocation13 = 4

local pos = {x=1024, y=1027, z=7}


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


function santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

if getPlayerVocation(cid) ~= 0 then

npcHandler:say('Tchau!',cid)

return false

end

if(parameters.present == true) then

if(doPlayerRemoveItem(cid,item1,quant1) == true) then

doPlayerSetVocation(cid, 4)

doTeleportThing(cid, pos)

npcHandler:say('You changed your vocation to vocation of the Angel.',cid)

els

enpcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid)

end

npcHandler:resetNpc()

return true

end

end

npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.")

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})

local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new()) 

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

esse script ta dificil =x

[11/12/2012 22:17:39] [Error - LuaScriptInterface::loadFile] data/npc/scripts/mone.lua:31: '=' expected near 'enpcHandler'

[11/12/2012 22:17:39] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/mone.lua

[11/12/2012 22:17:39] data/npc/scripts/mone.lua:31: '=' expected near 'enpcHandler'

Editado por Thiago Duarte (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Não não, não é problema no script, foi erro na hora que eu copiei. aí está:



ocal item1 = 107

local quant1 = 1


local vocation13 = 4

local pos = {x=1024, y=1027, z=7}


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


function santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end


if getPlayerVocation(cid) ~= 0 then

npcHandler:say('Vaza mano você não é vocation 0.',cid) 

return false

end



if(parameters.present == true) then

if(doPlayerRemoveItem(cid,item1,quant1) == true) then

doSetPlayerVocation(cid, 4)

doTeleportThing(cid, pos)

npcHandler:say('You changed your vocation to vocation of the Angel.',cid)

else

npcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid)

end

npcHandler:resetNpc()

return true

end

end


npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.")


local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})


local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new())

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

vlw acho que deu certo sem bugs agora mais 1 rep pra vc. 200 so mais um pouco pra ficar entre os 10 mais

=x

bugo de novo

[11/12/2012 22:38:45] data/npc/scripts/mone.lua:30: attempt to call global 'doSetPlayerVocation' (a nil value)

[11/12/2012 22:38:45] stack traceback:

[11/12/2012 22:38:45] data/npc/scripts/mone.lua:30: in function 'callback'

[11/12/2012 22:38:45] data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'

[11/12/2012 22:38:45] data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'

[11/12/2012 22:38:45] data/npc/lib/npcsystem/keywordhandler.lua:128: in function 'processMessage'

[11/12/2012 22:38:45] data/npc/lib/npcsystem/npchandler.lua:380: in function 'onCreatureSay'

[11/12/2012 22:38:45] data/npc/scripts/mone.lua:14: in function <data/npc/scripts/mone.lua:14>

fui com um player knight (4) deu certo ele n foi teletramportado nem ganho vocation fui com um player vocation 0 ele cato os itens e n teletramporto nem deu a vocation

Link para o post
Compartilhar em outros sites

Perdão, eu que tô me apressando muito e tô fazendo o bang sem cuidado, erros bestas esses que estão dando.



local item1 = 107

local quant1 = 1


local vocation13 = 4

local pos = {x=1024, y=1027, z=7}


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


function santaNPC(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end


if getPlayerVocation(cid) ~= 0 then

npcHandler:say('Vaza mano você não é vocation 0.',cid) 

return false

end



if(parameters.present == true) then

if(doPlayerRemoveItem(cid,item1,quant1) == true) then

doPlayerSetVocation(cid, 4)

doTeleportThing(cid, pos)

npcHandler:say('You changed your vocation to vocation of the Angel.',cid)

else

npcHandler:say('You have ever vocation is the Angel or do not have the necessary items .',cid)

end

npcHandler:resetNpc()

return true

end

end


npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Do you want to be promoted to {angel}?.")


local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})

local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})


local node = keywordHandler:addKeyword({'angel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bring me an enchanted wing !. Do you sure? it will be irreversible! {yes}'})

node:addChildKeywordNode(yesNode)

node:addChildKeywordNode(noNode)

npcHandler:addModule(FocusModule:new())

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites
  • 1 year later...

desculpa reviver o tópico de tantos meses, usei seu script e deu certinho mas tipo ai troca uma vocação por outra, eu queria que fosse assim, que a vocação 1 2 3 4 5 pudesse trocar pela 7 tendeu? 

 

no caso ai tem local vocation13 posso add embaixo local vocation 14?

 

REP+

Editado por biinhosamtos (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 years later...

Desculpe reviver o tópico, teria como por para ser vocations diferentes se o player for male ou female? E para mudar os outfits tambem, se for male ou female

 

2z8t5ef.jpg

assinatura2.fw.png

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Gustavo0098
      Bom queria um NPC  teleportasse um player para uma position e so poderia ser usado novamente depois de 24 horas, alguem para ajudar? OBG 
    • Por kushzinho
      Olá bom dia, se alguém puder me ajudar ficaria muito grato! Porfavor alguém consegue disponibilizar um script de npc que altere PvP do player?
      Vou explicar, a pessoa cria o char e já chega sendo npvp, portanto na cidade terá um npc em que ele possa se alterar pra pvp, gostaria que o player que não tivesse PvP ficasse com a caveirinha verde do lado do char e o PvP fica normal (podendo pegar caveirinha branca, red, black. Também gostaria se for possível adicionar tempo para pode trocar novamente, tipo 24 horas. Se alguém puder uma luz porfavor, desde já agradeço.   Server global 12.51 tfs 1.3
    • Por Mor3nao
      Introdução:
           Eu estava procurando um sistema de tasks diarias funcional, achei alguns, mas nenhum do jeito que eu queria, então eu fiz esse.
      Ele tá bem simples, porém funcional, aí vou postar uma "melhoria" dele e linkar AQUI  << tá linkado, dá uma olhada lá ?
       
      Como funciona?
              Bom, eu me baseei no sistema de tasks do PxG onde você pode escolher entre tasks de diferentes niveis/dificuldades, no caso, este é possivel que vc escolha entre 4 opções, sendo elas de nivel "easy", "medium", "hard" e "expert", e tem até o server save para entregar.
      Como prêmios, coloquei: Quantidade aleatoria de XP, Quantidade fixa de um Item fixo e quantidade aleatoria de um(ou mais) item aleatorio.
       
      Como "instalar" o script:
      1.1 Vá até /data/npc e crie o arquivo daily.xml, abra-o e coloque tudo isso lá dentro:
       
      1.2 Vá até /data/npc/scripts e adicione o arquivo dailyTask.lua, e dentro dele coloque:
       
       
      2.1 Em /data/lib/lib.lua, acrescente a linha:
      dofile('data/lib/task/dailytask.lua')  
      2.2 Crie o arquivo dailytask.lua em /data/lib/task/, e dentro coloque:
       
       
      3.1 Em /data/creaturescript/creaturescripts.xml adicione a tag:
      <event type="kill" name="dailyTasks" script="dailyTasks.lua"/>  
      3.2 Registre o "dailyTasks" no seu login.lua
       
      3.3 Crie o arquivo dailyTasks.lua em /data/creaturescript/scripts e coloque tudo isso dentro:
       
      Configurando o Script:
      Essas configurações estão no:  /data/lib/task/dailytasks.lua
       
       
      Imagens de amostra:
      Escolhendo as tasks(A da direita é antes de save, e a da esquerda depois).

       
      Server Log contando quantos monstros foram mortos.

       
      Na bp normal os premios da primeira vez que eu fiz, na azul os premios da segunda (só pra mostrar que é aleatorio, um player não pode repetir a task)

    • Por akamorra
      Boa noite galera, queria se alguém pode me ajudar, queria colocar alguns NPCS do meu servidor 8.60 mudando de cor, alguém poderia me ajudar?
      Obrigado!!
       
      REPP+ PRA QUEM AJUDAR!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo