Ir para conteúdo

skulls

Membro
  • Registro em

  • Última visita

Tudo que skulls postou

  1. Exatamente. Como eu disse, prefiro mil vezes os callbacks. Mais claros e editáveis. O TFS tem uma ideia de formulação muito boa, porém confusa para o usuário final. Tem o callback de skills tb, que é bastante util ^^.
  2. Cara eu espero que você esteja se referindo a alguma distro que foge ao padrão TFS. Pq, se você está se referindo ao padrão TFS de fórmula de magias, ou você não sabe nem de longe por onde passam as magias dentro do TFS ou você simplesmente chutou essa explicação ai. Vou dar uma passada rápida pela dinâmica das fórmulas do TFS - vou usar o tfs, pq é a base mais usada além de muitas bases usarem ele como base (vou dar uma leve dica na verdade pq a explicação completa me demandou um tópico gigantesco - se quiser saber mais pode entrar em contato comigo em pm). Essa é a função base de combatFormula do tfs: setCombatFormula(combat, formulaType, min_a, min_b, max_a, max_b, min_lvl, max_lvl, min_mlvl, max_mlvl, min_dmg, max_dmg) São três tipos de fórmula: por ML ( COMBAT_FORMULA_LEVELMAGIC ), por Skill ( COMBAT_FORMULA_SKILL ) ou por dano ( COMBAT_FORMULA_DAMAGE ). A fórmula por ML usa TODOS os parâmetros da formula base (mas você não precisa por todos, necessariamente). Já por skill ele usa somente min_b, max_b, max_a e max_dmg. O ultimo tipo é basico, ele usa somente min_b e max_b. Eu, particularmente, odeio o sistema de formulas do TFS. Eu só uso os callbacks de fórmula: setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, “funcao com o calculo”) setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, “funcao com o calculo”) Como eu disse, é muita coisa para falar em um post assim. Se quiser mesmo entender/aprender pode me contactar por PM, terei o prazer de explicá-lo melhor Tópico: Amigo, você deseja que ela seja balanceada com base em que? Level? Ml? Skill? Ou isso não importa muito, quer somente aumentar o dano dela de forma fixa, em qualquer circunstância?
  3. Poste aqui o seu login.lua, com as modificações e o erro que está dando.
  4. Fala galera, tudo bem? Bom, estou trazendo aqui um sisteminha de double exp e double loot system que fiz sob encomenda só que acabaram fazendo por conta própria e desistindo de comprar o que me encomendaram, então estou divulgando aqui para vocês o sistema completo já que não tem mais nenhum termo de privacidade e é um sisteminha legal de se usar para diversas coisas (quests, itens especiais, etc). O nome é bem auto-explicativo, o sistema aumenta a rate de exp e loot daquele cidadão por um período X de tempo. Scripts: http://pastebin.com/Wc9ZL8Km É bastante auto-explicativo o código acima, pois já coloquei no pastebin com os devidos comentários e com os passos a serem seguidos. Leiam tudo pois são 3 arquivos e 1 modificação no login.lua. A forma como está feita ali é um item (a ser definido por você na tag) que você clica e habilita o bonus ao player. A rate de exp e loot são customizáveis tal qual o tempo de duração do bônus. Espero que gostem. Abraços,
  5. O cara, muito obrigado. Fico feliz que tenha gostado e seu comentário é animador. Infelizmente, essas spells são encomendas e o demandante só permitiu a divulgação das mesmas, sem código. Mas prometo fazer algo open pra postar por aqui em breve. Abraços!
  6. Título auto explicativo.
  7. Nao eh tao simples, envolve mudanças na source e otc,por isso nao postei.. xD
  8. Era o end com espaco errado ne? Por nada, feliz em ajudar. Abraços!
  9. Noamor getinterceptions tem um return getoposend na ultima linha. Da um enter pra esse end cair pra baixo.
  10. Tudo quevta ai pode por no spellsLib.lua
  11. Obrigado cara! Sempre me incomodou a facilidade de acertar o alvo no tíbia. Dessa forma fica mais facil de desviar e exige mais dedos do caster, xD.
  12. Não, pra 1.x você tem que adaptar as funcoes, mas a logica se mantem.
  13. Obrigado lobo, sempre me apoiando :D Sim, da pra você limitar da forma que vc quiser a range dele, basta configurar. Mentira! Tudo calúnia! É só show-off man, mal. D<
  14. skulls postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Fico feliz em ajudar, abraços!
  15. Boa noite galera, tudo bem? Bom vim aqui apresentar um sisteminha novo de teleport. Pô skulls, que car*****!! Tibia tem teleport desde que nasceu, pq diabos vc ta vindo apresentar isso aqui? Bom, você certamente já viu vários teleports ao longo da sua jornada tibiana: O comunzão: Magias de Teleport: Deve ter visto também itens que te teleportam para uma posição predefinida (não tenho exemplo aqui). Pokémons que te teleportam junto com ele para uma cidade também não são mais novidade. Já devem ter visto varias vezes exemplos de teleport como esses, correto? Então, mas será que vocês já viram ou pensaram em magias que iteram com o crosshair e te possibilitam teleportar para QUALQUER LUGAR do mapa através da sua map view e do minimap?! Isso mesmo, ao castar a magia você acionará o crosshair e poderá utilizar o minimap para se teleportar para longe, bem longe. Não seria bem legal ou, pelo menos, diferente? Então, apresento a vocês o novo sisteminha de teleport spell via minimap: Detalhando o minimap: Bom, é isso: teleports everywhere :D hahaha Espero que gostem. Abraços,
  16. skulls postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Fala galera, tudo bem? Venho trazer pra vocês uma nova magia que fiz. Ela é basicamente um puxão que da um pouco de dano. Gif Em spells.xml coloque essa tag: <instant name="Energy Grab" words="exori grab vis" needtarget="1" lvl="40" mana="20" prem="1" range="5" blockwalls="1" exhaustion="2000" groups="1,2000" icon="122" needlearn="0" event="script" value="attack/energy grab.lua"> <vocation id="3"/> <vocation id="7"/> </instant> Em scripts/attack crie um arquivo chamado energy grab.lua e coloque o conteúdo abaixo: local grab_time = 350 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onTargetCreature(cid, target) addEvent(executeGrab, grab_time, cid, target) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function executeGrab(cid, target, param) d = param or -1 if not isPlayer(cid) then return false end if not isCreature(target) then return false end local cpos, ppos = getCreaturePosition(target), getCreaturePosition(cid) local dir = getDirectionTo2(cpos, ppos) if d == -1 then doSendDistanceShoot(cpos, ppos, CONST_ANI_ENERGYBALL) end if getDistanceBetween(cpos, ppos) > 1 then doMoveCreature(target, dir) end if (d > 1 or d == -1) then addEvent(executeGrab, 30, cid, target, getDistanceBetween(cpos, ppos)) end return true end function performCombat(cid, combat, var) return doCombat(cid, combat, var) end function onCastSpell(cid, var) return doCombat(cid, combat, setSpellTarget(cid, var)) end Para funcionar corretamente, isso é puxando quem estiver na frente da magia e nao o target inicial é necessário que você utilize o sistema disponibilizado por mim neste tópico: http://www.tibiaking.com/forum/topic/67653-spells-checando-interfer%C3%AAncias-na-trajet%C3%B3ria/ Caso contrário, troque a linha return doCombat(cid, combat, setSpellTarget(cid, var)) por return doCombat(cid, combat, var). Bom, é isso. Espero que gostem. Abraços,
  17. 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) GetPositionsAround (by Skulls) CheckInterceptions (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: function onCastSpell(cid, var) return doCombat(cid, combat, var) end Substitua isso por: function onCastSpell(cid, var) return doCombat(cid, combat, setSpellTarget(cid, var)) end Pronto, a sua magia "Exori Mort" será parada por criaturas ou obstáculos (qualquer item que não seja móvel). Bom é isso, espero que gostem. Queria agradecer ao @xWhiteWolf e ao Caronte pelas ajudas tentando entender alguns parâmetros e me dando algumas luzes. Ao Lobo, fica ainda, um agradecimento especial pela maravilhosa lib dele *-*. Abraços,

Informação Importante

Confirmação de Termo