Ir para conteúdo
Entre para seguir isso  
Tio Gordo

Quest por charada

Recommended Posts

Tio Gordo    8
Tio Gordo

Olá a todos,

andei pensando esses dias e com a idéia de um amigo meu: Fernando (FOREVER), desenvolvi um código que é o seguinte:

 

- Existem 3 coal basins.

- Você tem que fazer a combinação dos itens, em cima dos coal basins.

- Após fazer a combinação você sobe num piso, se estiver certa a combinação você é teletransportado, se não aparece uma mensagem, dizendo que você não matou a charada.

 

Mas vamos parar de enrolação e vamos ao script, que é muito simples:

 

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

 

piece1pos = {x=300, y=903, z=7, stackpos=1}

piece2pos = {x=285, y=891, z=7, stackpos=1}

piece3pos = {x=285, y=889, z=7, stackpos=1}

novapos1 = {x=348, y=293, z=7}

getpiece1 = getThingfromPos(piece1pos)

getpiece2 = getThingfromPos(piece2pos)

getpiece3 = getThingfromPos(piece3pos)

 

if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 2193 and getpiece2.itemid == 2193 and getpiece3.itemid == 2193 then

 

doRemoveItem(getpiece1.uid,1)

doRemoveItem(getpiece2.uid,1)

doRemoveItem(getpiece3.uid,1)

doTeleportThing(cid,novapos1)

 

else

doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.")

end

return 1

end[/b]

 

Vamos explicar agora:

Em vermelho, é qual movement será utilizado no caso a função onStepIn, que é quando o player pisa no piso.

 

Em azul, são as posições de cada coal basin, logo a posição de cada item.

 

Em amarelo, é a posição em que o player será teletransportado para fazer a quest.

 

Em negrito, é a parte da verificação da charada.

 

Primeiro:

O item.uid é o Unique ID do piso!

O item.id é o ID do piso!

E os getpiece1 , 2 e 3, são os ID's dos itens, resolvi colocar todos como 2193(Ankh), porém para a charada ficar mais dificil mude a seu gosto!

 

Bem, esse arquivo você deve salvar como quest.lua, dentro da pasta data/movements/scripts do seu OT.

 

Agora devemos configurar o movements para que esse movement funcione então:

 

- Abra o arquivo movements.xml dentro da pasta data/movements de seu OT

- Adicione a seguinte Tag (Lembrando que utilizei o Uniqueid = 8769, caso você mude esse número deverá mudar também no movements.xml!) :

 

<movevent event="StepIn" uniqueid="8769" script="quest.lua" />[/b]

 

Pronto está configurado, porém se você colocar no seu OT Server, e não funcionar modifique essa tag por isso:

 

<movevent event="StepIn" itemid="473" script="quest.lua" />[/b]

Lembrando que coloquei o piso id 473, se você modificar deve modificar tanto aqui nessa tag quanto no script!

 

Agora, basta utilizar a criatividade e criar muitas outras quests desafiadoras!

 

Abraços,

Tio Gordo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kevox    0
Kevox

Aprovado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dark Skyllen    7
Dark Skyllen

#topic

 

Muito bom!

É muito legal este tipo de quest!

Aprovadíssimo!

 

Parabéns

Nota: 10

Compartilhar este post


Link para o post
Compartilhar em outros sites
chisien2005    0
chisien2005

heeh gostou da minha ideia neh^^

entao soh falta arrumar pra q quando o monstro passa pelo piso nao acontecer nada..

 

vlw pelo credito xD

Compartilhar este post


Link para o post
Compartilhar em outros sites
Muadogib    0
Muadogib

legal...

parecido com o hota neh tongue.gif

essas quest sao boas mesmo...melhor que mata um demon e pega uma mpa no chest >.<

Compartilhar este post


Link para o post
Compartilhar em outros sites
Deviel    0
Deviel

Outro script deste estilo que não funciona, estou pensando em desistir. Ja tentei 4 script e movements diferente e nenhum deu certo ainda =/

 

Olha como esta o arquivo.lua

 

Ps: Eu fiz para 2 itens

 

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

 

piece1pos = {x=396, y=126, z=6, stackpos=1}

piece2pos = {x=397, y=126, z=6, stackpos=1}

novapos1 = {x=491, y=148, z=6}

getpiece1 = getThingfromPos(piece1pos)

getpiece2 = getThingfromPos(piece2pos)

 

if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 6098 and getpiece2.itemid == 2455 then

 

doRemoveItem(getpiece1.uid,1)

doRemoveItem(getpiece2.uid,1)

doTeleportThing(cid,novapos1)

 

else

doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.")

end

return 1

end

Compartilhar este post


Link para o post
Compartilhar em outros sites
Arch    0
Arch

isso parece ser ancient helm modificado

mas eh uma otima ideiaa

mto criativo

^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
_RIBEIRO_    0
_RIBEIRO_

Gostei muito !

~~Aprovado~~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Syodana    0
Syodana

Ahhhhhh

pergunta e Ot q nu tem a pasta "movements"

:S

 

grata, Syo~~

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pedroddcunha    3
Pedroddcunha

@Usurpador

Alertado e suspenso por mass flood

Compartilhar este post


Link para o post
Compartilhar em outros sites
541320    0
541320

cara mas coloca o unique id no piso lah??

Compartilhar este post


Link para o post
Compartilhar em outros sites
Aioria    0
Aioria

cara mto bom isso ::DDD VLw

Compartilhar este post


Link para o post
Compartilhar em outros sites
Elys Zarox    0
Elys Zarox

Vlwwwwwwwwwwww cara presisava disso tbm hj eh meu dia de sorte xD

Compartilhar este post


Link para o post
Compartilhar em outros sites
savity    1
savity

Bom, pelo o que li eu gostei.

Na pratica vamo ver se fica bom

aprovado =D

Compartilhar este post


Link para o post
Compartilhar em outros sites
Machine!    2
Machine!

c realmente funcionar e uma boa ideia para server rpg e para naum rpgs !

vlw ai por postar e ajudar a otnet.

aprovado

.....

vo presisa de um script assim pra meu avatar project

Compartilhar este post


Link para o post
Compartilhar em outros sites
goiabinha    0
goiabinha

VOU FALAR DNV

ONDI EU COLOCO ESSA PORRA?

EXPLICA TPW:

Exemplo:

VC VAI EM DATA/SCRIPT E CRIEI UM ARQUIVO LUA ABRA ELE E COLOQUE

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

 

piece1pos = {x=300, y=903, z=7, stackpos=1}

piece2pos = {x=285, y=891, z=7, stackpos=1}

piece3pos = {x=285, y=889, z=7, stackpos=1}

novapos1 = {x=348, y=293, z=7}

getpiece1 = getThingfromPos(piece1pos)

getpiece2 = getThingfromPos(piece2pos)

getpiece3 = getThingfromPos(piece3pos)

 

if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 2193 and getpiece2.itemid == 2193 and getpiece3.itemid == 2193 then

 

doRemoveItem(getpiece1.uid,1)

doRemoveItem(getpiece2.uid,1)

doRemoveItem(getpiece3.uid,1)

doTeleportThing(cid,novapos1)

 

else

doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.")

end

return 1

end[/b]

 

 

ENTENDEU?

COMO C QUEH INCINA ASSIm?

agora c xega e fala

bom citaçao

coloque isso

 

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

 

piece1pos = {x=300, y=903, z=7, stackpos=1}

piece2pos = {x=285, y=891, z=7, stackpos=1}

piece3pos = {x=285, y=889, z=7, stackpos=1}

novapos1 = {x=348, y=293, z=7}

getpiece1 = getThingfromPos(piece1pos)

getpiece2 = getThingfromPos(piece2pos)

getpiece3 = getThingfromPos(piece3pos)

 

if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 2193 and getpiece2.itemid == 2193 and getpiece3.itemid == 2193 then

 

doRemoveItem(getpiece1.uid,1)

doRemoveItem(getpiece2.uid,1)

doRemoveItem(getpiece3.uid,1)

doTeleportThing(cid,novapos1)

 

else

doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.")

end

return 1

end[/b]

 

ME ENCINA DIREITO....

[email protected]

Compartilhar este post


Link para o post
Compartilhar em outros sites
Devorador de Corpos    0
Devorador de Corpos

o bem bolado gostei =)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Tio Gordo    8
Tio Gordo

@goiabinha

você deve colocar o arquivo dentro da pasta data/movements/scripts

O unique ID será o do Piso.

E depois você adiciona no movements.xml

Compartilhar este post


Link para o post
Compartilhar em outros sites
celinhoxp    0
celinhoxp

Caraca mano! Muito bom!

Criatividade pura! Vo testar ake e vê se deu certo

;]

 

Obrigado (Y)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kokins    0
Kokins

o cara plx velho to cum problema aqi tpw assim eh o bug da house

 

meu ot eh map global

 

dai tpw assim um cara ai la invita alguem na casa essa pessoa entra na casa e logo dps sai do char dai o cara q inv to tiro o nome dele dai quando ele entra caio o ot

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×