@Skulls você não é o rei das magias? hahaha
Ajuda o maninho ai ![]()
info
Grupo: Administrador
Registrado: 08/07/05
Posts: 5.8k
Reputação: +1.4k
Gênero: Outro

@Skulls você não é o rei das magias? hahaha
Ajuda o maninho ai ![]()
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

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,
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

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!
info
Grupo: Visconde
Registrado: 08/12/15
Posts: 309
Reputação: +133
Gênero: Masculino

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 Junho 29 por samlecter
Tinha esquecido dos créditos ^^
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

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
info
Grupo: Visconde
Registrado: 08/12/15
Posts: 309
Reputação: +133
Gênero: Masculino

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 Julho 1 por samlecter
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

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!
info
Grupo: Visconde
Registrado: 11/08/10
Posts: 477
Reputação: +175
Gênero: Masculino

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?
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

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 Junho 30 por Fjinst
info
Grupo: Visconde
Registrado: 08/12/15
Posts: 309
Reputação: +133
Gênero: Masculino

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:

Amanhã quando eu chegar em casa(de noite) eu termino a spell
OBS: Você vai precisar adicionar algumas funções na Lib
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

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:
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
info
Grupo: Visconde
Registrado: 08/12/15
Posts: 309
Reputação: +133
Gênero: Masculino

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) ? ... "
Citaressa 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 Julho 1 por samlecter
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

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
info
Grupo: Visconde
Registrado: 08/12/15
Posts: 309
Reputação: +133
Gênero: Masculino

Terminei a Spell ![]()
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:
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:
[V] Unpassable [V] Block Missiles [V] Block Pathfinder
Como devem ser os Atributos das sprites para os items acima:
![]()
[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?
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 '-'
Editado Julho 2 por samlecter
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril
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