funciona em tfs 0.4?
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- [TFS 1.x] Critical System
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

funciona em tfs 0.4?
Não, apenas em tfs 1.1 e 1.2...
info
Grupo: Administrador
Registrado: 08/07/05
Posts: 5.8k
Reputação: +1.4k
Gênero: Outro

Boa, acho muito interessante esse sistema.
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Boa, acho muito interessante esse sistema.
Vlw man!
Quando eu vi a primeira vez, gostei muito ai atualizei kkkk
gostei muito do seu sistema, mas tenho uma duvida, no caso o hit que sairá critico, será o mesmo hit que seria se não fosse, o que eu quero dizer, o dano não vira com alguma corsinha diferente? vi em algum lugar que quando o cara bate o critico o dano sai laranja
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Laranja é apenas a mensagem, o efeito é uma explosão que sai do adversário, seja monstro ou player.
Laranja é apenas a mensagem, o efeito é uma explosão que sai do adversário, seja monstro ou player.
não a mensagem de "critical!" mas sim o dano, em vez de ser vermelho no caso de um hit de physical damage, o NUMERO do valor do dano
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

não a mensagem de "critical!" mas sim o dano, em vez de ser vermelho no caso de um hit de physical damage, o NUMERO do valor do dano
Daria para fazer, é só colocar:
creature:say(primaryDamage, TALKTYPE_MONSTER_SAY)
E alterar para o efeito desejado.
Daria para fazer, é só colocar:
creature:say(primaryDamage, TALKTYPE_MONSTER_SAY)
E alterar para o efeito desejado.
obrigado querido ![]()
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

obrigado querido
Por nada
disponha
info
Grupo: Visconde
Registrado: 24/07/09
Posts: 356
Reputação: +28
Gênero: Masculino

Da erro na talkaction:

Provavelmente não vai funcionar, pode atualizar o script por favor ![]()
Com base nos script do: https://github.com/orts/server
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Da erro na talkaction:
Provavelmente não vai funcionar, pode atualizar o script por favor
Com base nos script do: https://github.com/orts/server
A base é a mesma amigo, se fosse erro no script, não iria funcionar as actions e o próprio sistema, não só a talkaction.
Tem ctz que é só esse erro que está gerando?
info
Grupo: Visconde
Registrado: 24/07/09
Posts: 356
Reputação: +28
Gênero: Masculino

A base é a mesma amigo, se fosse erro no script, não iria funcionar as actions e o próprio sistema, não só a talkaction.
Tem ctz que é só esse erro que está gerando?
Não testei o sistema todo, só a talkaction por enquanto.
O comando !critical funcionou:
Editado Junho 6 por curruwilliam







info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino
Introdução
Este script consiste em aumentar uma porcentagem dos ataques de acordo com o critical level.
Exemplo: Suponhamos que o player tenha Critical Skill 100 e a porcentagem de ataque esteja configurado para aumentar 50%, o player terá 30% de chance de au 50% dos ataques.
Instalação
O conteúdo da lib serve para o Critical e Dodge System, se você já fez este procedimento no outro script simplesmente ignore e vá para o próximo passo.
Em data/lib/core/core.lua adicione o seguinte conteúdo em qualquer parte:
dofile('data/lib/core/dclib.lua')Ainda em data/lib/core/core crie um arquivo chamado dclib.lua com o seguinte conteúdo:-- Configuração DODGE = { STORAGE = 48900, -- player storage do sistema LEVEL_MAX = 100, -- máximo de dodge level que o player pode alcançar PERCENT = 0.5 -- porcentagem que irá defender o ataque [padrão 50% = 0.5] } CRITICAL = { STORAGE = 48901, -- player storage do sistema LEVEL_MAX = 100, -- máximo de critical level que o player pode alcançar PERCENT = 0.5 -- porcentagem que irá aumentar o ataque [padrão 50% = 0.5] } function Player.getDodgeLevel(self) return self:getStorageValue(DODGE.STORAGE) end function Player.setDodgeLevel(self, value) return self:setStorageValue(DODGE.STORAGE, value) end function Player.getCriticalLevel(self) return self:getStorageValue(CRITICAL.STORAGE) end function Player.setCriticalLevel(self, value) return self:setStorageValue(CRITICAL.STORAGE, value) endAgora em data/actions/actions.xml adicione a seguinte tag:
Depois em data/actions/scripts/other crie um arquivo chamado critical.lua com o seguinte conteúdo:function onUse(player, item, fromPosition, target, toPosition, isHotkey) if player:getCriticalLevel() < CRITICAL.LEVEL_MAX then item:remove(1) player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) player:setCriticalLevel(player:getCriticalLevel() + 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você aumentou sua skill de critical para [" .. player:getCriticalLevel() .. "/" .. CRITICAL.LEVEL_MAX .. "].") elseif player:getCriticalLevel() >= CRITICAL.LEVEL_MAX then player:sendTextMessage(MESSAGE_STATUS_WARNING, "Você alcancou o máximo de seu CRITICAL Skill.\nParabéns!!!!") return false end return true endPronto, já configuramos o item para atribuir o Critical Skill, vamos configurar a parte dos ataques.
Vá em data/creaturescripts/creaturescripts.xml e adicione a seguinte tag:
Agora em data/creaturescripts/scripts crie um arquivo chamado criticalSystem.lua com o seguinte conteúdo:function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if not isPlayer(attacker) then return false end if (attacker:getCriticalLevel() * 3) >= math.random (0, 1000) then if isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT) attacker:say("CRITICAL!", TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONHIT) end end return primaryDamage, primaryType, secondaryDamage, secondaryType endAinda em data/creaturescripts/scripts abra o arquivo login.lua e
Antes de:
Adicione:player:registerEvent("CriticalSystem") -- Critical System if player:getCriticalLevel() == -1 then player:setCriticalLevel(0) endO sistema está finalizado, agora vamos criar as talkactions para que os players acompanhem seu skill.Em data/talkactions/talkactions.xml adicione a tag:
E para finalizar, em data/talkactions/scripts crie um arquivo chamado critical.lua com o seguinte conteúdo:Bom é isso ai!
Créditos: