Nas funções CheckInterceptions e SetSpellTarget o final delas ta com 'end' colado no return. a CheckInterceptions ta 'return toPosend' e a SetSpellTarget está 'return varend'.
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- [Spells] Checando Interferências na Trajetória
[Spells] Checando Interferências na Trajetória
Por Skulls, 14 de fev. de 2016 em Globalevents e Spells
info
Grupo: Visconde
Registrado: 26/08/10
Posts: 431
Reputação: +60
Gênero: Masculino
Char no Tibia: Gabriel Rookgaardian

info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Nas funções CheckInterceptions e SetSpellTarget o final delas ta com 'end' colado no return. a CheckInterceptions ta 'return toPosend' e a SetSpellTarget está 'return varend'.
Arrumado, obrigado.
info
Grupo: Visconde
Registrado: 01/07/15
Posts: 416
Reputação: +206
Gênero: Masculino
Char no Tibia: Bluester

bem que o @Daniel poderia habilitar REP pelo celular.
Muito bom o conteúdo. ![]()
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

bem que o @Daniel poderia habilitar REP pelo celular.
Muito bom o conteúdo.
Obrigado! Da pra dar rep pelo cel, só colocar na versão completa la embaixo ^^ hahaha
info
Grupo: Visconde
Registrado: 01/07/15
Posts: 416
Reputação: +206
Gênero: Masculino
Char no Tibia: Bluester

3g não ajudaObrigado! Da pra dar rep pelo cel, só colocar na versão completa la embaixo ^^ hahaha
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

3g não ajuda
O que vale é a intenção! hahaha valeu!
info
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: Night Wolf

ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Parabéns pelo belo sistema.
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
Obrigado wolf, não teria conseguido sem você! ![]()
Parabéns pelo belo sistema.
Valeu!
Adicionado um exemplo de uso.
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

Muito bom skulls, essa função pode ajudar até em fazer um getCreaturePathTo(...) por lua...
Script muito bom.
ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
Editado Fevereiro 15 por Caronte
interessante seria também,ignorar a interferencia que tem na frente,porém da metade do dano no da frente,e todo o dano no de trás.
tipo o orc da frente recebe 50 de dano e o de trás 100,um exemplo,ficaria show,rep+
dai é claro,sem interferencia,como na sua giff.
Editado Fevereiro 15 por kaleudd
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

interessante seria também,ignorar a interferencia que tem na frente,porém da metade do dano no da frente,e todo o dano no de trás.
tipo o orc da frente recebe 50 de dano e o de trás 100,um exemplo,ficaria show,rep+
dai é claro,sem interferencia,como na sua giff.
Boa ideia, também seria interessante puxar os dois kkkkk.
info
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: Night Wolf

@@Caronte, acho q ele quis dizer estilo o Q da miss fortune no league of legends... qnd vc dá um tiro e mata o bixo o tiro rebate com dobro de dano se tiver alguém atrás (seguindo a direção), ficaria muito legal ter algo nesse sentido tb.
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Muito bom skulls, essa função pode ajudar até em fazer um getCreaturePathTo(...) por lua...
Script muito bom.
Realmente, da para usar. Ja existe uma função de path do wolf, mas talvez com essa logica fique bom também rs. O grande problema é que, para paths, você não checa só na direção que você quer andar e sim em todas, caso a sua esteja sem passagem, né? xD
interessante seria também,ignorar a interferencia que tem na frente,porém da metade do dano no da frente,e todo o dano no de trás.
tipo o orc da frente recebe 50 de dano e o de trás 100,um exemplo,ficaria show,rep+
dai é claro,sem interferencia,como na sua giff.
Sim, da pra fazer muita coisa. Da para fazer damage reduction tb (quanto mais alvos a magia atravessar, menos dano ela da).
@@Caronte, acho q ele quis dizer estilo o Q da miss fortune no league of legends... qnd vc dá um tiro e mata o bixo o tiro rebate com dobro de dano se tiver alguém atrás (seguindo a direção), ficaria muito legal ter algo nesse sentido tb.
Da tambem, basta a spell ser com range fixo (por exemplo sempre que usar ela vai do player até a direção que ele mandou 5 sqm para frente) e fazer a checagem. Se tiver uma interferencia ativa o combat1 se tiver duas o combat2 ^^





info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino
Boa noite galera, tudo bem?
Venho compartilhar com vocês hoje um sisteminha que desenvolvi para as magias do tipo "shoot'. Foi feito inicialmente para funcionar com magias que usam a posição do mouse como referência e adaptei para cipclientes poderem usar em runas e magias de tiro.
O funcionamento do sistema é simples: Ao usar uma runa ou castar uma magia "shoot" com esse sistema criaturas e objetos no caminho irão interferir na trajetória, isto é, receberão o combate no lugar do alvo inicial.
Ilustrativo:
Bom, vamos ao que interessa.
Vá em data/lib/ e crie um novo arquivo chamado spellsLib.lua (pode-se utilizar também o arquivo spells.lua contido em data/spells/lib).
Dentro dele inclua as seguintes funções:
IsWalkable (by Nord)
function 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 true endfunction getPositionsAround(pos) return { [1] = {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, [2] = {x = pos.x + 1, y = pos.y - 1, z = pos.z, stackpos = 0}, [3] = {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, [4] = {x = pos.x + 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [5] = {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, [6] = {x = pos.x - 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [7] = {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, [8] = {x = pos.x - 1, y = pos.y - 1, z = pos.z, stackpos = 0} } endCheckInterceptions (by Skulls)
SetSpellTarget (by Skulls)
Feito isso, está tudo configurado. Basta agora adicionar às magias que você queira.
Abra o .lua da magia, por exemplo death strike.lua.
Lá você terá, entre outras coisas, a função onCastSpell como abaixo:
Substitua isso por:
Um exemplo de magia que utiliza esse sistema: http://www.xtibia.com/forum/topic/239460-exori-grab-vis/
@@Daniel, na verdade move pra mim pra Downloads Spells, acho que seria mais correto.
Editado Março 21 por Skulls