Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Spell que cria items em area


Ir para solução Resolvido por MaTTch,

Posts Recomendados

preciso do script de uma spell que cria items com diferentes ids no chão em area e que ao player usar apareça uma mensagem pra todo servidor em vermelho dizendo algo como: Uma grande area foi atingida pela magia de [PLAYERNAME].

Link para o post
Compartilhar em outros sites
function onCastSpell(cid, var)


local pos = {

 pos1 = {x=1687, y=710, z=7},  
 pos2 = {x=1687, y=710, z=7},  
 pos3 = {x=1687, y=710, z=7},  
 pos4 = {x=1687, y=710, z=7},  
 pos5 = {x=1687, y=710, z=7} 

}

local itens = {

item1 = 2424, count1 = 1,
item2 = 4325, count2 = 1,
item3 = 2455, count3 = 1,
item4 = 3244, count4 = 1,
item5 = 1003, count5 = 1

}


doCreateItem(itens.item1, itens.count1, pos.pos1)
doCreateItem(itens.item1, itens.count2, pos.pos2)
doCreateItem(itens.item1, itens.count3, pos.pos3)
doCreateItem(itens.item1, itens.count4, pos.pos4)
doCreateItem(itens.item1, itens.count5, pos.pos5)

doBroadcastMessage("Uma grande area foi atingida pela magia de "..getCreatureName(cid)..".", 25)

end

Bom , como você não especificou direito o que queria , taí.

Link para o post
Compartilhar em outros sites
3 minutos atrás, Sttorm disse:

function onCastSpell(cid, var)


local pos = {

 pos1 = {x=1687, y=710, z=7},  
 pos2 = {x=1687, y=710, z=7},  
 pos3 = {x=1687, y=710, z=7},  
 pos4 = {x=1687, y=710, z=7},  
 pos5 = {x=1687, y=710, z=7} 

}

local itens = {

item1 = 2424, count1 = 1,
item2 = 4325, count2 = 1,
item3 = 2455, count3 = 1,
item4 = 3244, count4 = 1,
item5 = 1003, count5 = 1

}


doCreateItem(itens.item1, itens.count1, pos.pos1)
doCreateItem(itens.item1, itens.count2, pos.pos2)
doCreateItem(itens.item1, itens.count3, pos.pos3)
doCreateItem(itens.item1, itens.count4, pos.pos4)
doCreateItem(itens.item1, itens.count5, pos.pos5)

doBroadcastMessage("Uma grande area foi atingida pela magia de "..getCreatureName(cid)..".", 25)

end

Bom , como você não especificou direito o que queria , taí.

 

7 minutos atrás, Sttorm disse:

function onCastSpell(cid, var)


local pos = {

 pos1 = {x=1687, y=710, z=7},  
 pos2 = {x=1687, y=710, z=7},  
 pos3 = {x=1687, y=710, z=7},  
 pos4 = {x=1687, y=710, z=7},  
 pos5 = {x=1687, y=710, z=7} 

}

local itens = {

item1 = 2424, count1 = 1,
item2 = 4325, count2 = 1,
item3 = 2455, count3 = 1,
item4 = 3244, count4 = 1,
item5 = 1003, count5 = 1

}


doCreateItem(itens.item1, itens.count1, pos.pos1)
doCreateItem(itens.item1, itens.count2, pos.pos2)
doCreateItem(itens.item1, itens.count3, pos.pos3)
doCreateItem(itens.item1, itens.count4, pos.pos4)
doCreateItem(itens.item1, itens.count5, pos.pos5)

doBroadcastMessage("Uma grande area foi atingida pela magia de "..getCreatureName(cid)..".", 25)

end

Bom , como você não especificou direito o que queria , taí.

esqueci de colocar no tópico pra que eles desapareçam depois de um tempo ;-;

Link para o post
Compartilhar em outros sites
15 minutos atrás, Sttorm disse:

Os itens que serão criados podem ser pegos ? Se sim , se alguém pegar a script vai retornar erro.

 

não podem ser pegos

Link para o post
Compartilhar em outros sites
local pos = {

 pos1 = {x=1010, y=725, z=8, stackpos=1},  
 pos2 = {x=1010, y=725, z=8, stackpos=1},  
 pos3 = {x=1010, y=725, z=8, stackpos=1},  
 pos4 = {x=1010, y=725, z=8, stackpos=1},  
 pos5 = {x=1010, y=725, z=8, stackpos=1}

}

local itens = {

item1 = 2424, count1 = 1,
item2 = 4325, count2 = 1,
item3 = 2455, count3 = 1,
item4 = 3244, count4 = 1,
item5 = 1003, count5 = 1

}

local time = 60 -- segundos para que os itens sejam removidos.

function onCastSpell(cid, var)


doCreateItem(itens.item1, itens.count1, pos.pos1)
doCreateItem(itens.item1, itens.count2, pos.pos2)
doCreateItem(itens.item1, itens.count3, pos.pos3)
doCreateItem(itens.item1, itens.count4, pos.pos4)
doCreateItem(itens.item1, itens.count5, pos.pos5)

doBroadcastMessage("Uma grande area foi atingida pela magia de "..getCreatureName(cid)..".", 25)

addEvent(remove, time * 1000)

return true
end


function Remove()


doRemoveItem(getThingFromPos(pos.pos1).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos2).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos3).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos4).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos5).uid, itens.count1)
end

 

Link para o post
Compartilhar em outros sites
Citar

function onCastSpell(cid, var)

local item_id,count = 2160,1 -- id do item e a quantidade
local time = 10 -- tempo em segundos

