AU
pedido

Alavanca Que Sacrifica Item E Faz Sumonar Monstro

Por auditt tuning, 27 de out. de 2012 em Scripts

script
7
2.7k
27 de outubro de 2012 às 01:38

Olá, gostaria de pedir um script para uma alavanca que ao ser ativada sacrifique 4 itens que ficará em cima de altares (estilo desert quest) e sumone 4 monstros em X coordenadas.

 

Obrigado.

brun123B
27 de outubro de 2012 às 13:17
--[[
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

27 de outubro de 2012 às 13:27

AI Brun123 PODE ME AJUDAR COM UM SCRIPT AXO QUE É MEIO FACIO

 

http://www.xtibia.co...idas-especiais/

 

PF MAN TO NECESITANDO VLW MSM SHADOWNZINHO

HisashiitYamagutiH
27 de outubro de 2012 às 14:24

- Shadownzinho

Cuidado, posts como esse são considerados flood, alertado verbalmente. Caso isso se repita você poderá ser suspenso do fórum.

 

Flood = Posts sem sentidos que não tem nada haver com o tópico.

27 de outubro de 2012 às 19:59

--[[
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)

LummosL
27 de outubro de 2012 às 21:23

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 Outubro 27 por Lummos

6 meses depois...
19 de abril de 2013 às 10:52

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