Ir para conteúdo
  • 0

Duvida magia


Fjinst

Pergunta

Olá, eu tenho uma duvida em questão a script, tenho um servidor de tibia avatar, e também tenho a classe earthbender, essa classe possui uma magia que cria uma trap, uma linha reta que cria pedras, porém, quando acerta o jogador, o sqm que acertou o jogador não nasce a pedra, queria que me ajudassem como resolver para nascer a pedra mesmo acertando o jogador, vou postar a magia aqui abaixo, caso tenham alguma dúvida sobre a dúvida, podem perguntar.

 

 

Resumo: Uso a magia em outro player ou monstro, quando acerta a magia não cria a pedra em baixo do player, só na frente e a traz do jogador/monstro.

Pedido: Solucionar esse problema.

 

 

local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat, COMBAT_PARAM_EFFECT, 10)setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1304)local arr = {{0, 0, 1, 0, 0},{0, 0, 1, 0, 0},{0, 0, 1, 0, 0},{0, 0, 3, 0, 0},}local area = createCombatArea(arr)setCombatArea(combat, area)function onCastSpell(cid, var)return doCombat(cid, combat, var)end 

 

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
On 28/06/2016 at 0:03 PM, Daniel said:

@Skulls você não é o rei das magias? hahaha

Ajuda o maninho ai (;:

Estou com a vida corrida, ta foda dar suporte.

 

Anyway, eu sugiro você dar uma olhada no meu topico sobre callbacks e formulas. Lá tem um callback muito útil para quando a magia bate em uma criatura. Você pode utilizar esse callback para, quando atingir uma criatura, forçar a criação do item (e posteriormente sua remoção). Não sei se funciona, mas é uma opção. Outra opção, é editar na source a iteração com o COMBAT_PARAM_CREATEITEM. Provavelmente lá tem uma limitação que não cria se tiver criatura, basta remover.

 

Abraços,

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Skulls disse:

Estou com a vida corrida, ta foda dar suporte.

 

Anyway, eu sugiro você dar uma olhada no meu topico sobre callbacks e formulas. Lá tem um callback muito útil para quando a magia bate em uma criatura. Você pode utilizar esse callback para, quando atingir uma criatura, forçar a criação do item (e posteriormente sua remoção). Não sei se funciona, mas é uma opção. Outra opção, é editar na source a iteração com o COMBAT_PARAM_CREATEITEM. Provavelmente lá tem uma limitação que não cria se tiver criatura, basta remover.

 

Abraços,

 

Eu já pensei nisso, mas infelizmente não deu nada certo, já pensei nas soucers também, porém, não entendo nada de programação, até penso que deve ser algo muito fácil, trocar algo de true ou false, mas como disse anteriormente, não entendo nada nada de programação, só um pouco de LUA e XML, haha, mas de qualquer modo agradeço pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, precisa ser um item? não poder ser um effect ? caso tenha que ser aquela sprite especifica, cria um effect e coloca a sprite do item.

Tenta assim e me diz:

local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat, COMBAT_PARAM_EFFECT, 2)setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)local arr = {{0, 1, 0},{0, 1, 0},{0, 1, 0},{0, 1, 0},{0, 3, 0},{0, 0, 0},{0, 0, 0},{0, 0, 0},{0, 0, 0},}local area = createCombatArea(arr)setCombatArea(combat, area)local function doPushCreature(uid,direction,distance,time)   if isCreature(uid) == TRUE then   local rand = (2*math.random(0,1))-1   local rand2 = math.random(-1,0)      if direction == 0 then      signal = {0,rand,-rand,rand,-rand,0,-1,-1,-1,0,0,0}      elseif direction == 1 then      signal = {1,1,1,0,0,0,0,rand,-rand,rand,-rand,0}      elseif direction == 2 then      signal = {0,rand,-rand,rand,-rand,0,1,1,1,0,0,0}      elseif direction == 3 then      signal = {-1,-1,-1,0,0,0,0,rand,-rand,rand,-rand,0}      elseif direction == 4 then      signal = {-1,rand2,(-rand2)-1,0,1,rand2+1,rand2,0}      elseif direction == 5 then      signal = {1,-rand2,-((-rand2)-1),0,1,rand2+1,rand2,0}      elseif direction == 6 then      signal = {-1,rand2,(-rand2)-1,0,-1,(-rand2)-1,rand2,0}      else      signal = {1,-rand2,-((-rand2)-1),0,-1,(-rand2)-1,rand2,0}      end   local pos = getThingPos(uid)   nsig = #signal   nvar = 0      repeat   nvar = nvar+1      newpos = {x=pos.x+(signal[nvar]),y=pos.y+(signal[(nsig/2)+nvar]),z=pos.z}   newtile = {x=newpos.x,y=newpos.y,z=newpos.z,stackpos=0}    until getTileThingByPos(newtile).uid ~= 0 and hasProperty(getTileThingByPos(newtile).uid,3) == FALSE and queryTileAddThing(uid,newpos) == 1 or nvar == (nsig/2)          if canWalk(newpos) == TRUE then      if distance == nil or distance == 1 then      doTeleportThing(uid,newpos,TRUE)         else      distance = distance-1      doTeleportThing(uid,newpos,TRUE)         if time ~= nil then         addEvent(doPushCreature,time,uid,direction,distance,time)         else         addEvent(doPushCreature,500,uid,direction,distance,500)         end             end   end  endend local function getPosfromArea(cid,area)icenter = math.floor(table.getn(area)/2)+1jcenter = math.floor(table.getn(area[1])/2)+1center = area[icenter]ivar = table.getn(area)jvar = table.getn(area[1])i = table.getn(area)^2j = table.getn(area[1])^2   if center[jcenter] == 3 then      if getPlayerLookDir(cid) == 0 then      signal = {-1,1,1,2}      elseif getPlayerLookDir(cid) == 1 then      signal = {1,-1,2,1}      elseif getPlayerLookDir(cid) == 2 then      signal = {1,-1,1,2}      else      signal = {-1,1,2,1}      end   else   signal = {-1,1,1,2}   endPOSITIONS = {}  P = 0    repeatpvar = {0,0}I = area[ivar]J = I[jvar]i = i-1j = j-1   if J == 1 then      if jvar < jcenter then        pvar[signal[3]] = signal[1]*math.abs((jcenter-jvar))       elseif jvar > jcenter then        pvar[signal[3]] = signal[2]*math.abs((jcenter-jvar))       end            if ivar < icenter then        pvar[signal[4]] = signal[1]*math.abs((icenter-ivar))       elseif ivar > icenter then      pvar[signal[4]] = signal[2]*math.abs((icenter-ivar))      end   end         if jvar > 1 then   jvar = (jvar-1)   elseif ivar > 1 then   jvar = table.getn(area[1])   ivar = (ivar-1)   end  local pos = getThingPos(cid)local areapos = {x=pos.x+(pvar[1]),y=pos.y+(pvar[2]),z=pos.z}     if pos.x ~= areapos.x or pos.y ~= areapos.y then   P = P+1   POSITIONS[P] = areapos   end   until i <= 0 and j <= 0return POSITIONSendfunction canWalk(pos, creature, pz, proj) -- nordif getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false endlocal creature = getTopCreature(pos)if creature.type > 0 then return false endif getTilePzInfo(pos) and not pz then return false endlocal n = not proj and 3 or 2for i = 0, 255 dopos.stackpos = ilocal tile = getTileThingByPos(pos)if tile.itemid ~= 0 and not isCreature(tile.uid) thenif hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) thenreturn falseendendendreturn trueendfunction onCastSpell(cid, var)pos = getPosfromArea(cid,arr)n = 0while n < #pos don = n+1thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253}   if isCreature(getThingfromPos(thing).uid) == TRUE then   doPushCreature(getThingfromPos(thing).uid,getPlayerLookDir(cid))   doSendAnimatedText(getThingPos(cid), "GET OFF", 215)   endendreturn doCombat(cid, combat, var)end

Créditos pela spell: xWhiteWolf

 

Editado por samlecter
Tinha esquecido dos créditos ^^
Link para o comentário
Compartilhar em outros sites

  • 0

Essa magia que você citou, não é como eu queria, essa magia que você mandou, afasta os monstros, eu queria uma magia que realmente prendesse o monstro/pessoa, alem de dar alguns errors,

como:

[30/06/2016 01:50:45] [Error - Spell Interface]
[30/06/2016 01:50:45] data/spells/scripts/teste.lua:onCastSpell
[30/06/2016 01:50:45] Description:
[30/06/2016 01:50:45] (luaGetThingFromPos) Tile not found

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 30/06/2016 at 01:53, Fjinst disse:

Essa magia que você citou, não é como eu queria, essa magia que você mandou, afasta os monstros, eu queria uma magia que realmente prendesse o monstro/pessoa, alem de dar alguns errors,

como:

[30/06/2016 01:50:45] [Error - Spell Interface]
[30/06/2016 01:50:45] data/spells/scripts/teste.lua:onCastSpell
[30/06/2016 01:50:45] Description:
[30/06/2016 01:50:45] (luaGetThingFromPos) Tile not found

 

 

Olha, meu projeto é de poketibia, no poketibia é um pouco diferente mas vou tentar, mas vai ter que adaptar algumas coisas, vamos tentando ou então se o @Skulls

 ou algum outro membro puder ajudar, melhor ^^, blz?

Quando chegar em casa de noite eu mando a spell

 

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

  • 0
Agora, samlecter disse:

 

Olha, meu projeto é de poketibia, no poketibia é um pouco diferente mas vou tentar, mas deve ter que adaptar alguma coisa, vamos tentando ou então se o @Skulls

 ou algum outro membro puder ajudar, melhor ^^, blz?

Quando chegar em casa de noite eu mando a spell

 

 

 

Tudo bem, fico no aguardo!

Link para o comentário
Compartilhar em outros sites

  • 0

O seu problema é que não cria o item onde tem alguém, certo? Você quer que crie o item mesmo se tiver alguem e se tiver esse alguem fica imovel?

Link para o comentário
Compartilhar em outros sites

  • 0
12 horas atrás, Eskylo disse:

O seu problema é que não cria o item onde tem alguém, certo? Você quer que crie o item mesmo se tiver alguem e se tiver esse alguem fica imovel?

Exatamente, e se possível, a pessoa não consiga utilizar magia durante essa prisão, eu coloquei estilo beam, mas se facilitar, a magia pode ser uma prisão 3x3 também, o  problema era que se acertar o player não cria o sqm em baixo do player ou monstro.

 

---- EDIT ----

Eu achei uma magia parecida com a qual eu queria, ela funciona da maneira que penso, só que tem como fazer um sistema de block spell?, se tiver em cima desse item ou trap, seja impossivel utilizar magias, tais como exura, exori frigo, etc.

essa magia, staca os items, se usar repetidas vezes, até sumir, acho que é um bug

 

local config = {	gatesTime = 10, -- tempo em segundos	exhaustStorage = 41000,	exhaustTime = 15,	createGates = {1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497} -- ID dos portoes na ordem certa}local combat = createCombatObject()setCombatArea(combat, createCombatArea({{1, 1, 1},{1, 1, 1},{1, 1, 1},{1, 1, 1},{0, 3, 0},{0, 0, 0},{0, 0, 0},{0, 0, 0},{0, 0, 0},}))local permittedPos = {}function onTargetTile(cid, pos)	table.insert(permittedPos[cid], pos)endsetCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")local function doSpell(cid, var)	if(not isCreature(cid)) then		return true	end	doCombat(cid, combat, var)	for n, pos in ipairs(permittedPos[cid]) do		doSendMagicEffect(pos, 5)		doCreateItem(config.createGates[n], 1, pos)		addEvent(function()			if(getTileItemById(pos, config.createGates[n]).uid > 0) then				doRemoveItem(getTileItemById(pos, config.createGates[n]).uid, 1)			end		end, config.gatesTime*1000)	end	return trueendfunction onCastSpell(cid, var)	permittedPos[cid] = {}	if(isPlayer(cid) and exhaustion.check(cid, config.exhaustStorage)) then		doPlayerSendCancel(cid, "Aguarde "..exhaustion.get(cid, config.exhaustStorage).." segundo"..(exhaustion.get(cid, config.exhaustStorage) > 1 and "s" or "").." para usar novamente.")		doSendMagicEffect(getThingPos(cid), 2)		return false	end	return doSpell(cid, var)end

 

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

  • 0

To passando aqui pra dizer que não esqueci não, só que não vai da pra terminar hoje pois não tive tempo.

 

