Conectar-se

Esqueci minha senha

Últimos assuntos
» Você achar que ia dar certo Tibia forúm no StckTibia?
Ter Abr 21, 2009 2:38 pm por Admin

» Dark Mystic 2008
Ter Abr 21, 2009 2:36 pm por Admin

» Dark Mystic 2008
Ter Abr 21, 2009 2:34 pm por Admin

» Criando MAgia de fazer Grana
Qua Jul 16, 2008 8:22 pm por ViToR

» Deixando ip do seu server fixo
Qua Jul 02, 2008 8:33 pm por koudrex

» Postando o IP do seu serve no site otservlist.org
Ter Jul 01, 2008 8:09 pm por koudrex

» Criando Quests,veja!
Ter Jul 01, 2008 4:19 pm por ViToR

» Entrevistando Craban da CipSoft!
Qui Jun 26, 2008 10:38 am por ViToR

» Entrevista com Lord'paulistinha!
Seg Jun 23, 2008 9:22 pm por ViToR

Navegação
 Portal
 Índice
 Membros
 Perfil
 FAQ
 Buscar
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada


Criando Quests,veja!

Ir em baixo

Criando Quests,veja!

Mensagem  ViToR em Dom Jun 22, 2008 6:05 pm

Criando Quest
Muitas pessoas ainda nao sabem ou se confundem ao criar um bau de quest, esse tutorial aqui vai ensinar direitinho como criar um.
Este tutorial é dividido em 4 passos.

Criando Quest
-Passo 1 - Script.lua
crie um arquivo.lua novo, ele deve ficar localizado na pasta data/actions/scripts e escreva isto nele:




CODE
function onUse(cid, item, frompos, item2, topos)
if item.uid == X then
queststatus = getPlayerStorageValue(cid,Y)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Z")
item_uid = doPlayerAddItem(cid,ID,Q)
setPlayerStorageValue(cid,Y,1)


else
doPlayerSendTextMessage(cid,22,"O baú está vazio.")
end
else
return 0
end
return 1
end



Passo 2 - Configurando o Script.lua
Note que no script acima tem algumas variaveis: "X", "Y", "Z", Q e ""ID"
e em um bau de quest isso é que tem que ser configuravel... vou ensinar agora o que deve ser substituidos por essas letras e como fazer:

2.a - Configurando X
Esta variavel devera ser substituida por um numero maior que 1000, vc vai selecionar este numero pelo seu MAP EDITOR. Abra seu editor, va no bau onde fica localizada a quest entao clique com o botao direito no item e selecione PROPRIEDADES.
Vai apareçer 2 opções: Action ID e Unique ID, unique id é o que nos interessa...
entao onde tem unique id vc seleciona um numero a seu gosto.. como EXEMPLO vamos usar 2000.

2.b - Configurando Y
Esta variavel é chamada de DATA KEY e é o codigo que diz se o player fez ou nao esta quest.
ESTE NUMERO É A IDENTIDADE DA QUEST, SE 2 QUESTS TIVEREM A MESMA DATA KEY VAI DAR PROBLEMA NA QUEST, entao certifique-se que nenhuma outra quest/action possui este numero que vc vai escolher...
*Dica: Eu aconselho a usar o mesmo numero do uniqueid por uma questao de organização até.
Seguindo a dica entao vamos usar neste exemplo o numero 2000.
PS: este numero apareçe 2x no script, lembre-se de por ele corretamente nos 2 lugares, este numero nao precisa ser igual ao unique id, vc pode escolher outro, eu estou colocando o mesmo numero por uma questao de praticidade.