for x=-2,2 do
	for y=-2,2 do
		local position_item = {x=getCreaturePosition(cid).x+x,y=getCreaturePosition(cid).y+y,z=getCreaturePosition(cid).z}
		if position_item == getCreaturePosition(cid) then
			return
		end
		local created_item = doCreateItem(item_id, count, position_item)
		addEvent(doTransformItem,time*1000,getThingFromPos(position_item).uid, 0)
	end
end
doBroadcastMessage("O jogador "..getCreatureName(cid).." usou a magia e uma grande area foi atingida.", 25)
return true
end

 

 

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

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
16 horas atrás, Sttorm disse:

local pos = {

 pos1 = {x=1010, y=725, z=8, stackpos=1},  
 pos2 = {x=1010, y=725, z=8, stackpos=1},  
 pos3 = {x=1010, y=725, z=8, stackpos=1},  
 pos4 = {x=1010, y=725, z=8, stackpos=1},  
 pos5 = {x=1010, y=725, z=8, stackpos=1}

}

local itens = {

item1 = 2424, count1 = 1,
item2 = 4325, count2 = 1,
item3 = 2455, count3 = 1,
item4 = 3244, count4 = 1,
item5 = 1003, count5 = 1

}

local time = 60 -- segundos para que os itens sejam removidos.

function onCastSpell(cid, var)


doCreateItem(itens.item1, itens.count1, pos.pos1)
doCreateItem(itens.item1, itens.count2, pos.pos2)
doCreateItem(itens.item1, itens.count3, pos.pos3)
doCreateItem(itens.item1, itens.count4, pos.pos4)
doCreateItem(itens.item1, itens.count5, pos.pos5)

doBroadcastMessage("Uma grande area foi atingida pela magia de "..getCreatureName(cid)..".", 25)

addEvent(remove, time * 1000)

return true
end


function Remove()


doRemoveItem(getThingFromPos(pos.pos1).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos2).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos3).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos4).uid, itens.count1)
doRemoveItem(getThingFromPos(pos.pos5).uid, itens.count1)
end

 

@Sttormfica dando esse erro do print já tentei modificar as position e nada, não tem como por pra ser configuravel tipo spell area desse jeito:

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

----------------------------------------

1.thumb.PNG.0451bbcf64ff6e835c89cc8b419a98e7.PNG

 

@DboExplorer essa sua ai só cria um item ?

Link para o post
Compartilhar em outros sites
1 hora atrás, Sttorm disse:

Está retornando erro porque não tem um TILE na posição em que você colocou .

mais ai a spell ta configurada pra criar item nessas posições do mapa ou a redor do player?

Link para o post
Compartilhar em outros sites
13 horas atrás, DboExplorer disse:

@bismarkzika teste a minha script smt

[14/02/2018 09:02:49] [Error - Spell Interface] 
[14/02/2018 09:02:49] data/spells/scripts/itachi/genjutsu.lua:onCastSpell
[14/02/2018 09:02:49] Description: 
[14/02/2018 09:02:49] data/spells/scripts/itachi/genjutsu.lua:8: attempt to index global 'getCreaturePosition' (a function value)
[14/02/2018 09:02:49] stack traceback:
[14/02/2018 09:02:49]     data/spells/scripts/itachi/genjutsu.lua:8: in function <data/spells/scripts/itachi/genjutsu.lua:1>

Link para o post
Compartilhar em outros sites

@DboExplorer 

[15/02/2018 11:36:56] [Error - Spell Interface] 
[15/02/2018 11:36:56] data/spells/scripts/itachi/genjutsu.lua:onCastSpell
[15/02/2018 11:36:56] Description: 
[15/02/2018 11:36:56] data/spells/scripts/itachi/genjutsu.lua:13: attempt to index local 'created_item' (a number value)
[15/02/2018 11:36:57] stack traceback:
[15/02/2018 11:36:57]     data/spells/scripts/itachi/genjutsu.lua:13: in function <data/spells/scripts/itachi/genjutsu.lua:1>

Link para o post
Compartilhar em outros sites

Tenta:

Spoiler

local cfg = {
	random_items = {2424, 4325, 2455, 3244}, -- adicione mais se quiser mais items aleatorios
	remove_time = 30, -- tempo em segundos para remover
	onuse_message = "Uma grande area foi atingida pela magia de %s" -- message ao usar
}

local combat = createCombatObject()
setCombatArea(combat, createCombatArea({
	{0,0,0,1,0,0,0},
	{0,0,1,1,1,0,0},
	{0,1,1,1,1,1,0},
	{1,1,1,2,1,1,1},
	{0,1,1,1,1,1,0},
	{0,0,1,1,1,0,0},
	{0,0,0,1,0,0,0}
}))

function onTargetTile(cid, position)
	local itemid = cfg.random_items[math.random(#cfg.random_items)]
	doCreateItem(itemid, 1, position)
	addEvent(function()
		local thing = getTileItemById(position, itemid).uid
		if(thing ~= 0) then
			doRemoveItem(thing)
		end
	end, cfg.remove_time * 1000)
end

setCombatCallBack(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
	doCombat(cid, combat, var)
	doBroadcastMessage(cfg.onuse_message:format(getCreatureName(cid)), MESSAGE_STATUS_WARNING)
	return true
end

 

 

Editado por MaTTch (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@MaTTch 
[15/02/2018 17:34:15] [Error - Spell Interface] 
[15/02/2018 17:34:15] data/spells/scripts/itachi/genjutsu.lua
[15/02/2018 17:34:15] Description: 
[15/02/2018 17:34:15] data/spells/scripts/itachi/genjutsu.lua:29: attempt to call global 'setCombatCallBack' (a nil value)
[15/02/2018 17:34:15] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/itachi/genjutsu.lua)

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo