Ir para conteúdo

Featured Replies

Postado

@Revenant Tenta assim e continua mantendo o valor da storage como um valor menor:

local servants = {
	['Gorzindel'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['Lokathmor'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['Ghulosh'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['Mazzinor'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['The Scourge Of Oblivion'] = {storage = Storage.Livraria.AcessoSalaFinal}
}
function onKill(creature, target)
	local targetMonster = target:getMonster()
	local player = creature:getPlayer()
	if not player then
		return true
	end
	if not targetMonster or targetMonster:getMaster() then
		return true
	end
	local bossConfig = servants[targetMonster:getName()]
	if not bossConfig then
		return true
	end
	player:setStorageValue(bossConfig.storage, player:getStorageValue(bossConfig.storage) + 1)
	return true
end

 

  • Respostas 7
  • Visualizações 755
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Revenant Essa tabela foi declara em uma lib? De qualquer forma, tente mudar o valor das storages para um valor menor, já aconteceu um caso comigo de a storage não funcionar por ter um número muito gr

  • @Revenant Tenta assim e continua mantendo o valor da storage como um valor menor: local servants = { ['Gorzindel'] = {storage = Storage.Livraria.AcessoSalaFinal}, ['Lokathmor'] = {storage = Stor

  • @Revenant Não tenho muita experiência com as TFS 1.X, então realmente conheço bem pouco das funções e fica difícil de ajudar. Tenta assim: function onKill(player, target, damage, flags, corpse) i

Postado
  • Autor
1 hora atrás, Storm disse:

@Revenant Tenta assim e continua mantendo o valor da storage como um valor menor:


local servants = {
	['Gorzindel'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['Lokathmor'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['Ghulosh'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['Mazzinor'] = {storage = Storage.Livraria.AcessoSalaFinal},
	['The Scourge Of Oblivion'] = {storage = Storage.Livraria.AcessoSalaFinal}
}
function onKill(creature, target)
	local targetMonster = target:getMonster()
	local player = creature:getPlayer()
	if not player then
		return true
	end
	if not targetMonster or targetMonster:getMaster() then
		return true
	end
	local bossConfig = servants[targetMonster:getName()]
	if not bossConfig then
		return true
	end
	player:setStorageValue(bossConfig.storage, player:getStorageValue(bossConfig.storage) + 1)
	return true
end

    

 

De fato, algumas coisas que você me falou me ajudou muito, como por exemplo o número menor no Storage, o principal motivo de não estar funcionando é que para chamadas onKill no creaturescripts é necessário declarar o nome do Script lá em scripts/others/loginEvents.lua 

O código que estou usando que deu super certo foi esse aqui, o outro problema que surgiu é que ele só vai atualizar o Storage do player que matou, e não de todos que estiverem na sala

 

function onKill(player, target, damage, flags, corpse)
	if(isMonster(target)) then
		if(string.lower(getCreatureName(target)) == "Mazzinor" or "Ghulosh" or "Gorzindel" or "Lokathmor" or "Scarlett Etzel") then
			 doCreatureSay(target, "EU RETORNAREI!!! Todos voces sentirao minha vinganca, e trarei MIL ANOS de guerra...", TALKTYPE_ORANGE_1)
			 player:getPosition():sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE))
			 player:setStorageValue(Storage.Livraria.AcessoSalaFinal, player:getStorageValue(Storage.Livraria.AcessoSalaFinal) + 1)
		end
	end
	return true
end

 

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

Postado

@Revenant Não tenho muita experiência com as TFS 1.X, então realmente conheço bem pouco das funções e fica difícil de ajudar. Tenta assim:

function onKill(player, target, damage, flags, corpse)
	if(isMonster(target)) then
		if(string.lower(getCreatureName(target)) == "Mazzinor" or "Ghulosh" or "Gorzindel" or "Lokathmor" or "Scarlett Etzel") then
			doCreatureSay(target, "EU RETORNAREI!!! Todos voces sentirao minha vinganca, e trarei MIL ANOS de guerra...", TALKTYPE_ORANGE_1)
			for _, var in ipairs(target:getTargetList()) do
				var:setStorageValue(Storage.Livraria.AcessoSalaFinal, var:getStorageValue(Storage.Livraria.AcessoSalaFinal) + 1)
				var:getPosition():sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE))
			end
		end
	end
	return true
end

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo