Ir para conteúdo
  • 0

Item Q Da Vocaçao


nbb147

Pergunta

gente to com um problema em um script de item q da vocaçao, é assim ele funciona blz, eu queria mudar ele para so o sorcerer poder usar ele, script abaixo:

 

 

 

local voc = 5 --mude para o id da vocaçao que o player sera transformado----

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

doPlayerSetVocation(cid, voc)

doCreatureSay(cid, Shippuden, 1)

doRemoveItem(item.uid)

return true

end

Link para o comentário
Compartilhar em outros sites

  • Respostas 51
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

Em data/actions/scripts crie um arquivo.lua, nomeio para changevoc e adicione:

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid,1992) == 1 then

doCreatureSay(cid, "Você ja recebeu a nova vocaçao", TALKTYPE_ORANGE_1)

else if getPlayerLevel(cid) >= 20 then

doCreatureSay(cid, "você recebeu uma nova vocaçao!", TALKTYPE_ORANGE_1)

if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then

doPlayerSetVocation(cid, 9)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then

doPlayerSetVocation(cid, 10)

end

if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then

doPlayerSetVocation(cid, 11)

end

if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then

doPlayerSetVocation(cid, 12)

end

doSendMagicEffect(fromPosition, 2)

doRemoveItem(item.uid)

setPlayerStorageValue(cid,1992,1)

return TRUE

else

doCreatureSay(cid, "Você deve ter level 20 ou mais para usar o Item!",TALKTYPE_ORANGE_1)

end

end

end

Editando:

 

-Vermelho: Mensagem quando o item for ativado

-Verde: Level necessário para usar o item

-Marrom: Vocações antigas

-Laranja: Vocações novas

-Roxo: Efeito (/z)

-Rosa: Mensagem quando cancela (abaixo do level 20 do caso)

 

Em actions.xml adicione:

<action itemid="1965" script="changevoc.lua"/>

Editando:

 

-Vermelho: Id do item

Link para o comentário
Compartilhar em outros sites

  • 0

Tem, faça o seguinte:

 

Onde está na cor marrom ponha tudo apenas um id.

Onde está em laranja ponha tudo um mesmo id.

 

Ex:

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid,1992) == 1 then

doCreatureSay(cid, "Você ja recebeu a nova vocaçao", TALKTYPE_ORANGE_1)

else if getPlayerLevel(cid) >= 20 then

doCreatureSay(cid, "você recebeu uma nova vocaçao!", TALKTYPE_ORANGE_1)

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

doSendMagicEffect(fromPosition, 2)

doRemoveItem(item.uid)

setPlayerStorageValue(cid,1992,1)

return TRUE

else

doCreatureSay(cid, "Você deve ter level 20 ou mais para usar o Item!",TALKTYPE_ORANGE_1)

end

end

end

Explicando exemplo:

 

-Apenas a vocação 2 ira se transformar em 6.

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

  • 0
function onUse(cid, item, fromPosition, itemEx, toPosition)   
local configs = {
   vocationid = {2,3}, -- id da vocação que pode usar o item, que quiser deixar apenas a 2 põe {2}.
   level = 20 -- lvl minimo para usar o item.
}
if isInArray(configs.vocationid, getPlayerVocation(cid)) then
   if getPlayerLevel(cid) >= configs.level then
       if getPlayerPromotionLevel(cid) < 1 then
           setPlayerPromotionLevel(cid, 1)
           doRemoveItem(item.uid, 1)
           doPlayerSendTextMessage(cid, 19, "Você foi promovido para "..getPlayerVocation(cid)..".")
           doSendMagicEffect(getPlayerPosition(cid), 29)
       else
           doPlayerSendCancel(cid, "Voce ja é promoted.")
       end
   else
       doPlayerSendCancel(cid, "Voce precisa ser level " .. configs.level .. " ou maior para adiquirir a promotion.")
   end
else
   doPlayerSendCancel(cid, "Sua vocação não pode usar isso!")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

Tente esse editei o do new

 

function onUse(cid, item)
if getPlayerStorageValue(cid,1992) == 1 then
doCreatureSay(cid, "Você ja recebeu a nova vocaçao", TALKTYPE_ORANGE_1)
else if getPlayerLevel(cid) >= 20 then
doCreatureSay(cid, "você recebeu uma nova vocaçao!", TALKTYPE_ORANGE_1)
if getPlayerVocation(cid) == 1 then
doPlayerSetVocation(cid, 6)
end
doSendMagicEffect(fromPosition, 2)
doRemoveItem(item.uid)
setPlayerStorageValue(cid,1992,1)
return TRUE
else
doCreatureSay(cid, "Você deve ter level 20 ou mais para usar o Item!",TALKTYPE_ORANGE_1)
end
end
end

Link para o comentário
Compartilhar em outros sites

  • 0

deu esse erro:

 

 

 

[Error - Action Interface]

[09/08/2012 15:23:35] data/actions/scripts/vocation.lua:onUse

[09/08/2012 15:23:35] Description:

[09/08/2012 15:23:35] attempt to index a nil value

[09/08/2012 15:23:35] stack traceback:

[09/08/2012 15:23:35] [C]: in function 'doSendMagicEffect'

[09/08/2012 15:23:35] data/actions/scripts/vocation.lua:9: in function <data/actions/scripts/vocation.lua:1>

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

  • 0

acho que resolvi

 

function onUse(cid, item)
if getPlayerVocation(cid) == 1 then
if getPlayerLevel(cid) == 50 then
doPlayerSetVocation(cid,5)
doPlayerSendTextMessage(cid, 22 , "Voce troco de vocation")
else
doPlayerSendTextMessage(cid, 22 , "Voce nao e sorcerer")
end
return true
end
end

Link para o comentário
Compartilhar em outros sites

  • 0

@newton ai naoo deu ta se transformando e outra vocaçao, eu colo pra transformar em sorcerer ele se transforma em druid

 

@skyligh

agora nao ta nem transformando

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

  • 0

a voc 1 vai virar a 2..

olhai o script q chegou bem perto foi o de jhon, q so falta colocar pra deixar a voc q vai virar configuravel.

mais faz do jeito q vc quizer :x

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

  • 0

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid,1992) == 1 then

doCreatureSay(cid, "Você ja recebeu a nova vocaçao", TALKTYPE_ORANGE_1)

else if getPlayerLevel(cid) >= 20 then

doCreatureSay(cid, "você recebeu uma nova vocaçao!", TALKTYPE_ORANGE_1)

if getPlayerVocation(cid) == 1

doPlayerSetVocation(cid, 2)

end

doSendMagicEffect(fromPosition, 2)

doRemoveItem(item.uid)

setPlayerStorageValue(cid,1992,1)

return TRUE

else

doCreatureSay(cid, "Você deve ter level 20 ou mais para usar o Item!",TALKTYPE_ORANGE_1)

end

end

end

Obs: Não esquece do:

if getPlayerStorageValue(cid, 1992) ~= -1 then

doPlayerSetVocation(cid, getPlayerStorageValue(cid, 1992))

end

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


×
×
  • Criar Novo...