Ir para conteúdo

Tile Ao Pisar Sumona Monster E Retira Rocha


guixap

Posts Recomendados

Hail Xtibianos

 

Eu Gostaria de um script com as seguintes funções.

 

Player pisa no tile. Sumona um monster em um "x" local. Retira uma Rocha de um "x" local (rocha do id: 1304). E cria um slagamite de id 391 emcima do tile aonde o player piso. (para que outro não pise novamente)

 

Se fosse possivel eu gostaria que deixasem um exemplo de como aumentar o numero de monstros sumonados ou rochas retiradas

 

Obs.: Gostaria que 15 minutos depois tudo volta normal pedra criada some e pedra retirada volta

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

Bom ta ai:

function onStepIn(cid, item, pos)
local monsterPos = {x=151, y=56, z=7, stackpos=1}
local stonepos = {x=150, y=53, z=7, stackpos=1}
local getstone = getThingfromPos(stonepos)

if(item.actionid == 9050) then
doSummonCreature("Demon", monsterPos)
doRemoveItem(getstone.uid,1)
else
return true
end
end

 

Explicando:

 

Vermelho: local X, Y e Z que o monstro vai aparecer.

 

Azul: local X, Y e Z que ira remover a pedra.

 

Laranja: Action Id do piso.

 

Verde: Nome do monstro a ser sumonado.

 

Para adicionar mais monstros é só fazer isso:

 

Em baixo da linha:

 

local monsterPos = {x=151, y=56, z=7, stackpos=1}

 

Adicione:

local monsterPos1 = {x=153, y=57, z=7, stackpos=1}

 

Agora em baixo de:

doSummonCreature("Demon", monsterPos)

 

Adicione isso:

 

doSummonCreature("Demon", monsterPos1)

 

 

Agora pra por para remover mais pedras é só fazer isso:

 

Em baixo da linha:

local getstone = getThingfromPos(stonepos)

 

Adicione isso:

local stonepos1 = {x=150, y=53, z=7, stackpos=1}

local getstone1 = getThingfromPos(stonepos)

 

Agora em baixo de:

doRemoveItem(getstone.uid,1)

 

Adicione isso:

doRemoveItem(getstone1.uid,1)

 

Bom ta ai o script qualquer duvida só pergunta.

 

Abraços!

 

 

Link para o comentário
Compartilhar em outros sites

Ou cara, tenta esse aqui:

function onStepIn(cid, item, position, fromPosition)
local monsters = { -- Monstros que serão sumonados, e suas posições
	{name = "Demon", pos = {x=?, y=?, z=?}},
	{name = "Troll", pos = {x=?, y=?, z=?}},
	{name = "Rat", pos = {x=?, y=?, z=?}},
}
local items = { -- Itens que serão criados, suas posições e quantidades
	{id = 3405, amount = 1, pos = {x=?, y=?, z=?}},
}
local timeToBack = 15 * 60 * 1000

if isPlayer(cid) then
	for t, v in ipairs(monsters) do
		doCreateMonster(v.name, v.pos)
	end
	for x, d in ipairs(items) do
		local getItems = getThingFromPos(d.pos)
		doCreateItem(d.id, d.amount, d.pos)
		addEvent(doRemoveItem, timeToBack, getItems.uid)
	end
else
	doTeleportThing(cid, fromPosition)
end
return true
end

 

Para editar é simples, para pôr mais monstros, na tabela monsters, adicione:

{name = "Nome do monstro", pos = {x=?, y=?, z=?}},

 

E nos itens, mesma coisa quase:

{id = id do item, amount = quantidade, pos = {x=?, y=?, z=?}},

Link para o comentário
Compartilhar em outros sites

iRockStar. Funcionou 100% só gostaria de uma coisinha rsrsrsr, TU ESQUECEU DA PEDRA QUE ELE VAI RETIRA. MAUS INCOMODS

 

Obs.: Só lembra que ela tambem após 15 minutos no caso se ela é retirada 15 minutos depois ela volta

 

ATUALIZADO:

 

Rock houve um outro bang errado aqui depois de 15 minutos o que some não são as barreiras foi o tile que o player pisa =/

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

Eu gostaria que quando o player pisa-se no tile, além de sumonar e criar items, eu gostaria que ele retirasse uma rocha tambem.

 

E um bug no script foi que. 15 minutos depois que era o tempo pra voltar tudo ao normal pedra retirada voltava. E pedra criada retirada só o tile aodne o player pisa desaparece. Será que é por que um dos items é criado emcima do tile ?

 

GOSTARIA DE SABER TAMBEM AODNE VOCÊS APRENDEM A MEXER COM SCRIPT PRA MIM NÃO PRECISA INCOMODA ASSIM VOCÊS =/.

Link para o comentário
Compartilhar em outros sites

Nós aprendemos, ou fazendo cursos, lendo apostilas, lendo tutoriais(meu caso), aprendendo na marra, e etc...

 

Tenta esse, pra remover o item é só colocar o remove = true para remover o item na tabela items.

function onStepIn(cid, item, position, fromPosition)
local monsters = { -- Monstros que serão sumonados, e suas posições
	{name = "Demon", pos = {x=?, y=?, z=?}},
	{name = "Troll", pos = {x=?, y=?, z=?}},
	{name = "Rat", pos = {x=?, y=?, z=?}},
}
local items = { -- Itens que serão criados, suas posições e quantidades
	{id = 3405, amount = 1, pos = {x=?, y=?, z=?, stackpos = 255}, remove = true},
}
local timeToBack = 15 * 60 * 1000

if isPlayer(cid) then
	for t, v in ipairs(monsters) do
		doCreateMonster(v.name, v.pos)
	end
	for x, d in ipairs(items) do
		local removePos = {}
		doCreateItem(d.id, d.amount, d.pos)
		if d.remove == true then
			table.insert(removePos, d.id)
		end
		for i = 1, #removePos do
			local remove = getThingFromPos(removePos[i])
			addEvent(doRemoveItem, timeToBack, remove.uid)
		end
	end
else
	doTeleportThing(cid, fromPosition)
end
return true
end

 

Obs.: Primeira vez que uso o table.insert em um script desse jeito ._."

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...