Postado Julho 22, 2016 8 anos Desculpa reviver o topico pois estou tentando por esse script por skill quanto maior o skill ele terar mais chance de dar critical, segue um pouco do codigo que modifiquei sei que tem erro se puder ajudar. local SKILL_ID = 5 -- id do skill... local skills = { {min = 10, max = 20, chance = 1}, -- chance em % de dar Critical... {min = 21, max = 30, chance = 2}, {min = 31, max = 40, chance = 3}, {min = 41, max = 50, chance = 4}, {min = 51, max = 60, chance = 5}, {min = 61, max = 70, chance = 6}, {min = 71, max = 80, chance = 7}, {min = 81, max = 90, chance = 8}, {min = 91, max = 100, chance = 9}, {min = 101, max = 110, chance = 10}, {min = 111, max = 120, chance = 15}, {min = 121, max = 130, chance = 20}, {min = 131, max = 140, chance = 30}, {min = 141, max = math.huge, chance = 50} } function onStatsChange(cid, attacker, type, combat, value) local COLOR_ID = 200 -- cor do texto local MAGIC_EFFECT = 7 -- id do magic effect if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then for _, tudo in pairs(skills) do if getPlayerSkillLevel(cid, SKILL_ID) >= tudo.min and getPlayerSkillLevel(cid, SKILL_ID) <= tudo.max then local chancex = math.random(1, 100) if chancex <= tudo.chance then doSendMagicEffect(getCreaturePosition(cid), MAGIC_EFFECT) doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255) doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144) end end end return true end end
Postado Abril 12, 2017 8 anos Autor Em 12/04/2017 em 00:22, Semideus disse: Como eu criaria essa função getCriticalLevel, dessa forma aí ? e Wolf, atualmente já existem scripts melhores para tfs 1.2 de dogde e critico ? getCriticalLevel é só um getPlayerStorageValue kkk ela tem que retornar o storage do critical. Pra 1.2 tem sistemas melhores sim, é só procurar. Os meus são focados em 0.4/0.36 Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Abril 12, 2017 8 anos Pô como eu coloco efeito de atk nas minhas armas e como eu coloco o adicional de physical + tanto earth?
Postado Abril 12, 2017 8 anos Autor Em 12/04/2017 em 03:35, Semideus disse: Lembre de algum Wolf ? eu procurei hoje a tarde, achei um que só funciona PVP , tanto o critico quanto o dodge, e o dodge buga o char de um jeito que nenhum monstro consegue acertar. tem um pra tfs 1.2 na otland mt bem feito, nos tfs atuais o dodge e o critical funcionam de maneira mt melhor que nas antigas. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Junho 16, 2018 6 anos Em 17/06/2014 em 10:32, xWhiteWolf disse: Fala galera do TK, vejo que tem bastante gente procurando esse sisteminha que é praticamente igual ao dodge system, então eu decidi fazer visto que na realidade era só mudar 3 linhas kkkk em todo caso ta aí pra quem quiser: creaturescripts.xml: <!-- CRITICAL SYSTEM --> <event type="statschange" name="critical" event="script" value="critical.lua"/> creaturescripts\scripts\login.lua: --- CRITICAL SYSTEM ---- registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48913) == -1 then setPlayerStorageValue(cid, 48913, 0) end creaturescritps\scripts\critical.lua: --[[Critical System ------------------------- By Night Wolf]] local lvlcrit = 48913 local multiplier = 1.5 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then if (getPlayerStorageValue(attacker, lvlcrit)*3) >= math.random (0,1000) then dano = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255) doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144) return false end end return true end lvlcrit é o storage que fica salvo o seu level de critical e multiplier é o multiplicador do dano para ataques críticos.. nesse caso um ataque critico vai ser 1,5 vezes maior doque um ataque normal (50% maior) Agora em actions.xml adicione: <action itemid="1294" script="criticalrock.lua"/> e em actions\scripts\criticalrock.lua adicione: --- CRITICAL System by Night Wolf local config = { effectonuse = 14, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 48913 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/"..config.levelscrit.."].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!") return 0 end return 1 end Feito isso tá pronto, pra editar o item que dá a skill de critical vc edita no actions.xml mesmo: <action itemid="1294" << ID do item que será usado pra dar a skill. A config tá bem simples: effectonuse = 14, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 48913 -- storage que será verificado. Lembrando que cada pedra utilizada dará 0,3% a mais de chance.. 10 pedras dão 3% de chance de dar critico a cada ataque e 100 pedras (NIVEL MÁXIMO PADRÃO) dará 30% de chance de dar crítico em cada ataque. Espero que vcs gostem, qualquer coisa deixem os comentários aqui. Obs: aqui tá uma foto Conteúdo Oculto Note que esse script só funciona em players, se vc quiser que funcione em monstros você vai ter que abrir um por um todos os monstros do server e colocar essa tag aqui: <script> <event name="critical"/> </script> coloque antes de </monster> Minha dica: coloquem apenas no Trainer pra que o player consiga ver que ele tem o critical e quanto ele tira e deixem avisado que o sistema só vai funcionar em players. base TFS 0.4 Funcionou 99% porem to com esse erro no Training pode me ajudar? 758x426.bmp
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.