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:
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:
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:
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á.
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--
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.
.OLHA PESSOAL VIM TRAZER UM MAPA BAIAK Ysho PRA QUEM QUER OT DEDICADO MESMO COM MUITAS INOVAÇÃO [Ysho]
ESPERO QUE GOSTEM
.LINK DO DAWLOAD SO VALIDO AKI
.MapaJA Vem Com Anti-Nuk
.Baiak Yurots V2.2 Oque Mudou ?
.Mudou a City ta 90% 8.5
.Foi Arrumada As Houses.
.Adicioano Npc Papai Noel no Templo Vende Items 8.54!
.Novos Items
.Novos Outifits
.Novas Hunts.
.E Muito Mais...
.Baiak Yurots V2.7 Oque Mudou ?
.Foi Adicionada um Nova Cidade Chamada Baiak City
.Foi Adidionada Um Teleport no Templo Que Vai para Alumas City's
.Foi Adicionado Npc de Bless,Pagando Todas as Bless você nao prescisa usar aol...
.Foi Adicionado Uma Ilha de GM's ...
.Bug do Account Mananger Arrumado.
.Novo Executer adicionado,se o ot cai ele salva sozinhoo.
.E Muito Mas Estara por vim ...
.Baiak Yurots v1.0.9 Oque Mudou ?
.Foi Adicionado Sistema Vip..
.Foi Adicionado 5 Novos Portais Vip
.Foi Adicionado Novos Bixos Vip,Warlock Vip,Medusa Vip,Bossing of Baiak..
.Foi Adicionado New Quest Baiak Super Foda !! ;D
.Foi Modificado o Templo
.Foi Adicionado Mais Treiners !
.Entre Alguns Bugs Retirados
.Baiak Yurots v1.1.0 Oque Mudou ?
.Mudou o Protocolo de 8.57 para 8.60
.Novos Item
.Novo Outfit
.Baiak Yurots V1.1.4 Oque Mudou ?
.Tirei o Pz tool do Templo
.Fiz um Novo System Vip por Comando
.Fiz o Novo Addon do Outfit do Wayfarer
.Baiak Yurots Edited By Bryaan Oque mudou ?
.Modifiquei o templo, totalmente NORMAL
.Fiz novos comandos, !aol, !bless, !jail playername <para gods>, !removeskull (retira sua black ou red skull por 1kk), entre outros
.Criei novos itens vips II! (obtidos na vip quest)
.Fiz quest para axe vip, star vip,club vip,sword vip,wand e rod vip
.Fiz uma vip II
.Fiz Um Castelo, onde ocorre batalhas do time Verde X Vermelho.
.Fiz uma Area Pvp, onde quem morrer nao perde level
.Fiz uma quest vip, onde se ganha a vip II E mais um amuleto vip(permite que red skull e black skull nao percam itens, funciona como aol tambem, possui 30 cargas) e tambem um item vip de sua escolha( axe,sword,club,star,rod ou wand vip.)
.Novos Teleports Adcionados na Vip II
.Monstros novos como Medusa vip II, Hydra Vip II, entre outros.
.Fiz uma Super Poi para vips II
.Vocaçoes Balanciadas
.Teleports Especiais [ARENA, CASTELO DO REI E HOUSE ISLAND] para level 300+
.Bug Da baiak cape que nao dava ml+6, arrumado, entre outros varios bugs
.System Vip Como Funciona ?
.A Vip I é free, portanto o comando !buyvip, foi removido, pois implicava com a vip II.
.A Vip II é somente para quem conseguiu completar a Vip Quest, onde la voce ganha a vip stone, e vira vip usando ela
.Fica agora umas Ss ai pra vocês
Templo
Teleports
Area Vip normal
Nova Hunt Da Area Vip "Bossing Off Baiak"
Nova cidade de "WAR" Muito boa pra quem gosta de X1
Area Vip 2
Teleporte VIP 2
Cidade "FREE" Baiak Ysho
Download do mapa: http://www.4shared.com/rar/fu5DuYuv/860_Baiak_Edited_By_Ysho.html?
Scan:
Atenção!
Ae galera quem deixa ot online com esse mapa, por favo me chame pra ser cm eu gostaria muito de ajudar
me add no msn ai: dieguinho_lol@hotmail.com