Quests.

maximusot
em Tutoriais de Scripting
  • 1
  • 2

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

PROIBIDO POSTAR EM OUTRO LUGAR TOPICO EXCLUSIVO AO XTIBIA

créditos: 100% meus

 

 

Bom vamos começar o tutorial, aqui explicarei como fazer algumas quests então vamos lá!

 

1° Abra seu map editor, faça um lugar onde vai ficar o baú ou se quiser use um lugar já existente.

2° Coloque o baú ou qualquer outra coisa que quando o player der use pegue o item.

3° Clique com o botão direito no baú ou qualquer outro item que você tenha colocado lá e vá em propriedades, depois coloque no unique id um numero que ainda não esteja sendo usado no ot. (dica: coloque um numero entre 8000 e 9999 por que geralmente ainda não estão sendo usados)

 

Algumas ss de como colocar unique id nos itens

ssol1.th.jpg

ss1ig3.th.jpg

 

 

agora vamos aos scripts e as explicações.

essa é como fazer uma quest que de mais de um item.

(CLIQUE NO SPOIL)

--By ADM Leo Leonardo Caetano

 

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

 

if item.uid == 8500 then

queststatus = getPlayerStorageValue(cid,8500)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Você achou um Blessed Shield!.")

doPlayerAddItem(cid,2523,1)

setPlayerStorageValue(cid,8500,1)

else

doPlayerSendTextMessage(cid,22,"Esta vazio.")

end

elseif item.uid == 8501 then

queststatus = getPlayerStorageValue(cid,8501)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Você achou um Horned Helmet")

doPlayerAddItem(cid,2496,1)

setPlayerStorageValue(cid,8501,1)

else

doPlayerSendTextMessage(cid,22,"Esta vazio.")

end

elseif item.uid == 8502 then

queststatus = getPlayerStorageValue(cid,8502)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Voce achou uma Warlod Sword.")

doPlayerAddItem(cid,2408,1)

setPlayerStorageValue(cid,8502,1)

else

doPlayerSendTextMessage(cid,22,"Esta vazio.")

end

elseif item.uid == 8503 then

queststatus = getPlayerStorageValue(cid,8503)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Voce achou uma Demon Armor.")

doPlayerAddItem(cid,2494,1)

setPlayerStorageValue(cid,8503,1)

else

doPlayerSendTextMessage(cid,22,"Esta Vazio.")

end

else

return 0

end

 

return 1

end

Depois salve com um nome qualquer vá em data/actions/actions.xml e abra-o como bloco de notas e adicione essas linhas

<action uniqueid="8500" script="NOME.lua" />

<action uniqueid="8501" script="NOME.lua" />

<action uniqueid="8002" script="NOME.lua" />

<action uniqueid="8503" script="NOME.lua" />

--Explicação

Vermelho - Unique id que você colocou nos baus.

Azul claro- Aqui tem que ser numeros diferentes do storage value do outro bau, se não, não da pra pegar todos items.

Laranja - A mensagem que aparecerá quando o player der use e pegar o item

Pink - ID do item que o player irá ganhar, e a quantidade de itens.

Roxo - A mensagem que vai aparecer no caso do player querer pegar o item novamente.

Azul escuro - Unique id que você colocou no script.

Verde claro - nome que você salvou o script

 

Agora aqui vou explicar como fazer uma quest que o player deve escolher um item e não poderá pegar nenhum outro.

1° abra seu map editor e fassa um lugar que de para ver os itens que o player vai pegar (algo parecido com POI ou a annihilator) mas pense em algum modo que o player não irá conseguir pegar o iten que tiver a mostra!

2° coloque uniqueid nos baus (unique ids que ainda não tem no seu OT).

Aqui vai o script...

(CLIQUE NO SPOIL)

--By ADM Leo Leonardo Caetano

 

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

 

if item.uid == 8500 then

queststatus = getPlayerStorageValue(cid,8500)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Voce achou um Blessed Shield!.")

doPlayerAddItem(cid,2523,1)

setPlayerStorageValue(cid,8500,1)

else

doPlayerSendTextMessage(cid,22,"Esta vazio.")

end

elseif item.uid == 8501 then

queststatus = getPlayerStorageValue(cid,8500)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Voce achou um Horned Helmet")

doPlayerAddItem(cid,2496,1)

setPlayerStorageValue(cid,8500,1)

else

doPlayerSendTextMessage(cid,22,"Esta vazio.")

end

elseif item.uid == 8502 then

queststatus = getPlayerStorageValue(cid,8500)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Voce achou uma Warlod Sword.")

doPlayerAddItem(cid,2408,1)

setPlayerStorageValue(cid,8500,1)

else

doPlayerSendTextMessage(cid,22,"Esta vazio.")

end

elseif item.uid == 8503 then

queststatus = getPlayerStorageValue(cid,8500)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"Voce achou uma Demon Armor.")

doPlayerAddItem(cid,2494,1)

setPlayerStorageValue(cid,8500,1)

else

doPlayerSendTextMessage(cid,22,"Esta Vazio.")

end

else

return 0

end

 

return 1

end

Depois abra data/actions/actions.xml como bloco de notas e adicione essas linhas...

<action uniqueid="8500" script="NOME.lua" />

<action uniqueid="8501" script="NOME.lua" />

<action uniqueid="8502" script="NOME.lua" />

<action uniqueid="8503" script="NOME.lua" />

--Explicando

Vermelho - Unique ID que você colocou nos baus (ou no item que o player vai dar use para receber seu item)

Azul claro - Aqui nesse script para o player pegar apenas 1 de todos os itens o storage value deve ser igual um aos outros.

Laranja - Mensagem que vai aparecer quando o player der use no bau e receber seu item

Pink - ID do item que o player vai receber, e a quantidade do mesmo item.

Roxo - O que vai falar quando o player tentar pegar o item novamente.

Azul escuro - Unique id que você colocou no script.

Verde claro- nome que você salvou o script

Como foi sugerido pelo Tprocheira aqui vou ensinar a fazer um tipo de "desafio" que use action id...

(CLIQUE NO SPOIL)

abra seu map editor, depois coloque um balcão (ID: 1645) em algum lugar, depois, abra a pasta data/actions/scripts.

depois copie e cole qualquer arquivo .lua (CTRL + C e CTRL + V)

abra-o e apague tudo que estiver e cole isso

--By ADM Leo Leonardo Caetano

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

 

itempos = {x=331,y=60,z=11,stackpos=255}

item = getThingfromPos(itempos)

 

telepos = {x=71,y=33,z=8,stackpos=1}

 

playerpos = getPlayerPosition(cid)

 

effect1pos = {x=878,y=788,z=7,stackpos=1}

 

if item.itemid == 2881 and playerpos.x == 332 and playerpos.y == 60 and playerpos.z == 11 then

doTeleportThing(cid,telepos)

doSendMagicEffect(effect1pos,6)

doSendMagicEffect(telepos,10)

doSendMagicEffect(itempos,2)

doRemoveItem(item.uid,1)

 

else

 

doPlayerSendCancel(cid,"Fique em cima em frente a pedra.")

 

end

if item.itemid == 1645 then

doPlayerSendCancel(cid,"coloque o item na pedra.")

 

end

return 1

end

 

Agora vá em data/actions/actions.xml e abra-o como bloco de notas, depois disso adicione essas 2 linhas

 

<action itemid="1645" script="demodras dead.lua" />

<action itemid="2122" script="demodras dead.lua" />

 

--Explicando

Vermelho: Posição de onde o item irá ficar.

Azul escuro: Posição para onde o player será teleportado.

Verde escuro: Posição de onde irá aparecer o efeito.

Pink: ID do item que tem que colocar na pedra

Laranja: Posição de onde o player ficará para dar use no balcão

Roxo: ID do balcão

Marrom: mensagem que aparecerá se o player não ficar na posição certa, e mensagem que aparecerá se o player não colocar o item.

Cinza: ID do item

Azul claro: ID do balcão.

Verde claro: nome que você salvou o arquivo.

 

Quando eu for lembrando mais eu vou postando aqui!

se quiser podem dar uma ajuda a lembrar falando alguns tipos de quests, que eu edito e posto aqui....

(demorei pra fazer então pelomenos comentem)



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

Northon

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 08/08/07Posts: 701

Ou coloca o ss

 

Fica mais facil.

 

Nota: 5,0 -> Não é 10 por causa que não tem ss

Não dou suporte via PM ou MSN, utilize o fórum para isto.
© 2007 ~ 2009

vini_xxe

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/11/06Posts: 260

Concordo com o Northon

Precisa de ss's

vlws

Bem na moral galera
Enquanto vocês ficam ae preocupados com uns OT SERVER
com um joguinho MEDIOCRE que nao leva a NADA
A vida ta passando
Comecei a jogar de brincadeira, quando me dei conta
4 ANOS se passaram, e ai, oq eu ganhei?
Perdi muitas minas, perdi muitas festas, muitos jogos :S
PAREI, PEGO GERAL, TO EM TODAS AS FESTAS
Fiquem ae jogando NERDS
Que eu vo vive minha vida
@@@@@@@@@@@@@@@@@@@@@@@@@@@@;

