FU

[ Resolvido ] Resolvido Bligado Marcryzius

Por fuckyouuuuuuuuuuuuu, 02 de ago. de 2009 em Archived

otserv
tibia
script
23
2.7k
02 de agosto de 2009 às 19:27

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 Setembro 13 por eunaojogodofus

2 semanas depois...
11 de agosto de 2009 às 00:40

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 Agosto 14 por Demonbholder

TucowwT
11 de agosto de 2009 às 14:36

esse sistema já esta incluso nos ots a muito tempo, basta você pegar o id do item, clicar com o botao direito no baú, e botar o id do item em 'Unique ID'

3 semanas depois...
28 de agosto de 2009 às 15:35

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:

28 de agosto de 2009 às 21:14

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.

satan666S
28 de agosto de 2009 às 22:00

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.

29 de agosto de 2009 às 18:15

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.

Henrique MouraH
29 de agosto de 2009 às 19:08

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.

29 de agosto de 2009 às 21:32

Ja expliquei la em cima como fazer o script.

Henrique MouraH
29 de agosto de 2009 às 21:35

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.

29 de agosto de 2009 às 21:43

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 Agosto 29 por Demonbholder

satan666S
29 de agosto de 2009 às 21:45

pelo o que eu tou percebendo ele não tem esse script por isso está pedindo o script de quests que faz só usando o mapa editor.

29 de agosto de 2009 às 21:47

S, s, mas como n tem como, eu ensinei como fazer esse script em otras quest.

rockstar96R
30 de agosto de 2009 às 13:37

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 Agosto 30 por iRockStar

1 mês depois...
10 de setembro de 2009 às 12:45
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