Ir para conteúdo
  • 0

Tem Como Usar Um Item Ou Um Monstro Como Efeito ?


Pergunta

tipo vou usar uma magia de area, mas queria que fosse um item do dateditor nao um efeito...tem como isso ??? como ficaria ???

 

elseif spell == "Teste" then

 

doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), teste1, -min, -max, 236)

 

local function damage(cid, area)

if not isCreature(cid) then return true end

doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), area, -min, -max, 236)

end

 

addEvent(damage, 200, cid, teste2)

addEvent(damage, 400, cid, teste3)

addEvent(damage, 600, cid, teste4)

addEvent(damage, 800, cid, teste5)

Link para o comentário
https://xtibia.com/forum/topic/196965-tem-como-usar-um-item-ou-um-monstro-como-efeito/
Compartilhar em outros sites

Posts Recomendados

  • 0

não te ofendi nenhuma vez, pelo menos não ao meu ver... enfim

vê se o backupPos existe no seu mapa, não adianta nada ter ele declarado se não tiver ele no mapa

 

outra coisa é ver se os arrays "teste1", "teste2" etc existem mesmo, se forem nil não vai acontecer nada mesmo

 

experimenta mudar essa linha:

 

local newMonster = doCreateMonster(monsterName, backupPos, false)

 

para essa:

 

local newMonster = doCreateMonster(monsterName, backupPos, true)

 

assim vai aparecer erros no console e vai dar pra saber o que tá acontecendo

Editado por brun123
  • 0
  Em 21/10/2012 em 17:01, brun123 disse:

não te ofendi nenhuma vez, pelo menos não ao meu ver... enfim

vê se o backupPos existe no seu mapa, não adianta nada ter ele declarado se não tiver ele no mapa

 

outra coisa é ver se os arrays "teste1", "teste2" etc existem mesmo, se forem nil não vai acontecer nada mesmo

 

experimenta mudar essa linha:

 

local newMonster = doCreateMonster(monsterName, backupPos, false)

 

para essa:

 

local newMonster = doCreateMonster(monsterName, backupPos, true)

 

assim vai aparecer erros no console e vai dar pra saber o que tá acontecendo

como vejo backupPos no mapa ???

os arrays teste1, teste2 e etc existem, mudei a linha que vc mandou, mais n deu erro no console

 

  Em 21/10/2012 em 21:57, Diley007 disse:
  Em 21/10/2012 em 17:01, brun123 disse:

não te ofendi nenhuma vez, pelo menos não ao meu ver... enfim

vê se o backupPos existe no seu mapa, não adianta nada ter ele declarado se não tiver ele no mapa

 

outra coisa é ver se os arrays "teste1", "teste2" etc existem mesmo, se forem nil não vai acontecer nada mesmo

 

experimenta mudar essa linha:

 

local newMonster = doCreateMonster(monsterName, backupPos, false)

 

para essa:

 

local newMonster = doCreateMonster(monsterName, backupPos, true)

 

assim vai aparecer erros no console e vai dar pra saber o que tá acontecendo

como vejo backupPos no mapa ???

os arrays teste1, teste2 e etc existem, mudei a linha que vc mandou, mais n deu erro no console

cara no configuration.lua o backupPos ta desse jeito >>>> backupPos = {x = 10, y = 10, z = 10} <<<<< ta certo ???

 

up

  • 0

abre o seu mapa pelo map editor, vai na posição x = 10, y = 10, z = 10 e vê se ela existe, e teste esse outro jeito:

 

elseif spell == "NOME DA SUA SPELL" then

   local function deleteMonster(monster)
    if not isCreature(monster) then return end
    doRemoveCreature(monster)
   end

   local monsterName = "nome do monstro a ser criado"
   local timeToRemove = 2500

   local function damage(cid, area)
    if not isCreature(cid) then return end
    doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), area, -min, -max, 255)
    local positions = arrayToPositions(area, getThingPositionWithDebug(cid))
    for _, pos in pairs (positions or {}) do
	    local newMonster = doCreateMonster(monsterName, pos, false)
	    if newMonster == true then
		    newMonster = doCreateMonster(monsterName, backupPos, false)
	    end
	    if tonumber(newMonster) and newMonster > 1 then
		    doTeleportThing(newMonster, pos, false)
		    addEvent(deleteMonster, timeToRemove, newMonster)
	    end		     
    end
   end

   local areas = {teste1, teste2, teste3, teste4, teste5}

   for _, area in pairs (areas) do
    addEvent(damage, 200 * (_ - 1), cid, area)
   end

  • 0
  Em 22/10/2012 em 19:02, brun123 disse:

abre o seu mapa pelo map editor, vai na posição x = 10, y = 10, z = 10 e vê se ela existe, e teste esse outro jeito:

 

elseif spell == "NOME DA SUA SPELL" then

local function deleteMonster(monster)
	if not isCreature(monster) then return end
	doRemoveCreature(monster)
end

local monsterName = "nome do monstro a ser criado"
local timeToRemove = 2500

local function damage(cid, area)
	if not isCreature(cid) then return end
	doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), area, -min, -max, 255)
	local positions = arrayToPositions(area, getThingPositionWithDebug(cid))
	for _, pos in pairs (positions or {}) do
		local newMonster = doCreateMonster(monsterName, pos, false)
		if newMonster == true then
			newMonster = doCreateMonster(monsterName, backupPos, false)
		end
		if tonumber(newMonster) and newMonster > 1 then
			doTeleportThing(newMonster, pos, false)
			addEvent(deleteMonster, timeToRemove, newMonster)
		end			
	end
end

local areas = {teste1, teste2, teste3, teste4, teste5}

