Skulls 331 Postado Março 31, 2016 Share Postado Março 31, 2016 (editado) Bom dia galera, tudo bem?Decidi fazer uma talkaction para ilustrar o sistema que criei de customização de ataque básico: Personalizando Ataques BásicosÓbviamente, ela não é a melhor forma de usar o sistema (afinal assim o player poderia definir qualquer range / tipo de combate/ efeito que ele quiser), mas serve para ilustrar como o sistema funciona.Sem mais delongas, vá em talkactions.xml e cole a tag abaixo: <talkaction words="/cbh" separator=" " script="changeBasicHit.lua" /> Em talkactions/scripts crie um arquivo chamado changeBasicHit.lua e cole o script abaixo nele: local combats = { ["physical"] = COMBAT_PHYSICALDAMAGE, ["energy"] = COMBAT_ENERGYDAMAGE, ["earth"] = COMBAT_EARTHDAMAGE, ["fire"] = COMBAT_FIREDAMAGE, ["undefined"] = COMBAT_UNDEFINEDDAMAGE, ["life_drain"] = COMBAT_LIFEDRAIN, ["mana_drain"] = COMBAT_MANADRAIN, ["healing"] = COMBAT_HEALING, ["drown"] = COMBAT_DROWNDAMAGE, ["ice"] = COMBAT_ICEDAMAGE, ["holy"] = COMBAT_HOLYDAMAGE, ["death"] = COMBAT_DEATHDAMAGE}local distanceEffects = { ["spear"] = CONST_ANI_SPEAR, ["bolt"] = CONST_ANI_BOLT, ["arrow"] = CONST_ANI_ARROW, ["fire"] = CONST_ANI_FIRE, ["energy"] = CONST_ANI_ENERGY, ["poison_arrow"] = CONST_ANI_POISONARROW, ["burst_arrow"] = CONST_ANI_BURSTARROW, ["throwing_star"] = CONST_ANI_THROWINGSTAR, ["throwing_knife"] = CONST_ANI_THROWINGKNIFE, ["smallstone"] = CONST_ANI_SMALLSTONE, ["death"] = CONST_ANI_DEATH, ["large_rock"] = CONST_ANI_LARGEROCK, ["snowball"] = CONST_ANI_SNOWBALL, ["power_bolt"] = CONST_ANI_POWERBOLT, ["poison"] = CONST_ANI_POISON, ["infernal_bolt"] = CONST_ANI_INFERNALBOLT, ["hunting_spear"] = CONST_ANI_HUNTINGSPEAR, ["enchanted_spear"] = CONST_ANI_ENCHANTEDSPEAR, ["red_star"] = CONST_ANI_REDSTAR, ["green_star"] = CONST_ANI_GREENSTAR, ["royal_spear"] = CONST_ANI_ROYALSPEAR, ["sniper_arrow"] = CONST_ANI_SNIPERARROW, ["onyx_arrow"] = CONST_ANI_ONYXARROW, ["piercing_bolt"] = CONST_ANI_PIERCINGBOLT, ["sword"] = CONST_ANI_WHIRLWINDSWORD, ["axe"] = CONST_ANI_WHIRLWINDAXE, ["club"] = CONST_ANI_WHIRLWINDCLUB, ["ethereal_spear"] = CONST_ANI_ETHEREALSPEAR, ["ice"] = CONST_ANI_ICE, ["earth"] = CONST_ANI_EARTH, ["holy"] = CONST_ANI_HOLY, ["sudden_death"] = CONST_ANI_SUDDENDEATH, ["flash_arrow"] = CONST_ANI_FLASHARROW, ["flamming_arrow"] = CONST_ANI_FLAMMINGARROW, ["shiver_arrow"] = CONST_ANI_SHIVERARROW, ["energy_ball"] = CONST_ANI_ENERGYBALL, ["small_ice"] = CONST_ANI_SMALLICE, ["small_holy"] = CONST_ANI_SMALLHOLY, ["small_earth"] = CONST_ANI_SMALLEARTH, ["earth_arrow"] = CONST_ANI_EARTHARROW, ["explosion"] = CONST_ANI_EXPLOSION, ["cake"] = CONST_ANI_CAKE, ["tarsal_arrow"] = CONST_ANI_TARSALARROW, ["vortex_bolt"] = CONST_ANI_VORTEXBOLT, ["prismatic_bolt"] = CONST_ANI_PRISMATICBOLT, ["crystalline_arrow"] = CONST_ANI_CRYSTALLINEARROW, ["drill_bolt"] = CONST_ANI_DRILLBOLT, ["envenomed_arrow"] = CONST_ANI_ENVENOMEDARROW, ["physical"] = CONST_ANI_GLOOTHSPEAR, ["simple_arrow"] = CONST_ANI_SIMPLEARROW,}function onSay(player, words, param) local config = string.split(param, " ") if #config ~= 3 then doPlayerSendCancel(player, "Invalid params number. You must specify three params: range combat type effect!") doSendMagicEffect(getCreaturePosition(player), CONST_ME_POFF) return false end if not tonumber(config[1]) then doPlayerSendCancel(player, "Pay attention: 1. Params order is: range combat effect. 2. Range must be a number.") doSendMagicEffect(getCreaturePosition(player), CONST_ME_MAGIC_BLUE) return false end player:setFistConditions(config[1], combats[config[2]] or COMBAT_PHYSICALDAMAGE, distanceEffects[config[3]] or config[1] == 1 and CONST_ANI_NONE or CONST_ANI_SNOWBALL) doSendMagicEffect(getCreaturePosition(player), CONST_ME_MAGIC_BLUE)end Imagem: Enfim, espero que gostem.Abraços, Editado Março 31, 2016 por Skulls Link para o comentário Compartilhar em outros sites More sharing options...
Administrador Administrador 1435 Postado Março 31, 2016 Administrador Share Postado Março 31, 2016 Excelente script @@Skulls É muito bom ver você se empenhando nessa área, da pra fazer coisas incríveis. Link para o comentário Compartilhar em outros sites More sharing options...
Skulls 331 Postado Março 31, 2016 Autor Share Postado Março 31, 2016 Excelente script @@Skulls É muito bom ver você se empenhando nessa área, da pra fazer coisas incríveis. Obrigado Daniel! Achei mt útil fazer algo do tipo no meu contexto, uma vez que vou ressuscitar o fist fight como a base do dano básico do player. Sim, as vezes eu mesmo me surpreendo com as possibilidades. Grande abraço. Link para o comentário Compartilhar em outros sites More sharing options...
Deadpool 862 Postado Março 31, 2016 Share Postado Março 31, 2016 Muito bom, eu gostei haha! rep+. # Pelo menos alguem ainda se interessa em ajudar a comunidade, coisa rara de hoje em dia.. Link para o comentário Compartilhar em outros sites More sharing options...
Skulls 331 Postado Março 31, 2016 Autor Share Postado Março 31, 2016 Muito bom, eu gostei haha! rep+. # Pelo menos alguem ainda se interessa em ajudar a comunidade, coisa rara de hoje em dia.. Hahaha muito obrigado! Pois é, na medida do possível eu tento. Uma pena a sessão de cpp estar morta Abraços! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados