Hey,
I've been trying to get this script to run with -
https://otland.net/threads/10-95-cast-tfs-1-2-custom-modifications- this cast system.
I can get the query to return that someone is actually castinng,
but i am unable to get the character names to display in the field.
something is not correct in this part of the code but i cannot figure it out myself,
another solution would be to put this query
into this function
but i have no idea how to accomplish this either.
Anyone here able to help me a hand? much appreciated!
Edit: my account is 9 years old but i am still a newbie.
I've been trying to get this script to run with -
https://otland.net/threads/10-95-cast-tfs-1-2-custom-modifications- this cast system.
PHP:
<img id="ContentBoxHeadline" class="Title" src="layouts/tibiacom/images/header/cast.png" alt="Contentbox headline">
<?php
if(!defined('INITIALIZED'))
exit;
$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 player_id FROM live_casts');
$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 players WHERE id = '.$player['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=20%><font color="#008000">ONLINE</font></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=vocation" CLASS=white>Status</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}</TD></TR></TABLE>';
I can get the query to return that someone is actually castinng,
but i am unable to get the character names to display in the field.
something is not correct in this part of the code but i cannot figure it out myself,
PHP:
$players_online_data = $SQL->query('SELECT player_id FROM live_casts');
$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 players WHERE id = '.$player['id'].'')->fetch();
$flag = '<image src="images/flags/'.$account['flag'].'.png"/> ';
another solution would be to put this query
Lua:
db.query("UPDATE `players` SET `cast` = 1 WHERE `id` = " .. getPlayerGUID(cid) .. ";")
Code:
function onSay(player, words, param)
if player:startLiveCast(param) then
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have started casting your gameplay.")
else
player:sendCancelMessage("You're already casting your gameplay.")
end
return false
end
but i have no idea how to accomplish this either.
Anyone here able to help me a hand? much appreciated!
Edit: my account is 9 years old but i am still a newbie.
Last edited: