Ir para conteúdo
Entre para seguir isso  
Haxy

[8.1]InGame Quest Maker

Recommended Posts

Haxy    0
Haxy

-------------------------------

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:

 

kspoaksopawr6.png

 

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
Jovial

Bem legal em =P~

Fiquei emocionado =´)

 

Aprovado.

Compartilhar este post


Link para o post
J3@n    0
J3@n

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
BlueAvenger

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
Haxy

@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
Nord

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
Kaotar

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 por Kaotar

Compartilhar este post


Link para o post
Haxy    0
Haxy

@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 por Haxy

Compartilhar este post


Link para o post
Forger    2
Forger

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 por Forger

Compartilhar este post


Link para o post
Haxy    0
Haxy

@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
Elys Zarox

bem facil isso =] mais prefiro fazer direto no map editor xD

Compartilhar este post


Link para o post
Toddy    0
Toddy

@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
Haxy

@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
Toddy

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
541320

Só tenho 1 palavra com 3 letras a dizer

LOL

Compartilhar este post


Link para o post
Haxy    0
Haxy

@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
541320

Achei bom, gostei, mas prefiro o método original, me sinto mais seguro

Aprovado

Compartilhar este post


Link para o post
Haxy    0
Haxy

@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
Elver Maguh

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
gslayeryourotsv9    0
gslayeryourotsv9

daora :)

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×