Haxy 0 #1 Postado 21 Maio, 2008 ------------------------------- Nome: InGame Quest Maker Versão: 8.1 Tipo do script: Talkaction Servidor Testado: Aries XML [0.4.5] Autor: Haxy ------------------------------- Você não sabe fazer os scripts de quest, mais mesmo assim não quer usar um quest maker?? A solução chegou com o InGame Quest Maker! Como usar: /qm "<unique id usado>,<storage value> Ai vai o InGame Quest Maker: quest_maker.lua function onSay(cid,words,param) idi1,idi2,uniq,stor = string.find(param, '(%d*),(%d*)') doPlayerSendTextMessage(cid,22,'Quest criada. \n Unique Id: '..uniq..'\nStorage: '..stor..'') doPlayerSendTextMessage(cid,24,'Arquivo .lua:\n \nfunction onUse(cid, item, frompos, item2, topos)\n if getPlayerStorageValue(cid,'..stor..') == -1 then\ndoPlayerSendTextMessage(cid,22,"MENSAGEM")\ndoPlayerAddItem(cid,ITEM,QUANTIDADE)\nelse\ndoPlayerSendTextMessage(cid,22,"It is empty.")\nend\nend\n \n \n') doPlayerSendTextMessage(cid,24,'Actions.xml\n \n<action uniqueid="'..uniq..'" script="AQUIVO.lua" />') end e no talkactions.xml <talkaction words="/qm" script="quest_maker.lua" /> Após o uso Você receberá uma mensagem enviando o script como segue na SS abaixo: Você recebera o script nessa base: function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid,600) == -1 then doPlayerSendTextMessage(cid,22,"[color="Blue"][b]MENSAGEM[/b][/color]") doPlayerAddItem(cid,[color="Red"][b]ITEM[/b][/color],[color="Lime"][b]QUANTIDADE[/b][/color]) else doPlayerSendTextMessage(cid,22,"It is empty.") end end Ai basta mudar algumas coisinhas: Azul: Mensagem que o player vai receber quando pegar o item Vermelho: Id do item que vai ganhar Verde: Quantidade do item que vai ganhar --------------------------------------------------------- Vale lembrar que não pode ter espaço depois da virgula(no comando): Errado: /qm "unique, storage Correto: /qm "unique,storage --------------------------------------------------------- Agradecimentos especias: Jovial [pelo tutorial de LuaSQL, deu pra aprender o basico de string.find] Cya~ N0 M0r£ Haxy^/Op^ Compartilhar este post Link para o post
Jovial 2 #2 Postado 22 Maio, 2008 Bem legal em =P~ Fiquei emocionado =´) Aprovado. Compartilhar este post Link para o post
J3@n 0 #3 Postado 22 Maio, 2008 O script é bom mas pra que aparecer o script no ot? e onde coloca o primeiro codigo ? Compartilhar este post Link para o post
BlueAvenger 0 #4 Postado 22 Maio, 2008 Olha ficou muito bom, o tópico está muito bem esplicado e bem detalhado, com exemplos, está sensacional, meus parabens pelo script! Grato. Aprovado~ Compartilhar este post Link para o post
Haxy 0 #5 Postado 22 Maio, 2008 @J3@n Você faz assim, primeiro faça a quest no map editor, e coloque algum unique id no baú, ai feito isso, você entra no jogo e digita: /qm "uniqueidquevocêusounomapeditor,<storage> feito isso você vai receber um código, entre na pasta data/actions/script e copie algum arquivo lá, e renomeie pra kalker coisa(u.U), abra ele e apague tudo e cole o código que você recebeu, configure com a mensagem, item, quantidade, feche e salve! agora volte uma pasta e abra actions.xml e adicione a tag que você recebeu tambem, e mude apenas o nome do arquivo! Se não entendeu me avisa que eu tento explicar melhor @Topic Vlws pelos elogios Cya~ N0 M0r£ Haxy^/Op^ Compartilhar este post Link para o post
Nord 2 #6 Postado 22 Maio, 2008 Uau, fazia um tempão que não postava aqui porque falta scripts bons, dai eu olho o seu até anima de novo =P, mereceu um pouco de meus OT$. Compartilhar este post Link para o post
Kaotar 5 #7 Postado 22 Maio, 2008 (editado) Em Haxy, não seria possivel fazer isso usando a função io.read e io.write? Ficaria ainda mais facil. [EDIT] Agora que eu vi ficaria dificil pois ia ter que configurar o item né? Editado 22 Maio, 2008 por Kaotar Compartilhar este post Link para o post
Haxy 0 #8 Postado 22 Maio, 2008 (editado) @Kaotar Como assim io.read e io.write?? Não manjo mtu de lua não ;/ soh sei o basicão Cya~ N0 M0r£ Haxy~/Op^ Editado 16 Julho, 2009 por Haxy Compartilhar este post Link para o post
Forger 2 #9 Postado 22 Maio, 2008 (editado) function onSay(cid,words,param) local uniq, stor = select(3, string.find(param, '(%d*),(%d*)')), select(4,string.find(param, '(%d*),(%d*)')) doPlayerSendTextMessage(cid,22,'Quest criada. \n Unique Id: '..uniq..'\nStorage: '..stor) doPlayerSendTextMessage(cid,24,'Arquivo .lua:\n \nfunction onUse(cid, item, frompos, item2, topos)\n if getPlayerStorageValue(cid,'..stor..') == -1 then\ndoPlayerSendTextMessage(cid,22,"MENSAGEM")\ndoPlayerAddItem(cid,ITEM,QUANTIDADE)\nelse\ndoPlayerSendTextMessage(cid,22,"It is empty.")\nend\nend\n \n \n') doPlayerSendTextMessage(cid,24,'Actions.xml\n\n<action uniqueid="'..uniq..'" script="AQUIVO.lua" />') end Um pouco mais organizado, mas ainda prefiro minha função de fazer quests, com muito mais opções... Editado 22 Maio, 2008 por Forger Compartilhar este post Link para o post
Haxy 0 #10 Postado 22 Maio, 2008 @Forger Sim, ficou bem mais organizado, e é claro que a função esta melhor, pois fica bem mais simplificado com uma linha de código, mais fiz o script mais pra treinar meus conhecimentos ------------ Como você fez pra o seu script ficar com a formatação lua? Cya~ N0 M0r£ Haxy~/Op^ Compartilhar este post Link para o post
Elys Zarox 0 #11 Postado 23 Maio, 2008 bem facil isso =] mais prefiro fazer direto no map editor xD Compartilhar este post Link para o post
Toddy 0 #12 Postado 23 Maio, 2008 @Haxy <3 Bem bonito. Só ta faltando isso... getPlayerAcess if acess > 3 then <script> else doPlayerSendTextMessage(cid,22,"You do not have permission!") (: Toddy Compartilhar este post Link para o post
Haxy 0 #13 Postado 23 Maio, 2008 @Toddy Sim, mais eu acho que nem precisa disso, já que um player não vai saber oque fazer com o código XD Mais se alguem quiser com limite de access: function onSay(cid,words,param) if getPlayerAccess(cid) >= 3 then idi1,idi2,uniq,stor = string.find(param, '(%d*),(%d*)') doPlayerSendTextMessage(cid,22,'Quest criada. \n Unique Id: '..uniq..'\nStorage: '..stor..'') doPlayerSendTextMessage(cid,24,'Arquivo .lua:\n \nfunction onUse(cid, item, frompos, item2, topos)\n if getPlayerStorageValue(cid,'..stor..') == -1 then\ndoPlayerSendTextMessage(cid,22,"MENSAGEM")\ndoPlayerAddItem(cid,ITEM,QUANTIDADE)\nelse\ndoPlayerSendTextMessage(cid,22,"It is empty.")\nend\nend\n \n \n') doPlayerSendTextMessage(cid,24,'Actions.xml\n \n<action uniqueid="'..uniq..'" script="AQUIVO.lua" />') else doPlayerSendCancel(cid,'Você não pdoe usar este comando.') end end Cya~ N0 M0r£ Haxy~/Op^ Compartilhar este post Link para o post
Toddy 0 #14 Postado 23 Maio, 2008 Sim, mais fica meio estranho, um player usa tal comando.. Embreve eu posto aqui o tutorial do meu script. Tá 80% pronto, tu vai fica de cara (: Compartilhar este post Link para o post
541320 0 #15 Postado 24 Maio, 2008 Só tenho 1 palavra com 3 letras a dizer LOL Compartilhar este post Link para o post
Haxy 0 #16 Postado 24 Maio, 2008 @541320 Evite post's sem conteudo, você pode tomar um alerta. E da próxima vez tente postar algo construtivo e não apenas: LOL Cya~ N0 M0r£ Haxy~/Op^ Compartilhar este post Link para o post
541320 0 #17 Postado 24 Maio, 2008 Achei bom, gostei, mas prefiro o método original, me sinto mais seguro Aprovado Compartilhar este post Link para o post
Haxy 0 #18 Postado 24 Maio, 2008 @541320 Isso não nenhum tipo de ''método'', isso eh um código que apenas te da o script da quest, saka? ele não vai ''criar'' a quest pra você, ele da apenas o script. Cya~ N0 M0r£ Haxy~/Op^ Compartilhar este post Link para o post
Elver Maguh 92 #19 Postado 24 Maio, 2008 Estou imprecionado!:style: Script muito bem organizado, e que concerteza vai facilitar a vida de muitas pessoas!(Y) Aprovado! Compartilhar este post Link para o post