DI
dúvida

Preciso Da Ajuda De Vocês

Por DiMaxor, 11 de dez. de 2012 em Scripts

script
22
2.6k
DiMaxorD
11 de dezembro de 2012 às 21:28

é o seguitne galera tenho uma quest que ganha os itens (blessed shield e golden helmet) com dois baus e dois scripts, porem na hora em que o player vai fazer a quest ele so pode escolher um dos itens e eu gostaria de saber como eu faço para eu continuar utilizando os dois baus, mas o player poder epgar os dois itens, vou postar os scripts abaixo:

 

Blessed Shield:

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

if item.uid == 15873 then

queststatus = getPlayerStorageValue(cid,5433)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a blessed shield.")

doPlayerAddItem(cid,2523,1)

setPlayerStorageValue(cid,5433,1)

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

else

return 0

end

 

return 1

end

 

Golden Helmet:

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

if item.uid == 10008 then

queststatus = getPlayerStorageValue(cid,50000)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Você Ganhou Um Golden Helmet!.")

doPlayerAddItem(cid,2471,1 )

setPlayerStorageValue(cid,50000,1)

else

doPlayerSendTextMessage(cid,22,"Você ja fez essa quest!")

end

else

return 0

end

return 1

end

MaXwEllDeNM
11 de dezembro de 2012 às 21:33

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

    if getPlayerStorageValue(cid,5433) < 1 then
		    doPlayerSendTextMessage(cid,22,"You have found a blessed shield.")
		    doPlayerAddItem(cid,2523,1)
		    setPlayerStorageValue(cid,5433,1)
    else
		    doPlayerSendTextMessage(cid,22,"It is empty.")
    end

    return 1
end

 

function onUse(cid, item, frompos, item2, topos)
    if getPlayerStorageValue(cid, 5439) < 1 then
		    doPlayerSendTextMessage(cid,22,"Você Ganhou Um Golden Helmet!.")
		    doPlayerAddItem(cid,2471,1 )
		    setPlayerStorageValue(cid,50000,1)
    else
		    doPlayerSendTextMessage(cid,22,"Você ja fez essa quest!")
    end

    return 1
end

DiMaxorD
11 de dezembro de 2012 às 21:35

MaXwEllDeN vllw cara, vllw mesmo vo testar aqui jaja eu dou resposta!

 

 

so uma perguntinha o que mudo voc retirando o

else

return 0

end

dos dois scripts?

Editado Dezembro 11 por DiMaxor

MaXwEllDeNM
11 de dezembro de 2012 às 21:48

Simplifiquei ele.

DiMaxorD
11 de dezembro de 2012 às 21:56

MaXwEllDeN seu script não funcionou, revisa ai e se puder postar novamente.

Editado Dezembro 11 por DiMaxor

MaXwEllDeNM
11 de dezembro de 2012 às 21:59

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

	if getPlayerStorageValue(cid, 3670) < 1 then
			doPlayerSendTextMessage(cid,22,"You have found a blessed shield.")
			doPlayerAddItem(cid,2523,1)
			setPlayerStorageValue(cid, 3670,1)
	else
			doPlayerSendTextMessage(cid,22,"It is empty.")
	end

	return 1
end

 

function onUse(cid, item, frompos, item2, topos)
	if getPlayerStorageValue(cid, 5240) < 1 then
			doPlayerSendTextMessage(cid,22,"Você Ganhou Um Golden Helmet!.")
			doPlayerAddItem(cid,2471,1 )
			setPlayerStorageValue(cid, 5240,1)
	else
			doPlayerSendTextMessage(cid,22,"Você ja fez essa quest!")
	end

	return 1
end

 

Pronto, esquecí de mudar a storage.

DiMaxorD
11 de dezembro de 2012 às 21:59

qual vai ser o Uid que eu vou colocar nos baus dos itens?

MaXwEllDeNM
11 de dezembro de 2012 às 22:03

poe qualquer actionid livre(TEM QUE SER A MESMA NO MOVEMENTS.XML)

DiMaxorD
11 de dezembro de 2012 às 22:05

mas você nao indico ele no scripts, não precisa indica não? igual estava indicando ?

MaXwEllDeNM
11 de dezembro de 2012 às 22:08

Só é deixar a mesma indicação que tinha antes.

DiMaxorD
11 de dezembro de 2012 às 22:15

Ficando assim: ???

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

if item.uid == 15873 then

if getPlayerStorageValue(cid, 3670) < 1 then

doPlayerSendTextMessage(cid,22,"You have found a blessed shield.")

doPlayerAddItem(cid,2523,1)

setPlayerStorageValue(cid, 3670,1)

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

return 1

end

 

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

if item.uid == 10008 then

if getPlayerStorageValue(cid, 5240) < 1 then

doPlayerSendTextMessage(cid,22,"Você Ganhou Um Golden Helmet!.")

doPlayerAddItem(cid,2471,1 )

setPlayerStorageValue(cid, 5240,1)

else

doPlayerSendTextMessage(cid,22,"Você ja fez essa quest!")

end

return 1

end

Editado Dezembro 11 por DiMaxor

HidekiKtyH
11 de dezembro de 2012 às 22:19

Se preferir um script que ganhe os dois itens em uma única ação, ou seja, em um único baú:

Abra a pasta data/actions/scripts e crie um arquivo chamado blessedgolden.lua

Adicione o script:

local config = {
stor = 5555,
item1 = 2523,
item2 = 2471,
}
function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, config.stor) <= 0 then
doPlayerAddItem(cid, config.item1, 1)
doPlayerAddItem(cid, config.item2, 1)
setPlayerStorageValue(cid, config.stor, 1)
doPlayerSendTextMessage(cid, 27, "You have found a Blessed Shield and a Golden Helmet.")
else
doPlayerSendTextMessage(cid, 27, "You\'ve done this quest.")
end
return false
end

Agora na pasta data/actions abra o arquivo actions.xml

Adicione a tag:

<action actionid="xxxx" event="script" value="blessedgolden.lua"/>

Modifique xxxx pelo ActionID que será adicionado ao báu no Map Editor.

Editado Dezembro 11 por HidekiKty

MaXwEllDeNM
11 de dezembro de 2012 às 22:20

Não, tipo, se você já disse na tag que todos os ítens que tiverem a uniqueid 10008 vão executar o script x, ou seja:

<movement uniqueid = "10008" event = "script" value = "x.lua"/>

 

Não precisa por o if, entende.

 

doPlayerSendTextMessage(cid, 27, "You\'ve done this quest.")

 

Bro, nem precisa por a contrabarra, já que já está dentro de àspas, só se fosse com apóstrofos que você usaria:

doPlayerSendTextMessage(cid, 27, 'You\'ve done this quest.')

DiMaxorD
11 de dezembro de 2012 às 22:25

hm.. entendi , vllw cara

 

desculpa ai a amolação e o tanto de eprguntas mas é porqe estou aprendendo, ai so perguntando né ;p haha

 

vllw HidekiKty pela sua colcaboração, desculpem o spam

Editado Dezembro 11 por DiMaxor

Yan OliveiraY
11 de dezembro de 2012 às 22:29

Duvida Resolvida!

 

Tópico Movido.