Menú principal

Noticias:

Proximamente Se completara el foro

[FIX] Ranking Resets no genera cache – WebEngine 1.2.4 / 1.2.5

Publicado por Configservermu.net, Abr 24, 2026, 09:09 PM

Tema anterior - Siguiente tema

Configservermu.net

📌 Problema:
El ranking de resets no generaba cache o no mostraba resultados correctamente.

📌 Causa:
Uso de INNER JOIN con MasterSkillTree → elimina personajes sin MasterLevel.

📌 Solución:
Usar LEFT JOIN + ISNULL para evitar perder datos.

🔧 ARCHIVO A EDITAR
/includes/classes/class.rankings.php


🧠 FUNCIÓN CORREGIDA

Reemplazar completamente:

private function _getResetRankingData($combineMasterLevel=false)




Citarprivate function _getResetRankingData($combineMasterLevel=false) {
   $this->mu = Connection::Database('MuOnline');

   // RESET + LEVEL normal
   if(!$combineMasterLevel) {
      $result = $this->mu->query_fetch("
         SELECT TOP ".$this->_results."
            "._CLMN_CHR_NAME_.",
            "._CLMN_CHR_CLASS_.",
            "._CLMN_CHR_RSTS_.",
            "._CLMN_CHR_LVL_.",
            "._CLMN_CHR_MAP_."
         FROM "._TBL_CHR_."
         WHERE "._CLMN_CHR_NAME_." NOT IN(".$this->_rankingsExcludeChars().")
         AND "._CLMN_CHR_RSTS_." > 0
         ORDER BY "._CLMN_CHR_RSTS_." DESC, "._CLMN_CHR_LVL_." DESC
      ");

      if(!is_array($result)) return;
      return $result;
   }

   // RESET + LEVEL + MASTER LEVEL EN MISMA TABLA
   if(_TBL_CHR_ == _TBL_MASTERLVL_) {
      $result = $this->mu->query_fetch("
         SELECT TOP ".$this->_results."
            "._CLMN_CHR_NAME_.",
            "._CLMN_CHR_CLASS_.",
            "._CLMN_CHR_RSTS_.",
            ("._CLMN_CHR_LVL_." + ISNULL("._CLMN_ML_LVL_.", 0)) AS "._CLMN_CHR_LVL_.",
            "._CLMN_CHR_MAP_."
         FROM "._TBL_CHR_."
         WHERE "._CLMN_CHR_NAME_." NOT IN(".$this->_rankingsExcludeChars().")
         AND "._CLMN_CHR_RSTS_." > 0
         ORDER BY "._CLMN_CHR_RSTS_." DESC, "._CLMN_CHR_LVL_." DESC
      ");

      if(!is_array($result)) return;
      return $result;
   }

   // RESET + LEVEL + MASTER LEVEL EN TABLA SEPARADA
   $result = $this->mu->query_fetch("
      SELECT TOP ".$this->_results."
         c."._CLMN_CHR_NAME_.",
         c."._CLMN_CHR_CLASS_.",
         c."._CLMN_CHR_RSTS_.",
         (c."._CLMN_CHR_LVL_." + ISNULL(ml."._CLMN_ML_LVL_.", 0)) AS "._CLMN_CHR_LVL_.",
         c."._CLMN_CHR_MAP_."
      FROM "._TBL_CHR_." AS c
      LEFT JOIN "._TBL_MASTERLVL_." AS ml
         ON c."._CLMN_CHR_NAME_." = ml."._CLMN_ML_NAME_."
      WHERE c."._CLMN_CHR_NAME_." NOT IN(".$this->_rankingsExcludeChars().")
      AND c."._CLMN_CHR_RSTS_." > 0
      ORDER BY c."._CLMN_CHR_RSTS_." DESC, "._CLMN_CHR_LVL_." DESC
   ");

   if(!is_array($result)) return;
   return $result;
}



Si estas usando Webengine 1.2.4 o .1.2.5 oficial y queres hacer esos pasos te dejo el .php con los rankings x defecto


Descargar Aqui