Ir para conteúdo

[Action] Recompensa De Acordo Com A Vocação


Jhonnytl17

Posts Recomendados

Bem, sou novo com esse negócio de programação em LUA e etc. e estava fazendo esse script pro server de um amigo, no qual eu queria que, dependendo da vocação do player, ao usar o baú, o player em questão recebesse os esquipamentos de acordo. Queria pedir aos senhores que, por favor, vejam o que está dando errado e, se puderem, me ajudar a corrigir. Obrigado. BTW.: O servidor é Alissow OTS. 8.54.

 

O código é:

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 2309 then
queststatus = getPlayerStorageValue(cid,2309)
if queststatus == -1 then
if getPlayerFreeCap(cid) >= 150.00 then
if getPlayerVocation(cid) == 1 then
doPlayerSendTextMessage(cid,22,"You found a Sorcerer Backpack.")
container = doPlayerAddItem(cid, 5949, 1)
doAddContainerItem(container, 2463, 1)
doAddContainerItem(container, 2647, 1)
doAddContainerItem(container, 2457, 1)
doAddContainerItem(container, 2190, 1)
doAddContainerItem(container, 2503, 1)
setPlayerStorageValue(cid,2309,1)
end
if getPlayerVocation == 2 then
doPlayerSendTextMessage(cid,22,"You found a Druid Backpack.")
container = doPlayerAddItem(cid, 5949, 1)
doAddContainerItem(container, 2463, 1)
doAddContainerItem(container, 2647, 1)
doAddContainerItem(container, 2457, 1)
doAddContainerItem(container, 2182, 1)
doAddContainerItem(container, 2503, 1)
setPlayerStorageValue(cid,2309,1)
end
if getPlayerVocation == 3 then
doPlayerSendTextMessage(cid,22,"You found a Paladin Backpack.")
container = doPlayerAddItem(cid, 5949, 1)
doAddContainerItem(container, 2463, 1)
doAddContainerItem(container, 2647, 1)
doAddContainerItem(container, 2457, 1)
doAddContainerItem(container, 2389, 1)
doAddContainerItem(container, 2503, 1)
setPlayerStorageValue(cid,2309,1)
end
if getPlayerVocation == 4 then
doPlayerSendTextMessage(cid,22,"You found a Knight Backpack.")
container = doPlayerAddItem(cid, 5949, 1)
doAddContainerItem(container, 2463, 1)
doAddContainerItem(container, 2647, 1)
doAddContainerItem(container, 2457, 1)
doAddContainerItem(container, 2392, 1)
doAddContainerItem(container, 2434, 1)
doAddContainerItem(container, 2435, 1)
doAddContainerItem(container, 2503, 1)
setPlayerStorageValue(cid,2309,1)
end
else
doPlayerSendTextMessage(cid,22,"You have found a backpack, but it is too heavy.")
end
else
doPlayerSendTextMessage(cid,22,"The chest is empty.")
end
end
end

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

mano eu tenho um mapa aki ele funfa direito e so vc configurar

vou posta aki ok!

 

 

primeiro vc vai em actions/actions.xml e adc essa Tag aki em baixo

<action uniqueid="3540" script="vochest.lua"/>

 

agora vc vai na pasta actions/script copia qual quer arquivo e renomeia para (vochest)

apague tudo que estiver dentro e cole isto aki

function onUse(cid, item, frompos, item2, topos)

voc = getPlayerVocation(cid)
queststatus = getPlayerStorageValue(cid,11554)


if voc == 1 then
if queststatus == -1 then
doPlayerAddItem(cid,1998,1)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,8820,1)
doPlayerAddItem(cid,8819,1)
doPlayerAddItem(cid,2647,1)
doPlayerAddItem(cid,2190,1)
doPlayerAddItem(cid,2175,1)
doPlayerAddItem(cid,2173,1)
setPlayerStorageValue(cid,11554,1)
else
doPlayerSendTextMessage(cid,22,"Você já pegou o seu prêmio.")
end
elseif voc == 2 then
if queststatus == -1 then
doPlayerAddItem(cid,1998,1)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,8820,1)
doPlayerAddItem(cid,8819,1)
doPlayerAddItem(cid,2647,1)
doPlayerAddItem(cid,2175,1)
doPlayerAddItem(cid,2182,1)
doPlayerAddItem(cid,2173,1)
setPlayerStorageValue(cid,11554,1)
else
doPlayerSendTextMessage(cid,22,"Você já pegou o seu prêmio.")
end
elseif voc == 3 then
if queststatus == -1 then
doPlayerAddItem(cid,1998,1)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,8872,1)
doPlayerAddItem(cid,2457,1)
doPlayerAddItem(cid,2647,1)
doPlayerAddItem(cid,2525,1)
doPlayerAddItem(cid,2389,1)
doPlayerAddItem(cid,2173,1)
setPlayerStorageValue(cid,11554,1)
else
doPlayerSendTextMessage(cid,22,"Você já pegou o seu prêmio.")
end
elseif voc == 4 then
if queststatus == -1 then
doPlayerAddItem(cid,1998,1)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,2457,1)
doPlayerAddItem(cid,2463,1)
doPlayerAddItem(cid,2647,1)
doPlayerAddItem(cid,2525,1)
doPlayerAddItem(cid,2428,1)
doPlayerAddItem(cid,2417,1)
doPlayerAddItem(cid,3963,1)
doPlayerAddItem(cid,2173,1)

setPlayerStorageValue(cid,11554,1) else
doPlayerSendTextMessage(cid,22,"Você já pegou o seu prêmio.")
end
else
return 0
end

return 1
end

testa ae e me fala ok

 

aa e lembrando a vc que no mapa editor vai ficar assim

action ID = 0

unique ID = 3540

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

  • 6 months later...

Cara... eu acho que ta certo , só faltou uma coisinha, peguei essa linha de EXEMPLO:

 

"if getPlayerVocation == 4 then"

o Certo Seria:

"if getPlayerVocation(cid) == 4 then"

 

Faltou o "(cid)" que é a Criatura que executa a Action!

Acho que é isso, nao testei. Mas ta bem na cara que é isso.

Link para o comentário
Compartilhar em outros sites

Cara... eu acho que ta certo , só faltou uma coisinha, peguei essa linha de EXEMPLO:

 

"if getPlayerVocation == 4 then"

o Certo Seria:

"if getPlayerVocation(cid) == 4 then"

 

Faltou o "(cid)" que é a Criatura que executa a Action!

Acho que é isso, nao testei. Mas ta bem na cara que é isso.

 

Acho que ele já resolveu o problema dele, veja a data.

HAHA Abraços ;)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...