Olá, eu vejo sempre muitos administradores pagando para pessoas adicionarem alguns rankings especiais em seu MuSite, então eu resolvi aprender mais sobre os modules do musite e com a ajuda do Renatiinn eu consegui desenvolver um e estarei postando aqui para vocês!
O sistema de ranking tem os seguintes rankings:
Ranking Total:
Resets Total
Master Reset Total
Pk Total
Herói Total
Guild
Sei que não são muitos mais isso já irá ajudar muito administrador! e também o código e aberto assim sendo fácil de ser editado e qualquer um podendo adicionar mais rankings apenas sabendo "mexer" um pouco.
Algumas especificações para que o sistema funcione 100%
Adicione em sua settings abaixo de define('COLUMN_PK_RANKING','PkCountWeb'); //Coluna onde ficam armazenados a contagem de PK na character (Não coloque: PkCount), estes script:
define('COLUMN_HERO_RANKING','RankingHeroi'); //Coluna onde ficam armazenados a contagem de Hero na character
define('COLUMN_HORAS_RANKING','OnlineHours'); //Coluna onde ficam armazenados a contagem de Horas na character
// Aqui são os Rankings Diarios
define('COLUMN_RESETSD','ResetsDay'); //Coluna onde ficam armazenados os Resets semanais na character
define('COLUMN_MRESETSD','mrdiario'); //Coluna onde ficam armazenados os Resets mensais na character
define('COLUMN_PKD','pkdiario'); //Coluna onde ficam armazenados a contagem de PK na character (Não coloque: PkCount)
define('COLUMN_HEROD','RankingHeroi_diario'); //Coluna onde ficam armazenados a contagem de Hero na character
define('COLUMN_HORASD','horasdiario'); //Coluna onde ficam armazenados a contagem de Horas na character
// Aqui são os Rankings Semanais
define('COLUMN_RESETSS','resetsWeek'); //Coluna onde ficam armazenados os Resets semanais na character
define('COLUMN_MRESETSS','mrsemanal'); //Coluna onde ficam armazenados os Resets mensais na character
define('COLUMN_PKS','pksemanal'); //Coluna onde ficam armazenados a contagem de PK na character (Não coloque: PkCount)
define('COLUMN_HEROS','RankingHeroi_Semanal'); //Coluna onde ficam armazenados a contagem de Hero na character
define('COLUMN_HORASS','horassemanal'); //Coluna onde ficam armazenados a contagem de Horas na character
// Aqui são os Rankings Mensais
define('COLUMN_RESETSM','resetsMonth'); //Coluna onde ficam armazenados os Resets semanais na character
define('COLUMN_MRESETSM','MrMensal'); //Coluna onde ficam armazenados os Resets mensais na character
define('COLUMN_PKM','pkmensal'); //Coluna onde ficam armazenados a contagem de PK na character (Não coloque: PkCount)
define('COLUMN_HEROM','Heromensal'); //Coluna onde ficam armazenados a contagem de Hero na character
define('COLUMN_HORASM','HorasMensal'); //Coluna onde ficam armazenados a contagem de Horas na character
também na settings procure por "screenshots" e adicione "rankings", irá ficar assim:
Pronto feito isso basta enviar os arquivos que se encontra no download para seu website e configurar as especificações conforme desejar, todas as tables estão principais do meu servidor então será preciso vocês alterarem.
Obs: o arquivo rankings.tpl está adaptado para Sunonline, então se seu website for outro basta adapta-ló.
NÂO ME RESPONSABILIZO POR INSTALAÇÃO INCORRETA BASTA COLOCAR TUDO EM SEU DEVIDO LUGAR QUE IRÁ FUNCIONAR 100% TANTO QUE JÁ ESTA EM USO EM MEU SERVIDOR.
Creditos: EU
& Renatiinn por sempre está me ajudando e me ajudou a aprender mais sobre os modules para Musite!
21-01-2014, 07:24 PM
Mr.Junior
Excelente post Andrews é muito legal ver você, ajudando a galera :D !
Reputado ahah.
21-01-2014, 09:35 PM
Renato
Andrews, no switch da classe __construct, tu colocou um punhado de
default: $return = $ldTpl->set('ResultRankings','O tipo de ranking especificado é inválido!');
break;
Não é necessário, só precisa de um. Vou analisar os scripts e avisar se tiver outros erros e posto aqui.
-------------------------------------------------
Edit: Outro detalhe, você repetiu várias vezes o switch que retorna a "classe". Também não é necessário. Como você está trabalhando com PHPOO, poderia fazer uma função que lhe retornasse esses dados.
exemplo:
Código PHP:
private function getClassName($code) { if(isset($code) and !empty($code)) { switch($code) { case '0' : return $CLASS_CHARACTERS['CLASSCODES']['DW'][1]; break; case '1' : return $CLASS_CHARACTERS['CLASSCODES']['SM'][1]; break; case '2' : return $CLASS_CHARACTERS['CLASSCODES']['GM'][1]; break; case '3' : return $CLASS_CHARACTERS['CLASSCODES']['GM'][1]; break; case '16' : return $CLASS_CHARACTERS['CLASSCODES']['DK'][1]; break; case '17' : return $CLASS_CHARACTERS['CLASSCODES']['BK'][1]; break; case '18' : return $CLASS_CHARACTERS['CLASSCODES']['BM'][1]; break; case '19' : return $CLASS_CHARACTERS['CLASSCODES']['BM'][1]; break; case '32' : return $CLASS_CHARACTERS['CLASSCODES']['FE'][1]; break; case '33' : return $CLASS_CHARACTERS['CLASSCODES']['ME'][1]; break; case '34' : return $CLASS_CHARACTERS['CLASSCODES']['HE'][1]; break; case '35' : return $CLASS_CHARACTERS['CLASSCODES']['HE'][1]; break; case '48' : return $CLASS_CHARACTERS['CLASSCODES']['MG'][1]; break; case '49' : return $CLASS_CHARACTERS['CLASSCODES']['DMM'][1]; break; case '50' : return $CLASS_CHARACTERS['CLASSCODES']['DMM'][1]; break; case '64' : return $CLASS_CHARACTERS['CLASSCODES']['DL'][1]; break; case '65' : return $CLASS_CHARACTERS['CLASSCODES']['LE'][1]; break; case '66' : return $CLASS_CHARACTERS['CLASSCODES']['LE'][1]; break; case '80' : return $CLASS_CHARACTERS['CLASSCODES']['SU'][1]; break; case '81' : return $CLASS_CHARACTERS['CLASSCODES']['BS'][1]; break; case '82' : return $CLASS_CHARACTERS['CLASSCODES']['DMS'][1]; break; case '83' : return $CLASS_CHARACTERS['CLASSCODES']['DMS'][1]; break; case '96' : return $CLASS_CHARACTERS['CLASSCODES']['RF'][1]; break; case '98' : return $CLASS_CHARACTERS['CLASSCODES']['FM'][1]; break; default : return $CLASS_CHARACTERS['CLASSCODES']['DW'][1]; break; } } else { return $CLASS_CHARACTERS['CLASSCODES']['DW'][1]; } }
ai vc pode eliminar o switch($f->charClass) e fazer colocar direto assim na "saida":
Todos os erros já foram informados e eu aprendi um novo método para fazer o ranking breve estarei postando!
Edit:
Update lançado! favor enviar os 2 arquivos novamente para a hospedagem pois foi mudado o rankings.tpl e rankings.module
21-01-2014, 09:49 PM
Renato
Outra coisa, não é necessário fazer uma função pra cada ranking...Se você olhar bem, vc percebe que o que muda de uma função pra outra é basicamente a query. Assim sendo, passe o parâmetro de "type" pra função getRanking e faça as querys de acordo com o type, use desvios condicionais pra isso (tanto pode usar if quanto outro switch pra definir qual query será usada) ;)
21-01-2014, 09:54 PM
FlavioBarreto
Nuss so tem nerd aki rs obrigado pelo topico irá ajuda muito pra quem realmente precisa.
21-01-2014, 10:02 PM
Ayrton Ricardo
Cara, minha dica é simples.
Tu não fechou nenhuma div destas: "<div align='center'>"
seria uma boa fechar...
A dica que eu iria dar é a do método para a classe, mas o renattinn já postou ai, então ;3
18-04-2014, 02:05 AM
eltonraisi
Eim, só que não aparece na listagem de rankings essa montoeira de ranking...