Search the Community
Showing results for tags 'raro'.
Found 1 result
-
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: <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á. 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. --armas quest-- <action uniqueid="3000" script="armas.lua" /> <action uniqueid="3001" script="armas.lua" /> <action uniqueid="3002" script="armas.lua" /> --end armas quest-- É isso aí... espero que ajude! Se ajudei, agradeça , se está mal explicado , tentarei explicar melhor , somente criticas construtivas, chingametos , serão irelevantes e ignorado , obrigado ,até mais Creditos : 60% GOD DAKAI por fazer o tutorial 30% pra mim por modificalo + 10% por divulgar Até maais =D
