Ir para conteúdo

Featured Replies

Postado
  • Autor

@FlavioHulk Não deu erro na distro, porem eu vou usando infinitamente e não recebo o premio e fica aparecendo que foi resetado a cada use que dou após o primeiro Use.

Fiz o teste alterando o "time" para "times" por que "time" tava ficando azul, como se fosse 1 palavra reservada, alterei tbm o tempo para "10000 * 60" pra ver se não era nenhum bug no tempo, não adiantou de nada.

 

Obrigado novamente.

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

  • Respostas 13
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config, players = { actionId = 1225, -- Action ID da quest. healthLose = 50, -- Quantidade de life perdido a cada clique. healthTotal = 300, -- Quantidade a ser alcançada de life. reward = {

Posted Images

Postado
  • Solução
local config, players = {
	actionId = 1225, -- Action ID da quest.
	healthLose = 50, -- Quantidade de life perdido a cada clique.
	healthTotal = 300, -- Quantidade a ser alcançada de life.
	reward = {
		[1] = {itemId = 2160, amount = 100}  -- Recompensa itemId e quantidade
	},
	globalStorage = 52220, -- Storage global
	storagePlayer = 52221, -- Storage do player
	storageTime = 52222, -- Storage do Tempo
	time = 10 -- Tempo em segundos
}, {}

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	if item.actionid ~= config.actionId then
		return false
	end

	if Game.getStorageValue(config.globalStorage) > 0 then
		player:sendCancelMessage('The daily quest has already been made.')
		return true
	end

	if player:getStorageValue(config.storagePlayer) > 0 then
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The chest is empty.')
		return true
	end

	local difference = config.healthLose
	player:addHealth( - difference)
	if player:getExhaustion(config.storageTime) <= 0 then
		if players[player:getId()] then
			players[player:getId()] = nil
			player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Your sacrifice was reseted.')
		end
		
		player:setExhaustion(config.storageTime, config.time)
	end

	players[player:getId()] = ((players[player:getId()] == nil and 0 or players[player:getId()]) + config.healthLose)
	if players[player:getId()] == config.healthTotal then
		if not player then
			return false
		end

		for i = 1, #config.reward do
			local rewards = config.reward[i]
			player:addItem(rewards.itemId, rewards.amount)
		end
		Game.setStorageValue(config.globalStorage, 1)
		player:setStorageValue(config.storagePlayer, 1)
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You did the quest.')
		for k in pairs(players) do
			players[k] = nil
		end
	end
	return true
end

Cara, testei totalmente esse script, e funciona como deveria.. Lembra-se de não dar reload no script, senão a tabela irá resetar !

  • 10 months later...
Postado
  Em 09/10/2018 em 02:01, FlavioHulk disse:

local config, players = {
	actionId = 1225, -- Action ID da quest.
	healthLose = 50, -- Quantidade de life perdido a cada clique.
	healthTotal = 300, -- Quantidade a ser alcançada de life.
	reward = {
		[1] = {itemId = 2160, amount = 100}  -- Recompensa itemId e quantidade
	},
	globalStorage = 52220, -- Storage global
	storagePlayer = 52221, -- Storage do player
	storageTime = 52222, -- Storage do Tempo
	time = 10 -- Tempo em segundos
}, {}

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	if item.actionid ~= config.actionId then
		return false
	end

	if Game.getStorageValue(config.globalStorage) > 0 then
		player:sendCancelMessage('The daily quest has already been made.')
		return true
	end

	if player:getStorageValue(config.storagePlayer) > 0 then
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The chest is empty.')
		return true
	end

	local difference = config.healthLose
	player:addHealth( - difference)
	if player:getExhaustion(config.storageTime) <= 0 then
		if players[player:getId()] then
			players[player:getId()] = nil
			player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Your sacrifice was reseted.')
		end
		
		player:setExhaustion(config.storageTime, config.time)
	end

	players[player:getId()] = ((players[player:getId()] == nil and 0 or players[player:getId()]) + config.healthLose)
	if players[player:getId()] == config.healthTotal then
		if not player then
			return false
		end

		for i = 1, #config.reward do
			local rewards = config.reward[i]
			player:addItem(rewards.itemId, rewards.amount)
		end
		Game.setStorageValue(config.globalStorage, 1)
		player:setStorageValue(config.storagePlayer, 1)
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You did the quest.')
		for k in pairs(players) do
			players[k] = nil
		end
	end
	return true
end

Cara, testei totalmente esse script, e funciona como deveria.. Lembra-se de não dar reload no script, senão a tabela irá resetar !

 

poderia atualizar esse script para tfs 0.4 por favor?

 

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.6k

Informação Importante

Confirmação de Termo