A spell já ta criando os 3 itens, removendo depois de um tempo(configuravel), porém como não pode criar um item em cima de creature (player), ta com uma verificação assim: caso exista um char em um dos sqms onde o item vai ser criado pela spell, ele cria o item no sqm do lado. Falta arrumar isso, a ideia que tive é a seguinte: Se tiver algum player em um dos sqms da spell, nesse sqm em cima do player ele cria um effect com a mesma sprite do item, e causa a condição de paralyze no player acertado.

 

+/- assim:

 f4g.png

 

Amanhã quando eu chegar em casa(de noite) eu termino a spell

 

OBS: Você vai precisar adicionar algumas funções na Lib

 

 

 

 

 

f4g.png.fad9f33b9392ab2115149b0c2bbacc96.png

Link para o comentário
Compartilhar em outros sites

  • 0
13 horas atrás, samlecter disse:

To passando aqui pra dizer que não esqueci não, só que não vai da pra terminar hoje pois não tive tempo.

 

A spell já ta criando os 3 itens, removendo depois de um tempo(configuravel), porém como não pode criar um item em cima de creature (player), ta com uma verificação assim: caso exista um char em um dos sqms onde o item vai ser criado pela spell, ele cria o item no sqm do lado. Falta arrumar isso, a ideia que tive é a seguinte: Se tiver algum player em um dos sqms da spell, nesse sqm em cima do player ele cria um effect com a mesma sprite do item, e causa a condição de paralyze no player acertado.

 

+/- assim:

 f4g.png

 

Amanhã quando eu chegar em casa(de noite) eu termino a spell

 

OBS: Você vai precisar adicionar algumas funções na Lib

 

 

 

 

 

Desse jeito serve sim, é possivel colocar um efeito de silence?, no qual se a pessoa estivesse presa, não conseguisse utilizar magia?, usando o sistema de muted, ou algo do tipo, o ideal dessa magia seria que ao prender o jogador, ele não conseguisse se locomover e utilizar magias, só runas e items

Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, Fjinst disse:

Desse jeito serve sim, é possivel colocar um efeito de silence?, no qual se a pessoa estivesse presa, não conseguisse utilizar magia?, usando o sistema de muted, ou algo do tipo, o ideal dessa magia seria que ao prender o jogador, ele não conseguisse se locomover e utilizar magias, só runas e items

Então, eu não sei como é feito isso em tibia, mas em poketibias você coloca condições(já configuradas) em uma spell da seguinte forma:

 

Olhe uma função de dano em area:

doMoveInArea2(cid, 441, db1, ICEDAMAGE, min, max)

 

Se eu quiser adicionar alguma condição como Sleep, Paralyze, Slow, Miss, etc,

 

Faço assim:

 

local ret = {}ret.id = 0ret.cd = 9ret.eff = 43ret.check = 0ret.first = trueret.cond = "Slow"	  doMoveInArea2(cid, 441, db1, ICEDAMAGE, min, max, spell, ret)	--440	

Agora o dano causado na area (db1) vai aplicar Slow.

 

Paralyze não deixa se mover mas não tenho certeza se impede de atacar, caso impeça de atacar tbm, eu só trocaria isso: 

ret.cond = "Slow"

Por isso:

ret.cond = "Paralyze"

 

Caso Não impeça de atacar, somente de se movimentar, eu faria assim:

local ret1 = {}		ret1.id = 0		ret1.cd = 5		ret1.eff = 0		ret1.check = 0		ret1.first = true		ret1.cond = "Paralyze"				local ret2 = {}		ret2.id = 0		ret2.cd = 5 		ret2.eff = 0		ret2.check = 0		ret2.first = true		ret2.cond = "Silence"			  doMoveInArea2(cid, 441, db1, ICEDAMAGE, min, max, spell, ret)	  doMoveInArea2(cid, 441, db1, ICEDAMAGE, 0, 0, spell, ret2) -- essa segunda não causa dano (0,0) é só p/ aplicar o ret2 (silence)

 

Respondendo sua pergunta, sim é possível, vou por para o player acertado pela magia não se movimentar nem usar magia nenhuma, porém a maneira que isso é feito em poketibia é diferente     (do jeito q expliquei acima) então tem que adaptar

 

