Ir para conteúdo
  • 0

Adquirir storage temporariamente por meio de talkaction.


Gutorb

Pergunta

Saudações, prezados membros do Xtibia, site ao qual sempre recorro em caso de dúvida!

 

 

Então,

 

Venho solicitar encarecidamente um script que permita ao player adquirir storage temporariamente ao utilizar talkaction e desembolsar o valor para isso.

 

Pretendo utilizá-lo da seguinte forma: o player, ao fazer uso de determinada talkaction, paga 1kk e ganha poderes para abrir temporariamente uma porta. Transcorridas 24h, o player perde tais poderes para abrir a porta, mas pode readquiri-los se utilizar a talkaction novamente.

 

P.S.: Procurei script semelhante no fórum e não encontrei.

 

Versão do servidor: 8.6.

 

Obrigado desde já.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Talkaction:

local config = {
	storage = 99488, -- STORAGE PARA CONTROLAR TEMPO
	cost = 1000000, -- Preço para comprar o acesso
	tempo = 24 -- Tempo em horas para durar a compra
}

function onSay(cid, words, param)
	if getPlayerStorageValue(cid, config.storage) < os.time() then
		if doPlayerRemoveMoney(cid, config.cost) then
			setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo * 60 * 60))
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce comprou " .. config.tempo .. " horas de acesso.")
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS)
			return true
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa de  " .. config.cost .. " gold coins para comprar este acesso.")
			return false
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce so pode comprar este acesso a cada " .. config.tempo .. " horas.")
	end
	return false
end

Porta:

local storage = 99488 -- STORAGE PARA CONTROLAR TEMPO

function onUse(cid, item, topos)
        if getPlayerStorageValue(cid, storage) < os.time() then
                doTeleportThing(cid, topos, true)
                return true
        end
        return doPlayerSendCancel(cid, "Voce precisa comprar acesso para entrar nessa area.")
end
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...