for _, area in pairs (areas) do
	addEvent(damage, 200 * (_ - 1), cid, area)
end

agora quando mando a magia ela nao sai, mas aparece esse erro no console...

 

 

  Mostrar conteúdo oculto

 

  • 0

está faltando a lib que eu falei pra você pegar, vai no meu primeiro post desse tópico e pega ela, lá explica como colocar no server

a propósito, não use o comando /s pra sumonar pokemons, pois quando o server tenta pegar os status do pokemon, ele procura pela pokebola que está no slot do pé, então você deve usar o comando /cb para criar pokemons

  • 0
  Em 22/10/2012 em 21:38, brun123 disse:

está faltando a lib que eu falei pra você pegar, vai no meu primeiro post desse tópico e pega ela, lá explica como colocar no server

a propósito, não use o comando /s pra sumonar pokemons, pois quando o server tenta pegar os status do pokemon, ele procura pela pokebola que está no slot do pé, então você deve usar o comando /cb para criar pokemons

com a lib que vc mandou colocar tmb da erro, so que eu to usando o comando /s, tomara que seja isso o problema vo ve aqui...

 

  Em 22/10/2012 em 22:31, Diley007 disse:
  Em 22/10/2012 em 21:38, brun123 disse:

está faltando a lib que eu falei pra você pegar, vai no meu primeiro post desse tópico e pega ela, lá explica como colocar no server

a propósito, não use o comando /s pra sumonar pokemons, pois quando o server tenta pegar os status do pokemon, ele procura pela pokebola que está no slot do pé, então você deve usar o comando /cb para criar pokemons

com a lib que vc mandou colocar tmb da erro, so que eu to usando o comando /s, tomara que seja isso o problema vo ve aqui...

com a lib da esse erro

 

 

  Mostrar conteúdo oculto

 

  • 0

é porque as áreas que você escreveu (teste1, teste2...) não são tabelas...

elas devem ser escritas da seguinte maneira:

 

teste1 = {
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 2, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
}

  • 0
  Em 23/10/2012 em 10:53, brun123 disse:

é porque as áreas que você escreveu (teste1, teste2...) não são tabelas...

elas devem ser escritas da seguinte maneira:

 

teste1 = {
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 2, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
}

cara nao queria chegar a este ponto, mas acho melhor desistir, nada aqui ta dando certo, deve ser algum problema no distro sei la...mais vo te dar REP+ por ter tentado ajudar vlw...

  • 0

cara, não existe essa de desistir, cola aqui seu pokemons moves.lua e o arquivo onde você declarou o que é teste1, teste2 etc...

eu testei os 3 spells que te passei, os 2 de criar monstros e o de criar item, e funcionou tranquilo aqui

  • 0
  Em 23/10/2012 em 18:02, brun123 disse:

cara, não existe essa de desistir, cola aqui seu pokemons moves.lua e o arquivo onde você declarou o que é teste1, teste2 etc...

eu testei os 3 spells que te passei, os 2 de criar monstros e o de criar item, e funcionou tranquilo aqui

 

pokemon moves...a magia e a ultima...ta escrito Testee

 

  Mostrar conteúdo oculto

 

 

areas...no começo ta as areas teste...

 

  Mostrar conteúdo oculto

 

  • 0

Você mudou no configuration.lua pro pokémon usar a magia "Testee"?

Eu acabei de dar ctrl c/v nos 2 arquivos que você postou e a magia funcionou normal aqui...

Não era pra dar o erro "attempt to index local array (a number value)" se você declarou os local teste1... do jeito que está...

você não mudou de última hora antes de postar aqui e não testou não né? não pude deixar de notar que as 3 áreas são idênticas e é a mesma área do meu outro post ali em cima...

 

testa aí de novo, se não der certo então não sei porque aqui funciona e aí não

  • 0
  Em 23/10/2012 em 22:40, brun123 disse:

Você mudou no configuration.lua pro pokémon usar a magia "Testee"?

Eu acabei de dar ctrl c/v nos 2 arquivos que você postou e a magia funcionou normal aqui...

Não era pra dar o erro "attempt to index local array (a number value)" se você declarou os local teste1... do jeito que está...

você não mudou de última hora antes de postar aqui e não testou não né? não pude deixar de notar que as 3 áreas são idênticas e é a mesma área do meu outro post ali em cima...

 

testa aí de novo, se não der certo então não sei porque aqui funciona e aí não

fiz tudo do jeito que vc pediu mais nada, porem o seguinte erro aparece sempre no console quando mando a magia...

 

 

  Mostrar conteúdo oculto

 

e fiz um outro teste mudei onde esta em azul, de 255 para 0, ai quando e pra mandar a magia o pokemon da um efeito onde sai tipo uma faisca, mas a magia n sai...

 

doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), area, -min, -max, 0)

  • 0

sim, dessa forma você manda o efeito 0, que é faísca, na área determinada, que no caso é o teste1

os efeitos apareceram na área que você configurou certinho (teste1) ?

  • 0
  Em 24/10/2012 em 00:41, brun123 disse:

sim, dessa forma você manda o efeito 0, que é faísca, na área determinada, que no caso é o teste1

os efeitos apareceram na área que você configurou certinho (teste1) ?

nao, o efeito aparece no pokemon, nao na area...vo ve se baixo o serv de novo, ai eu testo, porq aqui n da certo mas ai da certo deve ser alguma coisa que mexi no serv sei la, se nao acontecer nada eu desisto :(...

  • 0

então é a área que está mal declarada mesmo... experimenta trocar essa linha:

 

local areas = {teste1, teste2, teste3, teste4, teste5}

 

por essa aqui:

 

local areas = {destruct1}

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