TIBIA, UM JOGO QUE VICIA, E EH PIOR QUE ALCOOL
NAO MATA A PESSOA
SOH ACABA COM SEU CONVIVIO SOCIAL
VOCE DEIXA SUA MAE LA SOZINHA PRA PEGA UM SKILL DE SWORD
WTF?
VC NAO SAI COM A GALERA PRA PEGA MINA, PQ TEM Q UPA --"
NERD !@;

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

LoL, como eu vou colocar ss de um script !?

só se for pra eu colocar a ss de 4 baus. colocando unique id, coisa que todo mundo sabe fazer, mas mesmo assim vou colocar.

vlw as dicas



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

Tprocheira

WOOOOW
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 23/12/07Posts: 566Char no Tibia: Tprocheira soldier

o.O, concordo com o Maximusot, não tem porque colocar SSs de unique IDs...

Nota:9.0 ->

Já existem alguns tópicos desses. Uma coisa que acho que ficaria legal, coloque como fazer uma quets que de um action ID para o item.

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

Valeu pela dica Tprocheira, adicionei um tipo de "desafio" com essa sua ideia.

 

 

Atenciosamente,

Maximus.



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

didinhaxd

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/02/08Posts: 81Char no Tibia: nemhum

gostei.. no meu ot tem mtas quests rox aki.. qq dia desses eu mando pra vcs ;]

Jvchequer

"Veni, vidi, vici."
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 10/10/05Posts: 2161Char no Tibia: Master Chequer

Aprovado!

 

Sem mais

1271330714-U1306.gif

 

~ Fiz parte da Equipe Xtibia em um tempo que Tibia era minha família. Saudades de todos vocês.

Jonnycova

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/01/08Posts: 36Char no Tibia: Não tenho

Ficou muito bom, principalmente a ultima, vou colocar no meu ot :smile_positivo:



Skulls

Coordenador de Eventos
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 26/02/07Posts: 859Gênero: Masculino

Maximus se eh meu amigo

 

mas eu num gostei mto nao

 

sei la

 

ta mto simples os exemplos de quests

 

claro q sao os mais comuns,

mas sei la

 

vc poderia por quests mais complexas

 

abraços

 

//skulls

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

Da uns exemplo do que pra você é uma quest complexa, que ai eu coloco umas aqui.

Os exemplos tão simples por que as quests é simples e não tem mais o que explica alem daquilo.

mas valeu a critica. :D

 

 

Atenciosamente,

Maximus.



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

PedroHEll

Brasil
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 12/04/08Posts: 191

2 palavras para esse topico

 

Eca, Melhora.

Pedro Henrique



pedrohellsign.png

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

Não tem como melhora.

Cada um com sua opnião se você acha "eca" tudo bem, não posso fazer nada por você.



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS

Xgogeta

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/04/08Posts: 324

Simplesmente não gostei, tópico muito ruim tem outros que ensinam a fazer melhor, e tem mais conteúdo do que esse.

REPROVADO

Sign e Fan Bar By cai01992



Me Adora? Me Admira? Te ajudei? Use:




AVATAR



ESCOLA SPRITE: INSIDE SPRITE WORLD

maximusot

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/03/07Posts: 219

Agora já é tarde pra falar reprovado ou aprovado, se você não percebeu já foi aprovado...

quem gosto vlw, quem não gosto posso fazer nada...



CLIQUE AKI DEPOIS CLIQUE NO CLICK AQUI DA SEGUNDA LINHA NÃO DEMORA NEM 1 MINUTO


MINHAS METAS

~~~~~~~~~~~~~~
~~
MINHAS METAS~~
~~~~~~~~~~~~~~


1 post (X)
10 posts (X)
20 posts (X)
30 posts (X)
40 posts (X)
50 posts (X)
60 posts (X)
70 posts (X)
80 posts (X)
90 posts (X)
100 posts (X)
120 posts (X)
150 posts (X)
200 posts (X)
300 posts (X)
400 posts (X)
500 posts (X)
600 posts (X)
700 posts (X)
800 posts (_)
900 posts (_)
1000 potsts (_)
1300 posts (_)
1500 posts (_)
1800 posts (_)
2000 posts (_)
----------------------------------------------------

MEUS TRABALHOS
  • 1
  • 2