Ir para conteúdo

Puxe A Alavanca, Diga A Palavra E Boa Sorte!


mrsliim

Posts Recomendados

Olá pessoal! Estou aqui para mostrar minha nova Action, uma quest com palavra magica.

Essa quest funciona assim:

uma sala fechada com apenas um chest, e um tp dentro. do lado de fora, uma alavanca e uma sign explicando como funciona. ai o player puxa a alavanca e recebe uma mensagem "Sua Palavra sera..." e uma palavra escolhida aleatoriamente. ai o player diz essa tal palavra, se for a palavra correta, ele é teleportado para dentro da sala com o chest. caso nao seja ele somente recebe uma mensagem "Desculpe, Palavra Incorreta."

No meu server eu coloquei para ganhar uma VIP quando abrir o chest. Caso queira editar, fique a vontade...

Começando o Script:

Primeiro, crie uma sala como descrita acima e fora uma alavanca (1945) com o id 7898 ai crie o script:

Abra data\actions\scripts copie qualquer arquivo e troque o nome para sorte.lua

com o seguinte conteúdo:

 

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

 

if item.actionid == 7898 then

sorte = getPlayerStorageValue(cid,9001)

if sorte == -1 then

 

emoticon = math.random(1,5)

 

if emoticon == 1 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Tedfery.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 2 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Negaorcm.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 3 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Teryoters.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 4 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Witeotres.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 5 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Bornifasu.')

setPlayerStorageValue(cid,9001,1)

 

end

 

end

 

end

 

end

em data\actions\actions.xml:

<action itemid="1945" script="sorte.lua" />

 

Pronto! alavanca configurada. agora vamos as palavras:

Abra data\talkactions\scripts

Crie o arquivo correta.lua com o conteudo:

 

function onSay(cid,words,param)

 

teleport1 = {x=432, y=501, z=7}

 

if getPlayerStorageValue(cid,13540) >= 1 then

doPlayerSendTextMessage(cid,22,'Voce ja é um player VIP!')

else

doPlayerSendTextMessage(cid,22,"Parabens, Voce Descobriu a palavra! Obs: nao conte para ninguem, ou sua VIP sera removida automaticamente.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE)

setPlayerStorageValue(cid,7887,1)

doTeleportThing(cid,teleport1)

end

return 1

end

Troque as coordenadas de teleport1 para as coordenadas de dentro da sala...

agora o script se a palavra for incorreta: arquivo incorreta.lua

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

 

doPlayerSendTextMessage(cid,22,"Desculpe, Palavra Incorreta.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

maxdist = 1

end

 

em talkactions.xml:

--SALA By Sliim

<talkaction words="Sustired" script="incorreta.lua" />

<talkaction words="Negaorcm" script="incorreta.lua" />

<talkaction words="Teryoters" script="incorreta.lua" />

<talkaction words="Witeotres" script="incorreta.lua" />

<talkaction words="Tedfery" script="incorreta.lua" />

<talkaction words="Utirfer" script="incorreta.lua" />

<talkaction words="Spierted" script="incorreta.lua" />

<talkaction words="Bornifasu" script="correta.lua" />

Agora vamos ao Chest:

em data/actions/scripts/chest.lua adicione isso:

---vip chest by sliim

if item.uid == 9100 then

queststatus = getPlayerStorageValue(cid,13540)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Parabens,voce agora é um player VIP!")

setPlayerStorageValue(cid,13540,1)

else

doPlayerSendTextMessage(cid,22,"Voce ja é um Player VIP.")

end

 

end

Pronto! tudo configurado, agora basta salvar tudo e reiniciar seu servidor.

100% By Sliim~

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

Sliim e o Cara ;D Muito Bon Tambem nunca vi nada assim :D

--------------------------------------------------------------------------------

Assinatura

 

fanbarlo0.png

 

Minha Fan Bar Te ajudei? Entao Use

fanbarrez7.png

 

Sou Fan de

 

userbar641449wl2zk9.gif sliimfanlo2.png

 

Metas

 

[x]1 posts (SERVO)

[x]10 posts (CAMPONÊS)

[x]25 posts (CAÇADOR)

[x]50 posts (CAVALEIRO)

[x]100 posts (BARONETE)

[ ]200 posts (BARÃO)<----- Go Go Go!

[ ]300 posts (VISCONDE)

[ ]400 posts (DUQUE)

[ ]600 posts (ARQUEDUQUE)

[ ]800 posts (ARISTOCRATA)

[ ]1000 posts (REGENTE)

[ ]1400 posts (SÁBIO)

[ ]1800 posts (SACERDOTE)

[ ]2500 posts (PRÍNCIPE)<-----Um dia chego la ;D

Link para o comentário
Compartilhar em outros sites

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

 

if item.actionid == 7898 then

sorte = getPlayerStorageValue(cid,9001)

if sorte == -1 then

 

emoticon = math.random(1,5)

 

if emoticon == 1 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Tedfery.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 2 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Negaorcm.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 3 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Teryoters.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 4 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Witeotres.')

setPlayerStorageValue(cid,9001,1)

elseif emoticon == 5 then

doPlayerSendTextMessage(cid,22,'Sua palavra sera Bornifasu.')

setPlayerStorageValue(cid,9001,1)

 

end

 

end

 

end

 

end

 

Este script digamos, está errado... ao adcionar a storage value 9001, você colocou o mesmo valor para todas (1), ou seja, a palavra pode ser qualquer uma, para qualquer player. Tenha ele 'tido' a 'sorte' 1 ou a 5...

 

Para resolver isso, use:

 

palavra = getPlayerStorageValue(cid, 9001)

if palavra == ID que corresponde o valor da palavra then

-- Adciona VIP, palavra correta

else

-- Exibe mensagem de erro, palavra errada

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...