Ir para conteúdo
Entre para seguir isso  
juuniooor

Compra p/ Talkaction

Recommended Posts

juuniooor    0
juuniooor

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 :P

 

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 :P

 

 

:D

 

Editado por juuniooor

Compartilhar este post


Link para o post
Skyen Hasus    21
Skyen Hasus

  • 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
Lwkass

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
91690589169058

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
josejunior23

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

É .. bem mais bunitinho :P

Compartilhar este post


Link para o post
sTeferson    0
sTeferson

fiko loooko manooo :D (L'

Compartilhar este post


Link para o post
azerydecode    0
azerydecode

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
juuniooor
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 :P

 

[spoiler=Agradeça]Gostou ?

Doe me OT$ :yes:

 

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.

×