2.c - Configurando Z
Este é o mais facil, Z sera substituido pelo nome do item que a quest da (isso é aquele texto verinho que apareçe quando vc pega um item. Neste exemplo vamos usar umaMagic Sword.

2.d - Configurando Q
Este é bem simples tambem, e é configuravel apenas quando o item é contavel como dinheiro, bolts e etc... quando o ITEM NAO É CONTAVEL entao esta variavel fica sempre 1.
Como Magic Sword nao é um item contavel entao Q vai ser 1.

2.e - Configurando ID
Este é bem facinho de se configurar, nada mais é que o ID do item que o player vai ganhar.
Como no exemplo escolhi o item Magic Sword temos que usar o ID dela certo? smile.gif
O id da magic sworde é 2400.
PS: este id é de OT 7.4, o ID da magic sword em ot 7.5 é outro..

Passo 3 - Substituindo as Variaveis.
Voltando agora ao script, vamos substituir os valores, substituindo tudo direitinho no script vai ficar assim:



CODE
function onUse(cid, item, frompos, item2, topos)
if item.uid == 2000 then
queststatus = getPlayerStorageValue(cid,2000)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Magic Sword")
item_uid = doPlayerAddItem(cid,2400,1)
setPlayerStorageValue(cid,2000,1)

else
doPlayerSendTextMessage(cid,22,"O baú está vazio.")
end
else
return 0
end
return 1
end


Esta quase acabando!!!

Passo 4 - Adicionando o Script.lua nos Actions.
Antes de tudo lembre-se que o seu arquivo ate agora nao tem nome, como este bau da uma magic sword como item, entao vamos por o nome dele de MagicSwordQuest.
Agora va no actions.xml e abra em bloco de notas, e adicione isto la:




CODE
<action uniqueid="2000" script="MagicSwordQuest.lua" />



Salve e Feche.

Pronto, sua quest foi criada com sucessso!!!

Passo 5 - Como fazer quest de escolha (OPCIONAL)
Agora para quem quier aprender como faz baus estilo o da annihilator, 2 baus ou mais, e vc só pode pegar um item, irei ensinar agora.
é bem simples, vou tentar explicar como funfa e vou postar exemplo.
nao tem o script inicial postado aqui? pronto, se for 2 baus vc junta 2 scripts em um só, se for 4, 4 scripts em um só, sendo que quando se faz isso se adiciona else antes dos outros if.
vou fazer um exemplo com 3 baus ok? smile.gif
vamos lá.




CODE
function onUse(cid, item, frompos, item2, topos)
if item.uid == X¹ then --primeiro bau--
queststatus = getPlayerStorageValue(cid,Y)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Z¹")
item_uid = doPlayerAddItem(cid,ID¹,Q)
setPlayerStorageValue(cid,Y,1)

else
doPlayerSendTextMessage(cid,22,"O baú está vazio.")
end

elseif item.uid == X² then --segundo bau--
queststatus = getPlayerStorageValue(cid,Y)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Z²")
item_uid = doPlayerAddItem(cid,ID²,Q)
setPlayerStorageValue(cid,Y,1)

else
doPlayerSendTextMessage(cid,22,"O baú está vazio.")
end

elseif item.uid == X³ then --terceiro bau--
queststatus = getPlayerStorageValue(cid,Y)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Z³")
item_uid = doPlayerAddItem(cid,ID³,Q)
setPlayerStorageValue(cid,Y,1)

else
doPlayerSendTextMessage(cid,22,"O baú está vazio.")
end

else
return 0
end
return 1
end



Para configurar é bem simples, é igual a um script normal, vc tem que preencher as variaves normalmente.
nota: vc vai notar uma diferença neste script, alem do elseif, vc pode ver que tem variaves diferentes assim: X¹, X² e X³.
vou ensinar como vc vai configurar.
o X é unique id, vc vai configurar como em um script normal, só que x¹ é diferente de x² que é diferente de x³.
O mesmo se aplica aos Z's, aos ID's, note que nao tem varios "Y", ou seja, o Y do primeiro bau é = ao do segundo e = ao do terceiro.

--Partindo para o exemplo pratico--
eu aconselho vc a fazer os UNIQUEIDS seguidos como no exemplo pratico.

X¹ = 3000
X² = 3001
X³ = 3002

Y = 3000.

Z¹ e ID¹ = Magic Sword (2400)
Z² e ID² = SCA (2431)
Z³ e ID³ = TH (2421)
PS: todos estes ids sao para 7.4, nao sei os de 7.5 decorados.

--Substituindo as variaveis--



CODE
fuction onUse(cid, item, frompos, item2, topos)
if item.uid == 3000 then --primeiro bau--
queststatus = getPlayerStorageValue(cid,3000)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Magic Sword")
item_uid = doPlayerAddItem(cid,2400,1)
setPlayerStorageValue(cid,3000,1)

else
doPlayerSendTextMessage(cid,22,"Vc ja pegou um dos 3 items.")
end

elseif item.uid == 3001 then --segundo bau--
queststatus = getPlayerStorageValue(cid,3000)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Stonecutter Axe")
item_uid = doPlayerAddItem(cid,2431,1)
setPlayerStorageValue(cid,3000,1)

else
doPlayerSendTextMessage(cid,22,"Vc ja pegou um dos 3 items.")
end
elseif item.uid == 3002 then --terceiro bau--
queststatus = getPlayerStorageValue(cid,3000)
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid,22,"Você achou um(a) Thunder Hammer")
item_uid = doPlayerAddItem(cid,2421,1)
setPlayerStorageValue(cid,3000,1)

else
doPlayerSendTextMessage(cid,22,"Vc ja pegou um dos 3 items.")
end

else
return 0
end
return 1
end



feche, salve e escolha o nome do seu script/quest
exemplo: armas.lua

--Adicionando no actions.xml--
abra o action.xml e adicione as tags dos baus.



CODE
--armas quest--
<action uniqueid="3000" script="armas.lua" />
<action uniqueid="3001" script="armas.lua" />
<action uniqueid="3002" script="armas.lua" />
--end armas quest--

Atenciosamente,
Vitor
avatar
ViToR
Diretor StckTibia
Diretor StckTibia

Mensagens : 48
Data de inscrição : 07/06/2008
Idade : 22
Localização : guarujá,sp

Ver perfil do usuário http://www.stcktibia.maisforum.com

Voltar ao Topo Ir em baixo

boaaa

Mensagem  koudrex em Ter Jul 01, 2008 3:58 pm

deu pra entender...

xD

nem sabia como q fazia...opskpos

eu axava q era so pega o bau colok id do iten e pronto...pksposkopss
avatar
koudrex
Moderador StckTibia
Moderador StckTibia

Mensagens : 15
Data de inscrição : 08/06/2008

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando Quests,veja!

Mensagem  ViToR em Ter Jul 01, 2008 4:19 pm

É só colocar o id do iten que é mais facil...ospkaposkaposkaopksopaksaooskoapsa...
avatar
ViToR
Diretor StckTibia
Diretor StckTibia

Mensagens : 48
Data de inscrição : 07/06/2008
Idade : 22
Localização : guarujá,sp

Ver perfil do usuário http://www.stcktibia.maisforum.com

Voltar ao Topo Ir em baixo

Re: Criando Quests,veja!

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum