Ir para conteúdo
Entre para seguir isso  
butynhuuw

[GESIOR] Mostrar donos de casas inativos

Recommended Posts

butynhuuw    0
butynhuuw

créditos: klekSu (otland);

Testado no Gesior 0.3.6 e 0.3.8, mas provavelmente funciona em versões menos recentes por ser um script com funções muito comuns às funções básicas do Gesior Aac.

 

 

Este é um script que mostra casas cujos donos não logam há 4 semanas (configurável).

 

Em config.php adicione:

//Cleanhouses
$level = 1000; //casas de players com o level acima deste não serão mostradas
$days = 28; //quantos dias [i]offline[/i] o player está para sua casa poder ser mostrada
$weeks = $days/7; //days/7 = weeks
$towns = array('No Town', 'Town 1', 'Town 2', 'Town 3');

 

Crie um arquivo chamado cleanhouses.php:

<?PHP
////////////////////////////////////////////////////////////////////////////////
//Houses that owners didn't login for x days should be cleaned by a Gamemaster//
///////////////////////////////////by klekSu////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////config/////////////////////////////////////
$level = 1000; //house of owners above this level won't be shown
$days = 28; //how many days player must be offline to show his house
$weeks = $days/7; //days/7 = weeks
$towns = array('No Town', 'Town 1', 'Town 2', 'Town 3');
//////////////////////////////////end of config/////////////////////////////////

//////////////////////////////////////query/////////////////////////////////////
$qe = $SQL->query('SELECT `players`.`account_id`,`players`.`id`,`players`.`name` as `name`,`players`.`level` as `level`, `players`.`lastlogin` AS `lastlogin`, `houses`.`owner`,`houses`.`id` AS `hid`, `houses`.`name` AS `hname`, `houses`.`town` AS `htown`, `accounts`.`id` FROM `players`,`houses`,`accounts` WHERE `accounts`.`id` = `players`.`account_id` AND `houses`.`owner` = `players`.`id` AND `players`.`level` < '.(int) $level.' AND `players`.`lastlogin` < UNIX_TIMESTAMP() - '.(int) $days.'*24*60*60 ORDER BY `htown` ASC, `lastlogin`;');
//////////////////////////////////end of query//////////////////////////////////

$main_content .= '
<H2>
   <CENTER>
       House owners on '.$config['site']['worlds'][(int) $_GET['world']].' which have not logged in for '.(int) $weeks.' weeks +
   </CENTER>
</H2>';

$main_content .= '
<CENTER>
<TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%>
   <TR bgcolor="'.$config['site']['vdarkborder'].'">
       <TD><FONT COLOR="white"><B>Character Name</B></FONT></TD>
       <TD ALIGN="center"><FONT COLOR="white"><B>Last Login</B></FONT></TD>
       <TD ALIGN="center"><FONT COLOR="white"><B>House</B></FONT></TD>
       <TD ALIGN="right"><FONT COLOR="white"><B>Town</B></FONT></TD>
';

foreach( $qe as $k )
{
   if(is_int($number_of_rows / 2))
   {
       $bgcolor = $config['site']['darkborder'];
   }
   else
   {
       $bgcolor = $config['site']['lightborder'];
   }
   $number_of_rows++;

$main_content .= '
   <TR BGCOLOR="'.$bgcolor.'">
       <TD><A HREF="?subtopic=characters&name='.$k['name'].'">'.$k['name'].'</A> (Level: '.$k['level'].')</TD>
       <TD ALIGN="center">'.date("j F Y", $k['lastlogin']).'</TD>';
   if(!empty($k['hname']))
   {
       $main_content .= '
       <TD ALIGN="center">'.$k['hname'].'</TD>
       ';
   }
   else
   {
       $main_content .= '
       <TD ALIGN="center">No Name</TD>
       ';
   }
       $main_content .= '
       <TD ALIGN="right">'.$towns[$k['htown']].'</TD>
   </TR>';
}

$main_content .= '
</TABLE>
</CENTER>
';

?>

 

Em index.php adicione:

case "cleanhouses";
       $topic = "Clean Houses";
       $subtopic = "cleanhouses";
       include("cleanhouses.php");
   break;

 

Em layout.php adicione:

<a href='?subtopic=cleanhouses'>
 <div id='submenu_cleanhouses' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'>
   <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>
   <div id='ActiveSubmenuItemIcon_cleanhouses' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div>
   <div class='SubmenuitemLabel'><font color="ocean">Clean Houses</font></div>
   <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>

 </div>
</a>

 

[spoiler=Screenshot]

housesd.png

 

 

Editado por butynhuuw

Compartilhar este post


Link para o post
Eratsu    37
Eratsu

Obrigado pela contribuição.

Aprovado e movido!

Compartilhar este post


Link para o post
Falling    0
Falling

Mais tipo, qual é a função definitiva? ele só mostra? q.q

Compartilhar este post


Link para o post
butynhuuw    0
butynhuuw

sim só mostra :) você fica sabendo quem não loga há um bom tempo e pode tirar a casa desse jogador pra jogadores novos poderem adquirí-la...

Compartilhar este post


Link para o post
Japazinho    0
Japazinho

Adorei esse script..

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×