No caso das runas não sei informar, na sua base já existe alguma magia que impeça o player de se movimentar, e alguma magia que impeça de usar spells e runas(silence) ? Olhando como elas funcionam fica mais fácil adaptar depois.

 

Quando chegar em casa de noite e abrir o pc eu continuo com a spell

 

...

 

 

Citar

 

--- EDIT ----

Eu achei uma magia parecida com a qual eu queria, ela funciona da maneira que penso, só que tem como fazer um sistema de block spell?, se tiver em cima desse item ou trap, seja impossivel utilizar magias, tais como exura, exori frigo, etc.

essa magia, staca os items, se usar repetidas vezes, até sumir, acho que é um bug

 

 

como eu disse ali em cima:

"...  na sua base já existe alguma magia que impeça o player de se movimentar, e alguma magia que impeça de usar spells e runas(silence) ?  ... "

 

 

 

Citar

essa magia, staca os items, se usar repetidas vezes, até sumir, acho que é um bug

 

 

Você pode colocar os itens para sumirem mais rápido, aki:  

local config = {    gatesTime = 10, -- tempo em segundos

ou aumentar o tempo para usar a spell novamente

 

 

 

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

  • 0

Eu não sei se o servidor possui essas configurações, é The forgotten Server 0.36 (8.54), não entendo muito de script dessa versão, muda muita coisa, parei de mexer nos scripts na versão 8.10

Link para o comentário
Compartilhar em outros sites

  • 0

Terminei a Spell :P:

 

O effect tem que ser igual ao item, eu tive ideia de usar a magia "mimic wall" de base mas ela não estava funcionando perfeitamente, o @BielLucena1291 refez e aprimorou a spell, e usei ela de base ^^ 

 

Gif da spell:

http://imgur.com/2k2iHNb

 

OBS: Essas paredes coloridas são os itens, e o efeito branco de "balão" com a pokedex é um effect, repara que caso acerte alguém, ela não cria o item nesse sqm, mas ela cria o effect, então é só deixar o effect com a mesma sprite do item.

OBS²: Retiraram a opção de spoiler? assim que eu conseguir usar dnv eu formato o post melhor.

 

Spell:

	local p = getThingPosWithDebug(cid)	local dirr = getCreatureLookDir(cid)	if dirr == 0 or dirr == 2 then  		item = 12986   -- id dos items Norte e Sul	else -- Se o item for o mesmo em todas direções, coloca o id dele 2 vezes.		item = 12985  -- id dos items Leste e Oeste	end	local wall = {		[0] = {{x = p.x, y = p.y-1, z = p.z}, {x = p.x, y = p.y-2, z = p.z}, {x = p.x, y = p.y-3, z = p.z}},		[2] = {{x = p.x, y = p.y+1, z = p.z}, {x = p.x, y = p.y+2, z = p.z}, {x = p.x, y = p.y+3, z = p.z}},		[1] = {{x = p.x+1, y = p.y, z = p.z}, {x = p.x+2, y = p.y, z = p.z}, {x = p.x+3, y = p.y, z = p.z}},		[3] = {{x = p.x-1, y = p.y, z = p.z}, {x = p.x-2, y = p.y, z = p.z}, {x = p.x-3, y = p.y, z = p.z}},	} --NORTH = 0--EAST = 1    -- Leste (Direita -->)--SOUTH = 2--WEST = 3    -- Oeste (Esquerda <--)-- Área utilizada:dbbd = {  {0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 1, 0, 0, 0},{0, 0, 0, 1, 0, 0, 0},{0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 3, 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, 0, 0, 0, 0}, }local efeito = {		[0] = {{x = p.x, y = p.y-1, z = p.z}, {x = p.x, y = p.y-2, z = p.z}, {x = p.x, y = p.y-3, z = p.z}},		[2] = {{x = p.x, y = p.y+1, z = p.z}, {x = p.x, y = p.y+2, z = p.z}, {x = p.x, y = p.y+3, z = p.z}},		[1] = {{x = p.x+1, y = p.y, z = p.z}, {x = p.x+2, y = p.y, z = p.z}, {x = p.x+3, y = p.y, z = p.z}},		[3] = {{x = p.x-1, y = p.y, z = p.z}, {x = p.x-2, y = p.y, z = p.z}, {x = p.x-3, y = p.y, z = p.z}},	} 	for i = 1, 3 do		if wall[dirr] then			local t = wall[dirr]			local tEffect = efeito[dirr]			if hasTile(t[i]) and isWalkable(t[i], true, false, false) then			local ret = {}ret.id = 0ret.cd = 9ret.eff = 43ret.check = 0ret.first = trueret.cond = "Paralyze"	  doMoveInArea2(cid, 0, dbbd, ICEDAMAGE, min, max, spell, ret)	--440 db1			doSendMagicEffect(tEffect[i], 100)			end			if hasTile(t[i]) and isWalkable(t[i], true, true, false) then				local itemuid = doCreateItem(item, 1, t[i])				local pos = getThingPosition(itemuid)				local cPos = getThingPos(cid)				doItemSetAttribute(getTileThingWithProtect({x=t[i].x,y=t[i].y,z=t[i].z,stackpos=0}).uid, "aid", 88072)				doItemSetAttribute(getTileThingWithProtect(cPos).uid, "aid", 88072)				addEvent(function()					doItemEraseAttribute(getTileThingWithProtect({x=t[i].x,y=t[i].y,z=t[i].z,stackpos=0}).uid, "aid")					doItemEraseAttribute(getTileThingWithProtect(cPos).uid, "aid")					doRemoveThing(getThingFromPos(pos).uid)				end, MimicWallTime*1000)			end		end	end

 

Como devem ser os atributos dos items criados para a spell:

itens.png

[V] Unpassable    [V] Block Missiles    [V] Block Pathfinder 

 

 

Como devem ser os Atributos das sprites para os items acima:

sprite wall.png

 

[V] Common      [V] Unpassable    [V] Unmovable    [V] Block Missile   [V] Block Pathfinder

 

 

Tag no xml para os itens:

<item fromid="12985" toid="12986" article="a" name="mimic wall" /> 

 

em:  name="mimic wall"  , pode deixar o nome que quiser, o importante é o id dos itens.

 

 

 

Adiciona essas functions em algum arquivo da pasta lib:

 

function hasTile(pos) --Verifica se tem TILE na pos    pos.stackpos = 0    if getTileThingByPos(pos).itemid >= 1 then        return true    end    return falseendfunction isWalkable(pos, creature, proj, pz)-- by Nord    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end    if getTopCreature(pos).uid > 0 and creature then return false end    if getTileInfo(pos).protection and pz then return false, true end    local n = not proj and 3 or 2    for i = 0, 255 do        pos.stackpos = i        local tile = getTileThingByPos(pos)        if tile.itemid ~= 0 and not isCreature(tile.uid) then            if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then                return false            end        end    end    return trueend function getTileThingWithProtect(pos) --Pega um TILE com proteçoes    if hasTile(pos) then        pos.stackpos = 0        pid = getTileThingByPos(pos)    else        pid = getTileThingByPos({x=1,y=1,z=10,stackpos=0})    end    return pidend

 

 

OBS: para a spell funcionar, deve adaptar algumas coisas antes, por exemplo a function de dano usada no code da spell: 

doMoveInArea2(cid, 0, dbbd, ICEDAMAGE, min, max, spell, ret)

 

Ficaria grato se alguém ajudasse adaptar essa spell para tibia 

 

Da uma força ai?

@Skulls

@Eskylo

@Night Wolf

@Caronte

@zipter98

@Yan Liima

 

 

A intenção era te ajudar, mas tem que adaptar muita coisa para tibia, ela em poketibia ta funcionando certinho caso alguém queira. Vou usa-la '-'

 

 

 

itens.thumb.png.a3c6b86c8ce01f22124dcffa82fab289.png

5777265e1a93d_spritewall.png.fc5b8bec844360dfe8c63691f6b00bf9.png

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

  • 0

O problema é que é de pokémon, não irá funcionar, eu dei um olhada, É como se fosse o sistema de traps de narutibia 7,81, só que adaptado para 8.54~8.60, se alguém puder ajudar, ainda estou precisando dessa ajuda :D

 

Me deram a sugestão de alterar nas soucers, porém, não entendo nada de programação,  falaram sobre colocar a magia que conjura items para conjurar em cima dos jogadores, mas não sei como faz isso.

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

×
×
  • Criar Novo...