Adquirir storage temporariamente por meio de talkaction.

Gutorb
Por Gutorb
em Scripts

Gutorb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/05/13Posts: 24

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á.

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

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

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window

Gutorb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/05/13Posts: 24

Bruno,

 

Muito obrigado pela ajuda.

 

Funcionou.

 

Abraço!

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

Tópico movido para a seção de dúvidas e pedidos resolvidos.

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window