Ir para conteúdo

Featured Replies

Postado

@yazanki com base no que o WooX disse, e pelo que eu e ele conversamos. Fiz um script que testei aqui e funcionou perfeitamente. Ele verifica se há jogadores online no cast, se tiver ele irá executar a função a cada 1s(configuravel no xml), para atualizar o valor no banco de dados, assim atualizando no site ;) 

 

Em globalevents.xml add:

<globalevent name="castViewers" interval="10000" event="script" value="castViewers.lua"/>

castViewers.lua:

function onThink(interval)
	for _, pid in ipairs(getCastsOnline()) do
	local count = 0
		local cast = getCastViewers(pid)
		for _,v in pairs(cast) do
		count = count + 1
		end
			db.query("UPDATE `players` set `castViewers` = '" .. count .."' where `id` = '".. getPlayerGUID(pid) .."';")
	end
	return true
end

Bem simples xD

Editado por Yan Liima (veja o histórico de edições)

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

  • Respostas 6
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Não precisa alterar a source, da pra fazer em Lua mesmo. Não é um problema exclusivo do cast do summ, o do elf também é necessário script pra atualizar os viewers.

  • @yazanki com base no que o WooX disse, e pelo que eu e ele conversamos. Fiz um script que testei aqui e funcionou perfeitamente. Ele verifica se há jogadores online no cast, se tiver ele irá executar

Postado

@Yan Liima Usei seu código em meu ot mas não atualizou no website, nem com o comando /cast update ele atualiza no site..

 

ERROR

[17:24:06.312] mysql_real_query(): UPDATE `players` set `castViewers` = '0' where `id` = '7'; - MYSQL ERROR: Lost connection to MySQL server during query (2013)
[17:24:06.374] MYSQL Lost connection, attempting to reconnect...

 

 

 

 

 

 

 

segue meu cast.php:

 

<?PHP
$order = $_REQUEST['order'];
if($order == 'name') {
	$orderby = 'name';
}
if($order == 'level') {
	$orderby = 'level';
}
if($order == 'vocation') {
	$orderby = 'vocation';
}
if(empty($orderby)) {
	$orderby = 'name';
}
if(count($config['site']['worlds']) > 1)
{
	$worlds .= '<i>Select world:</i> ';
	foreach($config['site']['worlds'] as $idd => $world_n)
	{
		if($idd == (int) $_GET['world'])
		{
			$world_id = $idd;
			$world_name = $world_n;
		}
	}
}
if($idd == (int) $_GET['world'])
{
	$world_id = $idd;
	$world_name = $world_n;
}
if(!isset($world_id))
{
	$world_id = 0;
	$world_name = $config['server']['serverName'];
}
if(count($config['site']['worlds']) > 1)
{
	$main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD>
		<FORM ACTION="?subtopic=whoisonline" METHOD=get><INPUT TYPE=hidden NAME=subtopic VALUE=whoisonline><INPUT TYPE=hidden NAME=list VALUE=experience>
		<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>World Selection</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['lightborder'].'">
		<TABLE BORDER=0 CELLPADDING=1><TR><TD>World: </TD><TD><SELECT SIZE="1" NAME="world"><OPTION VALUE="" SELECTED>(choose world)</OPTION>';
		foreach($config['site']['worlds'] as $id => $world_n)
		{
			$main_content .= '<OPTION VALUE="'.$id.'">'.$world_n.'</OPTION>';
		}
		$main_content .= '</SELECT> </TD><TD><INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18>
		</TD></TR></TABLE></TABLE></FORM></TABLE><br>';
}
$players_online_data = $SQL->query('SELECT * FROM players WHERE online > 0 AND cast = 1 AND world_id = '.$world_id.' ORDER BY '.$orderby);
$number_of_players_online = 0;
foreach($players_online_data as $player) 
{
	$number_of_players_online++;
	if($config['site']['show_flag'])
	{
		$account = $SQL->query('SELECT * FROM accounts WHERE id = '.$player['account_id'].'')->fetch();
		$flag = '<image src="images/flags/'.$account['flag'].'.png"/> ';
	}
	if(is_int($number_of_players_online / 2)) 
	{
		$bgcolor = $config['site']['darkborder'];
	}
	else
	{
		$bgcolor = $config['site']['lightborder'];
	}
	$players_rows .= '
	<TR BGCOLOR='.$bgcolor.'>
		<TD WIDTH=40%>'.$flag.'<A HREF="index.php?subtopic=characters&name='.urlencode($player['name']).'">'.$player['name'].'</A><br/>'.$player['level'].' '.$vocation_name[$player['world_id']][$player['promotion']][$player['vocation']].'</TD>
		<TD WIDTH=40%>'.($player['castDescription'] == "" ? '-' : $player['castDescription']).'</TD>
		<TD WIDTH=20%>'.$player['castViewers'].'/50</TD>
	</TR>';
}
if($number_of_players_online == 0) 
{
	//server status - server empty
	$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>Currently there are no active casts on '.$config['server']['serverName'].'.</TD></TR></TABLE></TD></TR></TABLE><BR>';
}
else
{
	//server status - someone is online
	$main_content .= '
	<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%>
		<TR BGCOLOR="'.$config['site']['vdarkborder'].'">
			<TD CLASS=white><B>Server Status</B></TD>
		</TR>
		<TR BGCOLOR='.$config['site']['darkborder'].'>
			<TD>';
			$main_content .= 'Currently there are '.$number_of_players_online.' active live casts';
			$main_content .= ' on '.$world_name.' gameworlds.<br>
			</TD>
		</TR>
	</TABLE><BR>';
	//list of players
	$main_content .= '
	<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%>
		<TR BGCOLOR="'.$config['site']['vdarkborder'].'">
			<TD><A HREF="index.php?subtopic=whoisonline&order=name" CLASS=white>Name</A></TD>
			<TD><A HREF="index.php?subtopic=whoisonline&order=level" CLASS=white>Description</A></TD>
			<TD><A HREF="index.php?subtopic=whoisonline&order=vocation" CLASS=white>Viewers</TD>
		</TR>
	'.$players_rows.'</TABLE>';
	//search bar
	//$main_content .= '<BR><FORM ACTION="index.php?subtopic=characters" METHOD=post>  <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
}
	$main_content .= '<BR><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Description</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><h4 style="margin: 0px;">Commands (owner):</h4><i>/cast {on/off}</i> - Create or close your own cast<br/><i>/cast password |password|</i> - Sets a password for the cast<br/><i>/cast desc |description|</i> - Set a description for the cast<br/><i>/cast status</i> - Information about your cast (viewer amount, description, password)<br/><i>/cast viewers</i> - Displays the name of all viewers<br/><i>/cast {ban/unban} "name"</i> - Bans a viewer from joining your cast/Removes the ban<br/><i>/cast {mute/unmute} "name"</i> - Mutes a viewer on your cast/Removes the mute<br/><i>/cast bans</i> - Displays a list of banned viewers<br/><i>/cast mutes</i> - Displays a list of muted viewers<br/><i>/cast update</i> - Updates the description and status on the website<br/><br/><h4 style="margin: 0px;">Commands (viewer):</h4><i>/nick newNick</i> - Changes the viewer\'s name<br><i>/info</i> - Displays a list of all viewers</TD></TR></TABLE>';

?>

 

 

Editado por Rodrigo94 (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo