Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

  Olá a todos, eu possuo um script de trap no qual se utilizar a pessoa fica presa, só que esse script possui um erro, queria saber se vocês podem me ajudar a solicionar, o erro consiste no qual se uma pessoa usar uma trap dentro de outra trap, elas vão se estacando, fazendo assim, duas pessoas conseguirem trapar uma pessoa infinitamente, gostaria de pedir a ajuda no qual colocasse algo para impedir que a pessoa consiga usar duas traps no mesmo sqm, segue uma foto mostrando o error

 

lX4qGEG.png

 

Vou postar o script abaixo, qualquer dúvida pode deixar mensagem no tópico, que auxilio, o script não é de minha autoria, apenas peguei na internet e adaptei  do modo que eu sei.

obs: ambas as magias são o mesmo script, só muda o id

 

local config = {
	gatesTime = 5, -- tempo em segundos
	exhaustStorage = 41000,
	exhaustTime = 5,
	createGates = {2730, 2730, 2730, 2730, 2730,2730, 2730, 2730, 2730, 2730,2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730} -- ID dos portoes na ordem certa
}

local combat = createCombatObject()
setCombatArea(combat, createCombatArea({

{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 3, 3, 3, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
}))


local permittedPos = {}
function onTargetTile(cid, pos)
	table.insert(permittedPos[cid], pos)
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

local function doSpell(cid, var)
	if(not isCreature(cid)) then
		return true
	end
	doCombat(cid, combat, var)
	for n, pos in ipairs(permittedPos[cid]) do
		doSendMagicEffect(pos, 130)
		doCreateItem(config.createGates[n], 1, pos)
		addEvent(function()
			if(getTileItemById(pos, config.createGates[n]).uid > 0) then
				doRemoveItem(getTileItemById(pos, config.createGates[n]).uid, 1)
			end
		end, config.gatesTime*1000)
	end
	return true
end

function onCastSpell(cid, var)
	permittedPos[cid] = {}
	if(isPlayer(cid) and exhaustion.check(cid, config.exhaustStorage)) then
		doPlayerSendCancel(cid, "Aguarde "..exhaustion.get(cid, config.exhaustStorage).." segundo"..(exhaustion.get(cid, config.exhaustStorage) > 1 and "s" or "").." para usar novamente.")
		doSendMagicEffect(getThingPos(cid), 2)
		return false
	end
	return doSpell(cid, var)
end

 

 

Postado

Tente assim:

Spoiler

local config = {
	gatesTime = 5, -- tempo em segundos
	exhaustStorage = 41000,
	exhaustTime = 5,
	createGates = {2730, 2730, 2730, 2730, 2730,2730, 2730, 2730, 2730, 2730,2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730, 2730} -- ID dos portoes na ordem certa
}

local combat = createCombatObject()
setCombatArea(combat, createCombatArea({

{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 3, 3, 3, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
}))


local permittedPos = {}
function onTargetTile(cid, pos)
	table.insert(permittedPos[cid], pos)
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

local function doSpell(cid, var)
	if(not isCreature(cid)) then
		return true
	end
	doCombat(cid, combat, var)
	for n, pos in ipairs(permittedPos[cid]) do
		if(getTileItemById(pos, config.createGates[n]).uid > 0) then
		doPlayerSendCancel(cid, "Ja existe um TRAP aq!")
		else
		doSendMagicEffect(pos, 130)
		doCreateItem(config.createGates[n], 1, pos)
		addEvent(function()
			if(getTileItemById(pos, config.createGates[n]).uid > 0) then
				doRemoveItem(getTileItemById(pos, config.createGates[n]).uid, 1)
			end
		end, config.gatesTime*1000)
	end
	end
	return true
end

function onCastSpell(cid, var)
	permittedPos[cid] = {}
	if(isPlayer(cid) and exhaustion.check(cid, config.exhaustStorage)) then
		doPlayerSendCancel(cid, "Aguarde "..exhaustion.get(cid, config.exhaustStorage).." segundo"..(exhaustion.get(cid, config.exhaustStorage) > 1 and "s" or "").." para usar novamente.")
		doSendMagicEffect(getThingPos(cid), 2)
		return false
	end
	return doSpell(cid, var)
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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo