juuniooor 0 #1 Postado 30 Junho, 2009 (editado) Bem galera, 1º post .. :cry: Vamo lá... Titulo: [8.4+] Comprando Por Talkaction [spoiler=Informações] Nome: !buy . Versão: 8.4 . Tipo do script: Talkaction . Servidor Testado: Forgotten Server 0.34 . Autor: juuniooor 1- Pra que serve 2- Como Instalar 3- Editando do Seu jeito 1- Pra que serve 1- Esse script é para quem é folgado e esta no meio do hunt e acaba "Determindo item" e tem preguiça de ir ate cidade para compra-lo. É um script bem simples porem mto elogiado em meu ot 2- Como Instalar 2- Vamo ao que interessa Primeiramente, crie um documento de texto na pasta do seu ot, nao na data e sim onde fica o Ot, junto com a config.lua, crie e ponha o nome de vendas.txt Dentro dele coloque isso : !Aol - AOL -Preço: 10K !buysd - BP SD -Preço: 2K !bphp - BP health potions -Preço: 900 !bpmp - BP Mana potions -Preço: 1k !bpuhp - BP Ultimate health potions -Preço: 6.2k !bpgsp - BP Great Spirit potions -Preço: 3.8k !bpgmp - BP Great Mana potions -Preço: 2.4k Isso é para qdo o player falar !Buy, ira aparecer estas informações de como comprar. Pode ser editado por voce. Segundo passo : Va ate o talkactions/scripts e crie uma pasta chamada buy, dentro da pasta crie um arquivo lua chaamado buy.lua. Coloque o codigo dentro dele e salve --- Script by JuuniooR~--- --- Compra por TA --- function onSay(cid, words, param) file = io.open('vendas.txt','r') notice = file:read(-1) doShowTextDialog(cid,7528,notice) file:close() end Terceiro passo: Crie 4 arquivos lua Com os nomes bpsd.lua bpuhp.lua bpgsp.lua aol.lua Abra o aol.lua e coloque este codigo e salve function onSay(cid, words, param, channel) if(doPlayerRemoveMoney(cid, 10000) ~= TRUE) then doPlayerSendCancel(cid, "You don't have enough money.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return TRUE end doPlayerAddItem(cid, 2173) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Thanks.") return TRUE end Com este script voce compra Aol Em Roxo é o preço Em Vermelho é o id do Aol Agora abra o bpgsp.lua e coloque este codigo e salve function onSay(cid, words, param, channel) --configs local preco = doPlayerRemoveMoney(cid, 3800) -- Preço do Item (mude apenas o numero) local numero = 0 -- NÃO MUDAR --end configs if preco == TRUE then local backpack = doPlayerAddItem(cid, 1988, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Thanks.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_STUN) repeat doAddContainerItem(backpack, 8472, 1) numero = numero +1 until numero == 20 -- 20 = NUMERO DE POTIONS QUE O PLAYER VAI GANHAR else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end return TRUE Com este Script vc compra Bp de great spirit potions Roxo = preço Vermelho = id GSP Agora abra o bpuhp.lua e coloque este codigo e salve function onSay(cid, words, param, channel) --configs local preco = doPlayerRemoveMoney(cid, 6200) -- Preço do Item (mude apenas o numero) local numero = 0 -- NÃO MUDAR --end configs if preco == TRUE then local backpack = doPlayerAddItem(cid, 1988, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Thanks.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_STUN) repeat doAddContainerItem(backpack, 8473, 1) numero = numero +1 until numero == 20 -- 20 = NUMERO DE POTIONS QUE O PLAYER VAI GANHAR else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end return TRUE Com este, voce compra um bp de Ultimate Health potion Roxo = preço Vermelho = id UHP Por fim abra o arquivo bpsd.lua esalve esse codigo: function onSay(cid, words, param, channel) --configs local preco = doPlayerRemoveMoney(cid, 1000) -- Preço do Item (mude apenas o numero) local numero = 0 -- NÃO MUDAR --end configs if preco == TRUE then local backpack = doPlayerAddItem(cid, 1988, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Thanks.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_STUN) repeat doAddContainerItem(backpack, 2268, 1) numero = numero +1 until numero == 20 -- 20 = NUMERO DE POTIONS QUE O PLAYER VAI GANHAR else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end return TRUE Compra BP de sd Roxo = preço Vermelho = id SD ----------------------------------------------------------------------------------- Para finalizar. Abra o talkactions.xml e adicione isso no final dele: <!-- Vendas --> <talkaction words="!buy" script="./buy/buy.lua" /> <talkaction words="!aol" script="./buy/aol.lua" /> <talkaction words="!bpsd" script="./buy/bpsd.lua" /> <talkaction words="!bpuhp" script="./buy/bpuhp.lua" /> <talkaction words="!bpgsp" script="./buy/bpgsp.lua" /> Pronto!!! 3- Editando do Seu jeito Agora voce pode por o item q voce escolher a venda eh so pegar a Id e trocar por uma existente. Espero que Gostem Editado 1 Julho, 2009 por juuniooor Compartilhar este post Link para o post
Skyen Hasus 21 #2 Postado 2 Julho, 2009 Aprovado e Movido para Download de Ações. Observação: Só achei que o script ficou imenso, sendo que você podia ter feito tudo em um único script, com muito poucas linhas. Apenda a usar tabelas e o argumento 'param', vai facilitar muito a sua vida. Compartilhar este post Link para o post
Lwkass 1 #3 Postado 2 Julho, 2009 Realmente daria pra fazer tudo em 1 script pequeno, mas ta legal, gostei até... se bem que não deve vender qualquer tipo de item por talk e eu já tinha visto em um server 8.2 um sistema parecido. Aprovado Compartilhar este post Link para o post
91690589169058 0 #4 Postado 2 Julho, 2009 Desculpe não gostei você boto esse script como seu , mais nao e (ripping) isso e da otland.net Compartilhar este post Link para o post
josejunior23 2 #5 Postado 2 Julho, 2009 d: local CONFIG = { -- ["nome do comando"] = {id da bp, preço, id do item, quantidade(so para runas)} ["!buysd"] = {2000, 2000, 2268, 3}, ["!bphp"] = {2000, 900, 7618, 1}, ["!bpmp"] = {2000, 1000, 7620, 1}, ["!bpuhp"] = {2000, 5200, 8473, 1}, ["!bpgsp"] = {2000, 3800, 8472, 1}, ["!bpgmp"] = {2000, 2400, 7590, 1} } function onSay(cid, words, param) local buy = CONFIG[words] if (buy ~= nil) then if doPlayerRemoveMoney(cid, buy[2]) == TRUE then container = doPlayerAddItem(cid, buy[1], buy[4]) for i = 1, 20 do doAddContainerItem(container, buy[3]) end doPlayerSendTextMessage(cid, TALKTYPE_BROADCAST, "Here you got: x" .. buy[4] .. " " .. getItemNameById(buy[3]) .. ".") else doPlayerSendTextMessage(cid, TALKTYPE_BROADCAST, "You don\'t have enough money!") end end return TRUE end Compartilhar este post Link para o post
azerydecode 0 #8 Postado 3 Julho, 2009 Tem como colokar esse comandos so para vip . E pode me ajduar num comando que o player fale !thais e vai pro templo de thais so pra vip isso Obrigado a quem me responder e 5 dias de vip no meu ot. Compartilhar este post Link para o post
juuniooor 0 #9 Postado 3 Julho, 2009 E pode me ajduar num comando que o player fale !thais e vai pro templo de thais so pra vip isso Vo tenta (Y) Crie um arquivo .lua com o nome tpThais.lua e salve isso nele: function onSay(cid, words, param) playervoc = getPlayerVocation(cid) novapos = {x=84, y=146, z=7} ----> [color="Red"]Local Templo de Thais[/color] [color="Red"]msg = "Voce Não é VIP!" msg2 = "VIP!"[/color] if playervoc <= [color="Red"]4[/color] then doPlayerSendTextMessage(cid, 22, msg2) doTeleportThing(cid,novapos) doSendMagicEffect(novapos,10) elseif playervoc > [color="Red"]4[/color] then doPlayerSendTextMessage(cid, 22, msg) doSendMagicEffect(playerpos,2) end return 1 end e isso no talkactions.xml <talkaction words="!Thais" script="tpThais.lua"/> Dai eh so edita para o local e msg se quiser Funciona assim : somente player com Promotions pode usar o comando dai tem o eskema de vip na qual vc cria uma vocaçao VIP, dai eh so vc por o id dela. Qlqer duvida posta ae Sua outra duvida posto depois [spoiler=Agradeça]Gostou ? Doe me OT$ :yes: Compartilhar este post Link para o post