Ir para conteúdo
  • 0

Alavanca Que Sacrifica Item E Faz Sumonar Monstro


auditt tuning

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0
--[[
tabela dos itens a serem "sacrificados"
adicione novas linhas para checar por mais que 4 itens
configure a posição onde ele deve estar e o id
]]
local items = {
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
}
--[[
tabela dos monstros a serem criados após remover os itens
adicione novas linhas para criar mais monstros
configure a posição onde ele vai nascer o nome do monstro criado
]]
local monsters = {
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
}

local config = {
onSpawnMonster = CONST_ME_TELEPORT, -- efeito lançado quando monstro é criado
onRemoveItem = CONST_ME_BLOCKHIT, -- efeito lançado quando item é removido
missingItem = CONST_ME_POFF, -- efeito lançado quando não encontrou o item para remover
}
-- 255 faz com que não lance efeito algum

function onUse(cid, item, frompos, item2, topos)

   local missing_items, remove_items = false, {}

   for _, itemcheck in pairs (items) do
    local i = getTileItemById(itemcheck.pos, itemcheck.itemid).uid
    if i < 1 then missing_items = true
	    if tonumber(config.missingItem) and config.missingItem ~= 255 then
		    doSendMagicEffect(itemcheck.pos, config.missingItem)
	    end
    else table.insert(remove_items, i)
    end
   end

   if missing_items then
    return doPlayerSendCancel(cid, "Está faltando algum item.")
   else
    for _, iuid in pairs (remove_items) do
	    if tonumber(config.onRemoveItem) and config.onRemoveItem ~= 255 then
		    doSendMagicEffect(getThingPos(iuid), config.onRemoveItem)
	    end
	    doRemoveItem(iuid)
    end
    for _, monsterinfo in pairs (monsters) do
	    local m = doCreateMonster(monsterinfo.name, monsterinfo.pos, false)
	    if isCreature(m) and tonumber(config.onSpawnMonster) and
	    config.onSpawnMonster ~= 255 then
		    doSendMagicEffect(getThingPos(m), config.onSpawnMonster)
	    end
    end
   end

return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

--[[
tabela dos itens a serem "sacrificados"
adicione novas linhas para checar por mais que 4 itens
configure a posição onde ele deve estar e o id
]]
local items = {
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
{pos = {x = 100, y = 100, z = 7}, itemid = 1980},
}
--[[
tabela dos monstros a serem criados após remover os itens
adicione novas linhas para criar mais monstros
configure a posição onde ele vai nascer o nome do monstro criado
]]
local monsters = {
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
{pos = {x = 500, y = 500, z = 10}, name = "Demon"},
}

local config = {
onSpawnMonster = CONST_ME_TELEPORT, -- efeito lançado quando monstro é criado
onRemoveItem = CONST_ME_BLOCKHIT, -- efeito lançado quando item é removido
missingItem = CONST_ME_POFF, -- efeito lançado quando não encontrou o item para remover
}
-- 255 faz com que não lance efeito algum

function onUse(cid, item, frompos, item2, topos)

local missing_items, remove_items = false, {}

for _, itemcheck in pairs (items) do
	local i = getTileItemById(itemcheck.pos, itemcheck.itemid).uid
	if i < 1 then missing_items = true
		if tonumber(config.missingItem) and config.missingItem ~= 255 then
			doSendMagicEffect(itemcheck.pos, config.missingItem)
		end
	else table.insert(remove_items, i)
	end
end

if missing_items then
	return doPlayerSendCancel(cid, "Está faltando algum item.")
else
	for _, iuid in pairs (remove_items) do
		if tonumber(config.onRemoveItem) and config.onRemoveItem ~= 255 then
			doSendMagicEffect(getThingPos(iuid), config.onRemoveItem)
		end
		doRemoveItem(iuid)
	end
	for _, monsterinfo in pairs (monsters) do
		local m = doCreateMonster(monsterinfo.name, monsterinfo.pos, false)
		if isCreature(m) and tonumber(config.onSpawnMonster) and
		config.onSpawnMonster ~= 255 then
			doSendMagicEffect(getThingPos(m), config.onSpawnMonster)
		end
	end
end

return true
end

 

Muito obrigado brun123, funcionou direitinho! Rep+ ai

 

(é assim que da rep+? opiekpake)

Link para o comentário
Compartilhar em outros sites

  • 0

Para dar rep+ basta clicar > rep_up.png que tem em cima de MultiQuote e Quote, no post em que foi colocado o script.

 

Dúvida sanada, tópico reportado para que movam.

 

Abraços.

Editado por Lummos
Link para o comentário
Compartilhar em outros sites

  • 0

para funcionar so e apagar os nomes encinando o que la no scripts ou tem que apagar esse símbolo } {

 

mano ai onde e o id da alavanca ?

nesse scripts ai onde e o id da alavanca e o local dela?

 

não pegou o que tenho que fazer não sei onde colocar vc poderia explicar e falar em que canto coloco o scripts e onde tenho que configurar

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...