• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    problema con script

    Compartir:

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

    1default problema con script Sáb Sep 25, 2021 2:59 am

    poncex

    poncex
    Miembro
    Miembro
    Descripcion escribió:hola a todos, tengo un problema con las skills de mi script, resulta que en un principio funciona bien las skills, pero a medida que se va subiendo de skills van desfasadas y va subiendo una primero y despues la otra, se puede hacer algo para sincronizarlas y que suban al mismo tiempo?

    PD: la skill de la derecha solo sube cuando sube la de la izquierda, es decir si la skill de la izquierda no sube, la barra no se llena ni tampoco se sube de skill

    [Tienes que estar registrado y conectado para ver este vínculo] aca un ejemplo del error, la skill de la derecha esta en 19, mientras que la de la izquierda en el cuadro está en 20 (necesito que esten a la par si o si, ya que los items se crean con x numero de skill)

    intenté añadir en vocations.xml la habilidad de crafting, al igual que en las sources y también compilé, pero tampoco fue de ayuda.

    espero me puedan ayudar ya que es el unico paso que me falta :c

    Código:
    cSkills = {
     ["Crafting"] = {storage = 40000, maxskill = 100, bonus = 0.0033, minskill = 10, ratetries = 1.12},
     ["Dwarven Smithing"] = {storage = 40001, maxskill = 100, bonus = 0.0025, minskill = 10, ratetries = 1.13},
     ["Dragon Smithing"] = {storage = 40002, maxskill = 100, bonus = 0.0025, minskill = 10, ratetries = 1.14},
     ["Magic Smithing"] = {storage = 40003, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.15},
     ["Advanced Smithing"] = {storage = 40004, maxskill = 100, bonus = 0.0015, minskill = 10, ratetries = 1.16},
     ["Legendary Smithing"] = {storage = 40005, maxskill = 100, bonus = 0.0015, minskill = 10, ratetries = 1.17},
     ["Ultimate Smithing"] = {storage = 40006, maxskill = 100, bonus = 0.001, minskill = 10, ratetries = 1.18},
     ["Demon Smithing"] = {storage = 40007, maxskill = 100, bonus = 0.00075, minskill = 10, ratetries = 1.19},
     ["Umbral Smithing"] = {storage = 40008, maxskill = 100, bonus = 0.0005, minskill = 10, ratetries = 1.2},
     ["Basic Tanning"] = {storage = 40010, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.1},
     ["Basic Smelting"] = {storage = 40011, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.1},
     ["Advanced Smelting"] = {storage = 40012, maxskill = 100, bonus = 0.002, minskill = 10, ratetries = 1.15},
    }
    local storageOffset = 1000
    local skillRate = 10
    function Player.getCSkill(self, skill)
     return self:getStorageValue(cSkills[skill].storage)
    end

    function Player.setCSkill(self, skill, new)
     return self:setStorageValue(cSkills[skill].storage, new)
    end

    function Player.addCSkill(self, skill, count)
     local current = self:getCSkill(skill)
     self:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You advanced to " .. string.lower(skill) .. " level " .. current + count .. ".")
     return self:setCSkill(skill, current + count)
    end

    function Player.getCSkillTries(self, skill)
     return self:getStorageValue(cSkills[skill].storage + storageOffset)
    end

    function Player.getRequiredCTries(self, skill)
     local currentLevel = self:getStorageValue(cSkills[skill].storage)
     local requiredTries = math.floor(50 * math.pow(cSkills[skill].ratetries, currentLevel - 10) / skillRate)
     return requiredTries
    end

    function Player.setCTries(self, skill, value)
     return self:setStorageValue(cSkills[skill].storage + storageOffset, value)
    end

    function Player.addCSkillTries(self, skill, tries)
     local current = self:getCSkillTries(skill)
     if self:getCSkill(skill) >= cSkills[skill].maxskill then
     return false
     end
     self:setStorageValue(cSkills[skill].storage + storageOffset, current + tries)
     while self:getCSkillTries(skill) > self:getRequiredCTries(skill) do
     self:setCTries(skill, self:getCSkillTries(skill) - self:getRequiredCTries(skill))
     self:addSkillTries(SKILL_CRAFTING, 30)
     self:addCSkill(skill, 1)
     end
     return true
    end

    function Player.getCSkillPercent(self, skill)
     return 100 - math.floor((self:getCSkillTries(skill) / self:getRequiredCTries(skill)) * 100)
    end

    ese es el script de las skilles, ahi estan agregadas las 2 skilles tanto del cliente como del sistema que uso

    Captura del Error escribió:Imagen del error: problema con script Empty
    El error radica en: Otro Problema

    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.

     

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