Ir para conteúdo

Posts Recomendados

MIGOS! preciso desse script pra fazer umas quests com o mapa editor na quela do bauzinho que clica nele e ganha um item plix quem souber me ajudem :great:

 

bligado miguxos :yipi:

 

resolvido podem fechar

Editado por eunaojogodofus
Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/
Compartilhar em outros sites

  • 2 weeks later...

N entendi muito bem a sua duvida, mas vou te dar um exemplo de um script de uma quest e vou explica-lo:

 

function onUse(cid, item)

 

if item.uid == 15999 then

queststatus = getPlayerStorageValue(cid, 1597)

if queststatus == -1 then

doPlayerSendTextMessage(cid, 22, "Voce ganhou 100 Assassin Stars")

doPlayerAddItem(cid, 7368, 100)

setPlayerStorageValue(cid, 1597, 1)

else

doPlayerSendCancel(cid, "Voce ja fez esta quest")

end

end

end

 

Bem esse script, é o script de uma quest simples, eu acabei de fazer aqui.Entao vou te explicar tudo ali em cima pra q vc possa fazer igual em outros scripts.Pra que esse script funcionasse voce teria que ir no mapa e adicionar no bau o UID 15999, nomear este script para "new", colocalo dentro da pasta data/actions/scripts do seu ot e adicionar isto no actions.xml:

 

<action uniqueid="15999" script="new.lua"/>

 

if item.uid == 15999 ----Aqui ele ira checar se o UID é 15999, ou seja, quando vc bota um bau no mapa, voce vai botar um UID no bau, entao ele ira checar se o UID for 15999 entao ele rodara esse script.

queststatus = getPlayerStorageValue(cid, 1597) -----Aqui ele ira checar o storage 1597 do player(vc entendera melhor daki a poko)

if queststatus == -1 -----Aqui ele ira checar se o Storage 1597 -que a funçao a cima verificou- esta liberado, entao o -1 significa q ele esta liberado.Se estiver, o script rodara normalmente.

doPlayerSendTextMessage(cid, 22, "Voce ganhou 100 Assassin Stars") -----Aqui ele ira mandar uma mensagem pro player quando ele abrir o bau.

doPlayerAddItem(cid, 7368, 100) -------Aqui ele ira adicionar 100 do item 7368 (o item 7368 é assassin star).So use o "100" no final se o item for contavel, como assassin star ou enchanted spear, mas nunca use se o item for uma thunder hammer ou um blessed shield.

setPlayerStorageValue(cid, 1597, 1) ------Aqui ele ira fazer com que o storage 1597 fique "1", pra q o player n possa fazer duas vezes a mesma quest.

else ----Nao tire o else, embora n seja necessario explica-lo.

doPlayerSendCancel(cid, "Voce ja fez esta quest") -----Aqui ele ira mandar uma mensagem pro player dizendo q ele n pode fazer a quest duas vezes.

end ------Note que a tres ends no final, isso por que cada "if" precisa de um end e cada "function" precisa de um end tb, entao n tire nenhum end.

 

Bom acho q é so isso mesmo, espero que voce tenha aprendido e espero ter ajudado, se n era uma explicaçao q voce tava procurando e sim o script me de os detalhes do script q eu faço pra vc.

Editado por Demonbholder
Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-776660
Compartilhar em outros sites

  • 3 weeks later...

demon mas dessa forma eu teria que fazer um script pra cada quest a que eu quero e que eu apenas coloque no mapa editor o bauzinho com o uid igual ao id do item e pronto a quest ta feita.

so isso se puder fazer pra eu tyyyy

 

:positive: :smile_positivo: :smile_positivo:

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-784784
Compartilhar em outros sites

N tenho certeza, mas acho q n tem jeito de faze sem script cara, pq se for percebe, tds ots tem scripts pra todas as quests, essa eh a minha opiniao.Mas otra coisa, q preguiça hein cara, so faze um script pra cada quest e ja era, ta tdo explicadinho ai.E na verdade, eu nunca testei bota so o item no bauzinho.

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-784950
Compartilhar em outros sites

obvio que não da pra fazer sem script.

 

mas tanbem não é necessario fazer um script pra cada quest, da pra fazer todas as quests em apenas um script.

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-784982
Compartilhar em outros sites

Uppp, eh ate da pra fze por um script so, mas da quase no mesmo, e eu nunca tinha testado fze sem script, nunca botei uma quest nova nos meus Ots.

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-785273
Compartilhar em outros sites

Que tipo de quest você quer fazer? Aquelas com monstros e quando chega no baú da use e recebe a recompensa?

Então é desse estilo mesmo, você clica com o botão direito em cima do chest, e no ActionID você coloca o ID da recompensa.

 

Abraços,

Henrique.

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-785341
Compartilhar em outros sites

CARA, Entenda uma coisa.

Esse sistema era usado nos ots 7.6, agora todos os ots já vem com este sistema. Basta fazer oque eu disse.

Sem mais discussões.

 

Abraços,

Henrique.

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-785438
Compartilhar em outros sites

LOL, Ot 7.6, acha q o OT dele eh desta versao??AFFF.E otra, oq eu quis dizer, eh q eu expliquei como fazer certinho o script desse sistema.

Editado por Demonbholder
Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-785444
Compartilhar em outros sites

O script se fosse pelo mapeditor, iria entrar em colapso se houvesse outra action ID igual sendo usada.

Eis o script, se quiser fazer todas as quests com um script para cada uma:

function onUse(cid)
--Config
local Reward = {
	ID = 6767,
	Msg = "You have found a ".. getItemNameById(Reward.ID) ..".",
	Storage = 56454
			}
if getPlayerStorageValue(cid, Reward.Storage) >= 1 then
	doPlayerAddItem(cid, Reward.ID, 1)
	doPlayerSetStorageValue(cid, Reward.Storage, 1)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Reward.Msg)
else
	doPlayerSendCancel(cid, "You already done this quest.")
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
end
return true
end

 

#KaKilo:

Meu caro, esta área é para pedidos de scripts, se não vai pedir e nem dar o script à ele, não poste.

Editado por iRockStar
Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-785685
Compartilhar em outros sites

  • 2 weeks later...
O script se fosse pelo mapeditor, iria entrar em colapso se houvesse outra action ID igual sendo usada.

Eis o script, se quiser fazer todas as quests com um script para cada uma:

function onUse(cid)
--Config
local Reward = {
	ID = 6767,
	Msg = "You have found a ".. getItemNameById(Reward.ID) ..".",
	Storage = 56454
			}
if getPlayerStorageValue(cid, Reward.Storage) >= 1 then
	doPlayerAddItem(cid, Reward.ID, 1)
	doPlayerSetStorageValue(cid, Reward.Storage, 1)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Reward.Msg)
else
	doPlayerSendCancel(cid, "You already done this quest.")
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
end
return true
end

 

#KaKilo:

Meu caro, esta área é para pedidos de scripts, se não vai pedir e nem dar o script à ele, não poste.

 

 

oxi migu num e isso q eu kero

o ki eu kero e um script so que faz as quests com o mapeditor o ki vc postou e pra fzr quests separadas e num e isso ki eu keru

 

alguem prix tem esse script?

favor posta pa eu prix tyyyy

Link para o comentário
https://xtibia.com/forum/topic/117589-resolvido-resolvido-bligado-marcryzius/#findComment-789791
Compartilhar em outros sites

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