Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Olá, galerinha vim trazer o sistema de leilão

Imagens

1S1cU.png

God usou o comando /leilao 2494,1,30000

---

40yLm.png

O jogador Devil deu um lance 400000 gps, no caso maior lance

--

wonLc.png

Comando !lance lista

--

JoCnK.png

Depois de "X" minutos quem der o maior lance leva o item.

--

rQDjX.png

Item com sua descrição

primeiramente vá em

/data/talkactions/scripts crie um arquivo chamado leilao.lua e adicione isso dentro

function onSay(cid, words, param)

config = {

acess = 4,

time = 5,

storage = {25601,25602,650213}

}

function getWinnerLeilao()

local w = tostring(getGlobalStorageValue(config.storage[1])):gsub(':', ''):explode(',')

if not getPlayerByNameWildcard(w[4]) then

local item = doCreateItemEx(w[1]-1, w[2])

local x = doItemSetAttribute(item, "description", "Item comprado em leilão por "..w[3].." gps.")

doPlayerSendMailByName(w[4], item)

else

local x = doPlayerAddItem(getPlayerByNameWildcard(w[4]), w[1], w[2])

doItemSetAttribute(x, "description", "Item comprado em leilão por "..w[3].." gps.")

end

doBroadcastMessage("O item ["..getItemNameById(w[1]).." : "..w[2].."] Foi vendido para o jogador "..w[4].." por "..w[3].." gps!")

setGlobalStorageValue(config.storage[1],-1)

setGlobalStorageValue(config.storage[2],-1)

for _, pid in pairs(getPlayersOnline()) do

setPlayerStorageValue(pid, config.storage[3], -1)

end

return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = "..config.storage[3])

end

if words == "/leilao" then

if getPlayerAccess(cid) < config.acess then

doPlayerSendTextMessage(cid, 28, "Você não pode executar essa ação.") return true

end

local t = string.explode(param, ",")

if not tonumber(getGlobalStorageValue(config.storage[1])) then

doPlayerSendTextMessage(cid, 27, "Já há um leilão ativo no momento.") return true

elseif not tonumber(t[1]) or not tonumber(t[2]) or not tonumber(t[3]) then

doPlayerSendTextMessage(cid, 28, "Faltou parametro.")return true

elseif not isItemMovable(t[1]) then

doPlayerSendTextMessage(cid, 28, "Você não pode adicionar esse item no leilão.")return true

end

setGlobalStorageValue(config.storage[1], ":"..t[1]..",:"..(isItemStackable(t[1]) and t[2] or 1)..",:"..t[3]..",:"..getCreatureName(cid))

setGlobalStorageValue(config.storage[2], os.time()+ config.time*60)

doBroadcastMessage("[Leilão] O item ["..getItemNameById(t[1]).." : "..(isItemStackable(t[1]) and t[2] or 1).."] Está em leilão até "..os.date("%X ", getGlobalStorageValue(config.storage[2])).."\nLance Minimo: "..t[3].." gps.")

addEvent(getWinnerLeilao, config.time*1000*60)

elseif words == "!lance" then

if tonumber(getGlobalStorageValue(config.storage[1])) then

doPlayerSendTextMessage(cid, 27, "Não tem nenhum leilão ativo no momento.") return true

end

local s = tostring(getGlobalStorageValue(config.storage[1])):gsub(':', ''):explode(',')

if param == "lista" then

doShowTextDialog(cid,s[1], "Item: "..getItemNameById(s[1]).."\n\nQuantidade: "..s[2].."\n\nMaior lance atual: "..s[3].."\n\nJogador: "..s[4].."\n\nPrazo Final: "..os.date("%X ", getGlobalStorageValue(config.storage[2]))) return true

elseif not tonumber(param) or tonumber(param) <= 0 or tonumber(param) > 9999999 then

doPlayerSendTextMessage(cid, 28, "digite um número válido.") return true

end

local li = getPlayerStorageValue(cid, config.storage[3]) < 0 and 0 or getPlayerStorageValue(cid, config.storage[3])

local conta = (li + tonumber(param))

if conta <= tonumber(s[3]) then

doPlayerSendTextMessage(cid, 28, "você tem que dar um lance maior que "..s[3].." gps") return true

elseif not doPlayerRemoveMoney(cid, tonumber(param)) then

doPlayerSendTextMessage(cid, 28, "você não tem gps suficientes para dar um lance") return true

end

setPlayerStorageValue(cid, config.storage[3], conta)

setGlobalStorageValue(config.storage[1], ":"..s[1]..",:"..s[2]..",:"..conta..",:"..getCreatureName(cid))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, agora você deu o maior lance de "..conta.." gps no item [Nome: "..getItemNameById(s[1]).."] [Count: "..s[2].."]")

end

return true

end
talkactions.xml
<talkaction words="/leilao;!lance" script="leilao.lua"/>

Como usar

GOD fala

/leilao item, quantidade, lançe minimo

player fala

!lance lançe

player fala

!lance lista

para ver as info do leilão

Créditos

Eu

Vodkart

Editado por Skyforever (veja o histórico de edições)

Retirado.

 

Skype: joaoxtibia85.

  • Respostas 9
  • Visualizações 2.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Sim, futuramente o joão vai fazer isso, por enquanto eu só ajudei ele nessa versão inicial

  • Obrigado Daaniel. Poderiam dar dicas doque colocar nele leilão pra player tô trabalhando nele.

Postado

acho que seria mais legal se você posse pra players também criar leilões.

Mais mesmo assim, parabéns belo sistema.

reputado.

Sim, futuramente o joão vai fazer isso, por enquanto eu só ajudei ele nessa versão inicial ;D

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo