• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] Critical Skill System DODGE

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default [Sistema] Critical Skill System DODGE el Jue Ene 04, 2018 12:46 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface


    bueno aqui le dejo un sistema de critical, el sistema es simple un objeto te entrega critical % puedes usar solo 100 objetos. el cual te daran un % de critical de 30%

    instalacion:

    data/creaturescripts/creaturescripts.xml

    Código:
    <event type="statschange" name="critical" event="script" value="critical.lua"/>

    creaturescripts\scripts\login.lua

    pegar esto dentro del archivo login.lua

    Código:
    registerCreatureEvent(cid, "critical")
    if getPlayerStorageValue(cid, 48913) == -1 then
            setPlayerStorageValue(cid, 48913, 0)
        end

    Ahora nos vamos a :

    creaturescritps\scripts

    copiamos cualquier archivo y renombramos por critical.lua y pegamos esto dentro

    Código:
    --[[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

    ahora nos vamos a:

    Data/actions/actions.xml

    Código:
    <action itemid="1294" script="criticalrock.lua"/>

    ahora nos vamos a:

    data/actions\scripts

    copiamos cualquier archivo y renombramos por criticalrock.lua y pegamos esto dentro

    Código:
    --- 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

    Recordando que cada piedra utilizada dará 0,3% más posibilidades .. 10 piedras dar 3% de probabilidad de atacar y cada piedras críticos 100 (nivel máximo STANDARD) dará una probabilidad del 30% para atacar en absoluto crítico.

    como el sistema solo funciona para persona contra persona y si quieren para moustros solo basta añadir esta tag al moustro:

    Código:
    <script>
    <event name="critical"/>
    </script>

    y listo



    Ver perfil de usuario http://www.tibiaface.com

    2default Re: [Sistema] Critical Skill System DODGE el Vie Mayo 04, 2018 2:59 pm

    Deget92

    Deget92
    Miembro
    Miembro
    ¿Y harías eso cuando recibo un diagnóstico crítico, entonces esos números que muestran la cantidad de lesiones fueron más grandes de lo normal?

    20:54 You've Leveled your Critical Skill to [100/100].
    y no hay diferencia cuando golpeo durante media hora ...

    Ver perfil de usuario

    3default Re: [Sistema] Critical Skill System DODGE el Vie Mayo 04, 2018 7:47 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:¿Y harías eso cuando recibo un diagnóstico crítico, entonces esos números que muestran la cantidad de lesiones fueron más grandes de lo normal?

    20:54 You've Leveled your Critical Skill to [100/100].
    y no hay diferencia cuando golpeo durante media hora ...

    esposible el que este muy alto el random

    Código:
    math.random (0,1000)

    esta 1000 y no este llegando a dar el critical

    puede a ver reducirlo a 100 e ir probando



    Ver perfil de usuario http://www.tibiaface.com

    4default Re: [Sistema] Critical Skill System DODGE el Vie Mayo 04, 2018 8:17 pm

    El Script esta bueno pero... le falta una bandera de control.

    Código:
    --[[Critical System
    -------------------------  By Night Wolf]]


    local lvlcrit = 48913
    local multiplier = 1.5
    local bandera = {}

    function onStatsChange(cid, attacker, type, combat, value)
    if bandera[cid] then
    bandera[cid] = nil
    return true
    end
    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))
    bandera[cid] = true
    doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255)
    doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144)
    return false
    end
    end
    return true
    end



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    Ver perfil de usuario

    5default Re: [Sistema] Critical Skill System DODGE el Vie Mayo 04, 2018 9:45 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    The_Pain escribió:El Script esta bueno pero... le falta una bandera de control.

    Código:
    --[[Critical System
    -------------------------  By Night Wolf]]


    local lvlcrit = 48913
    local multiplier = 1.5
    local bandera = {}

    function onStatsChange(cid, attacker, type, combat, value)
    if bandera[cid] then
    bandera[cid] = nil
    return true
    end
    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))
    bandera[cid] = true
    doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255)
    doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144)
    return false
    end
    end
    return true
    end



    Código:
    if bandera[cid] then   
    bandera[cid] = nil
    return true
    end

    en anterior pretegia el attack pero aqui lo estas protegiendo el cid este me imagino es el player el que esta pegando ?



    Ver perfil de usuario http://www.tibiaface.com

    6default Re: [Sistema] Critical Skill System DODGE el Sáb Mayo 05, 2018 1:03 pm

    Deget92

    Deget92
    Miembro
    Miembro
    cómo voy a agregar a la criatura "
    <script>
    <event name="critical"/>
    </script>"

    pero no funciona en otros jugadores:/

    Ver perfil de usuario

    7default Re: [Sistema] Critical Skill System DODGE el Sáb Mayo 05, 2018 1:10 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:cómo voy a agregar a la criatura "
    <script>
    <event name="critical"/>
    </script>"

    pero no funciona en otros jugadores:/

    añadelo arriba de la flag del moustro que quieras



    Ver perfil de usuario http://www.tibiaface.com

    8default Re: [Sistema] Critical Skill System DODGE el Sáb Mayo 05, 2018 1:12 pm

    Deget92

    Deget92
    Miembro
    Miembro
    pero no funciona en otros jugadores,

    en criaturas funciona

    Ver perfil de usuario

    9default Re: [Sistema] Critical Skill System DODGE el Dom Mayo 06, 2018 10:51 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:pero no funciona en otros jugadores,

    en criaturas funciona

    a ver pruebe con este

    Código:
    local lvldodge = 48913
    local percent = 0.5
    local bandera = {}


    function onStatsChange(cid, attacker, type, combat, value)
    if bandera[cid] then
    bandera[cid] = nil
    return true
    end
    if type == STATSCHANGE_HEALTHLOSS and isCreature(attacker) then
    if (getPlayerStorageValue(cid, lvldodge)*3) >= math.random (0,1000) then
    value = math.ceil(value*(percent))
    bandera[cid] = true
    doTargetCombatHealth(attacker, cid, combat, -value, -value, 255)
    doSendAnimatedText(getCreaturePos(cid), "DODGE", 6)
    return false
    end
    end
    return true
    end



    Ver perfil de usuario http://www.tibiaface.com

    10default Re: [Sistema] Critical Skill System DODGE el Lun Mayo 07, 2018 1:40 pm

    Deget92

    Deget92
    Miembro
    Miembro
    todavía no funciona en las personas .. No tengo errores en la consola

    Ver perfil de usuario

    11default Re: [Sistema] Critical Skill System DODGE el Lun Mayo 07, 2018 6:23 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:todavía no funciona en las personas .. No tengo errores en la consola

    prueba

    Código:
    local storagedodge = 48913 -- storage do dodge
    local cor = 35 -- cor do texto
    local effect = 30 -- id do magic effect
    local msg = "DODGE" -- msg
     
    local dodge = {
        {min = 1, max = 2, chance = 10}, -- se o dodge tiver entre 1 e 2 tem 10% de chance de da dodge.
        {min = 3, max = 4, chance = 15}, -- podem ser configurada portanto que não passe do limite
        {min = 5, max = 6, chance = 20}, -- vocês pode adicionar mas se quiserem
        {min = 7, max = 8, chance = 25},
        {min = 9, max = 10, chance = 30},
        {min = 11, max = math.huge, chance = 35}
    }
     
    function onStatsChange(cid, attacker, type, combat, value)
        if not isCreature(cid) then
            return false
        end
        for _, tudo in pairs(dodge) do
            if getPlayerStorageValue(cid, storagedodge) >= tudo.min and getPlayerStorageValue(cid, storagedodge) <= tudo.max then
                local chancex = math.random(1, 100)
                if chancex <= tudo.chance then
                    if combat ~= COMBAT_HEALING then
                        doSendMagicEffect(getCreaturePosition(cid), effect)
                        doSendAnimatedText(getCreaturePosition(cid), msg, cor)
                        return false
                    end
                end
            end
        end
        return true
    end



    Ver perfil de usuario http://www.tibiaface.com

    12default Re: [Sistema] Critical Skill System DODGE el Lun Mayo 07, 2018 10:22 pm

    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    The_Pain escribió:El Script esta bueno pero... le falta una bandera de control.

    Código:
    --[[Critical System
    -------------------------  By Night Wolf]]


    local lvlcrit = 48913
    local multiplier = 1.5
    local bandera = {}

    function onStatsChange(cid, attacker, type, combat, value)
    if bandera[cid] then
    bandera[cid] = nil
    return true
    end
    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))
    bandera[cid] = true
    doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255)
    doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144)
    return false
    end
    end
    return true
    end



    Código:
    if bandera[cid] then   
    bandera[cid] = nil
    return true
    end

    en anterior pretegia el attack pero aqui lo estas protegiendo el cid este me imagino es el player el que esta pegando ?

    En realidad no se necesita una tabla, solo una variable booleana para ello, solo es tabla por lujo. funciona 100% igual sea con attacker o cid, o cualquier numero constante



    Si necesitas hospedaje para tu servidor usa este enlace y mira los buenos planes de Windows y Linux:
    Si tu cuenta de PayPal no esta verificada no importara, igual aceptan pagos con cuentas no verificadas.


    Ver perfil de usuario

    13default Re: [Sistema] Critical Skill System DODGE el Vie Nov 23, 2018 11:04 am

    darksenki

    darksenki
    Nuevo Miembro
    Nuevo Miembro
    me di cuenta de algo que la configuracion de critical esta afectada por el config.lua

    Ver perfil de usuario

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

    Temas Recomendados×+

       

      BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).