Ir para conteúdo

Featured Replies

Postado

Tenho esse script da desert quest e gostaria que ele funcionasse da seguinte forma, se o jogador não tiver os companheiros para fazer a quest, ele pode fazer sozinho mas tem que desembolsar todos os itens da quest da mesma forma, de todas vocações ! 

 

Script: 

local config = {
	{fromPosition = Position(1100, 1100, 8), toPosition = Position(1092, 1088, 8), sacrificePosition = Position(1102, 1100, 8), sacrificeId = 2175, vocationId = 1},
	{fromPosition = Position(1092, 1100, 8), toPosition = Position(1080, 1088, 8), sacrificePosition = Position(1090, 1100, 8), sacrificeId = 2674, vocationId = 2},
	{fromPosition = Position(1096, 1096, 8), toPosition = Position(1086, 1082, 8), sacrificePosition = Position(1096, 1095, 8), sacrificeId = 2455, vocationId = 3},
	{fromPosition = Position(1096, 1104, 8), toPosition = Position(1086, 1093, 8), sacrificePosition = Position(1096, 1105, 8), sacrificeId = 2376, vocationId = 4}
,
	guardPositions = {
		Position(1086, 1088, 8)
		}
	}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	item:transform(item.itemid == 1945 and 1946 or 1945)

	if item.itemid ~= 1946 then
		return true
	end

	local position = player:getPosition()

	local players = {}
	for i = 1, #config do
		local creature = Tile(config[i].fromPosition):getTopCreature()
		if not creature or not creature:isPlayer() then
			player:sendCancelMessage('You need one player of each vocation for this quest.')
			position:sendMagicEffect(CONST_ME_POFF)
			return true
		end

		local vocationId = creature:getVocation():getBase():getId()
		if vocationId ~= config[i].vocationId then
			player:sendCancelMessage('You need one player of each vocation for this quest.')
			position:sendMagicEffect(CONST_ME_POFF)
			return true
		end

		local sacrificeItem = Tile(config[i].sacrificePosition):getItemById(config[i].sacrificeId)
		if not sacrificeItem then
			player:sendCancelMessage(creature:getName() .. ' is missing ' .. (creature:getSex() == PLAYERSEX_FEMALE and 'her' or 'his') .. ' sacrifice on the altar.')
			position:sendMagicEffect(CONST_ME_POFF)
			return true
		end

		players[#players + 1] = creature
	end

	for i = 1, #players do
		local sacrificeItem = Tile(config[i].sacrificePosition):getItemById(config[i].sacrificeId)
		if sacrificeItem then
			sacrificeItem:remove()
		end
		
		for i = 1, #config.demonPositions do
			Game.createMonster("Desert Guard", config.guardPositions[i])
		end
		
		players[i]:getPosition():sendMagicEffect(CONST_ME_POFF)
		players[i]:teleportTo(config[i].toPosition)
		config[i].toPosition:sendMagicEffect(CONST_ME_TELEPORT)
	end
	return true
end

 

Resolvido por antharaz

Ir para solução
  • Respostas 5
  • Visualizações 566
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

@Chriistian 

 

Fiz para funcionar se tiver mais de 1 e menos de 4 também, pode ir com 1, 2, 3 ou 4 players... desde que estejam na posição correta.

 

Mostrar conteúdo oculto

 

 

E outra, tem coisa no script que nunca é usado, como o código abaixo:

 

Mostrar conteúdo oculto

 

Postado
  • Autor
  Em 07/10/2017 em 16:28, antharaz disse:

@Chriistian 

 

Fiz para funcionar se tiver mais de 1 e menos de 4 também, pode ir com 1, 2, 3 ou 4 players... desde que estejam na posição correta.

 

Mostrar conteúdo oculto

 

 

E outra, tem coisa no script que nunca é usado, como o código abaixo:

 

Mostrar conteúdo oculto

@antharaz Muito obrigado, sim eu coloquei pra criar um bixo quanto for teleportado para outra sala, está correto ? vou testar aqui ! 

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