• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Lua GlobalEvent Error

Extrodus

|| Blazera.net ||
Joined
Dec 22, 2008
Messages
2,691
Solutions
7
Reaction score
549
Location
Canada
Im now trying to edit the webpage to do the same thing, I converted it from this.

Code:
$i = 0;
foreach($SQL->query('SELECT ' . $SQL->tableName('p') . '.' . $SQL->fieldName('name') . ' AS ' . $SQL->fieldName('name') . ', COUNT(' . $SQL->tableName('p') . '.' . $SQL->fieldName('name') . ') as ' . $SQL->fieldName('frags') . ' FROM ' . $SQL->tableName('killers') . ' k LEFT JOIN ' . $SQL->tableName('player_killers') . ' pk ON ' . $SQL->tableName('k') . '.' . $SQL->fieldName('id') . ' = ' . $SQL->tableName('pk') . '.' . $SQL->fieldName('kill_id') . ' LEFT JOIN ' . $SQL->tableName('players') . ' p ON ' . $SQL->tableName('pk') . '.' . $SQL->fieldName('player_id') . ' = ' . $SQL->tableName('p') . '.' . $SQL->fieldName('id') . ' WHERE ' . $SQL->tableName('k') . '.' . $SQL->fieldName('unjustified') . ' = 1 AND ' . $SQL->tableName('k') . '.' . $SQL->fieldName('final_hit') . ' = 1 GROUP BY ' . $SQL->fieldName('name') . ' ORDER BY ' . $SQL->fieldName('frags') . ' DESC, ' . $SQL->fieldName('name') . ' ASC LIMIT 30;') as $player)
{
   $i++;
   $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '">
     <td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . htmlspecialchars($player['name']) . '</a></td>
     <td style="text-align: center;">' . $player['frags'] . '</td>
   </tr>';

to this ->

Code:
$i = 0;
foreach($SQL->query('SELECT ' . $SQL->tableName('p') . '.' . $SQL->fieldName('name') . ' AS ' . $SQL->fieldName('name') . ', COUNT(' . $SQL->tableName('p') . '.' . $SQL->fieldName('points') . ') as ' . $SQL->fieldName('points') . ' FROM ' . $SQL->tableName('players') . ' GROUP BY ' . $SQL->fieldName('name') . ' ORDER BY ' . $SQL->fieldName('points') . ' DESC, ' . $SQL->fieldName('name') . ' ASC LIMIT 30;') as $player)
{
   $i++;
   $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '">
     <td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . htmlspecialchars($player['name']) . '</a></td>
     <td style="text-align: center;">' . $player['points'] . '</td>
   </tr>';

But now it doesn't display anything on the website for top fraggers, any help is appreciated.
 
Last edited:
Code:
local config = {
    limit = 5
}
function onThink(interval, lastExecution)
    local t, ret, tmp = {}
    tmp = db.getResult("SELECT name, points FROM players WHERE online != 0 ORDER BY points DESC LIMIT ".. config.limit)

    if(tmp:getID() ~= -1) then
        while(true) do
            name = tostring(tmp:getDataString("name"))
            points = tonumber(tmp:getDataInt("points"))
      
            table.insert(t, {name, points})

            if not(tmp:next()) then
                break
            end
        end
        tmp:free()
    end
    ret = "Top " .. #t .. " fraggers online:"

    for i = 1, #t do
        ret = ret .. "\n" .. i .. ". " .. t[i][1] .. " - " .. t[i][2] .. " frags"
    end
    return doBroadcastMessage(ret)
end
should work
 
Last edited:
Im now trying to edit the webpage to do the same thing, I converted it from this.

Code:
$i = 0;
foreach($SQL->query('SELECT ' . $SQL->tableName('p') . '.' . $SQL->fieldName('name') . ' AS ' . $SQL->fieldName('name') . ', COUNT(' . $SQL->tableName('p') . '.' . $SQL->fieldName('name') . ') as ' . $SQL->fieldName('frags') . ' FROM ' . $SQL->tableName('killers') . ' k LEFT JOIN ' . $SQL->tableName('player_killers') . ' pk ON ' . $SQL->tableName('k') . '.' . $SQL->fieldName('id') . ' = ' . $SQL->tableName('pk') . '.' . $SQL->fieldName('kill_id') . ' LEFT JOIN ' . $SQL->tableName('players') . ' p ON ' . $SQL->tableName('pk') . '.' . $SQL->fieldName('player_id') . ' = ' . $SQL->tableName('p') . '.' . $SQL->fieldName('id') . ' WHERE ' . $SQL->tableName('k') . '.' . $SQL->fieldName('unjustified') . ' = 1 AND ' . $SQL->tableName('k') . '.' . $SQL->fieldName('final_hit') . ' = 1 GROUP BY ' . $SQL->fieldName('name') . ' ORDER BY ' . $SQL->fieldName('frags') . ' DESC, ' . $SQL->fieldName('name') . ' ASC LIMIT 30;') as $player)
{
   $i++;
   $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '">
     <td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . htmlspecialchars($player['name']) . '</a></td>
     <td style="text-align: center;">' . $player['frags'] . '</td>
   </tr>';

to this ->

Code:
$i = 0;
foreach($SQL->query('SELECT ' . $SQL->tableName('p') . '.' . $SQL->fieldName('name') . ' AS ' . $SQL->fieldName('name') . ', COUNT(' . $SQL->tableName('p') . '.' . $SQL->fieldName('points') . ') as ' . $SQL->fieldName('points') . ' FROM ' . $SQL->tableName('players') . ' GROUP BY ' . $SQL->fieldName('name') . ' ORDER BY ' . $SQL->fieldName('points') . ' DESC, ' . $SQL->fieldName('name') . ' ASC LIMIT 30;') as $player)
{
   $i++;
   $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '">
     <td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . htmlspecialchars($player['name']) . '</a></td>
     <td style="text-align: center;">' . $player['points'] . '</td>
   </tr>';


But now it doesn't display anything on the website for top fraggers, any help is appreciated.
 
PHP:
$i = 0;
foreach($SQL->query('SELECT name, points FROM players ORDER BY points DESC LIMIT 30;') as $player)
{
   $i++;
   $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '">
     <td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . htmlspecialchars($player['name']) . '</a></td>
     <td style="text-align: center;">' . $player['points'] . '</td>
   </tr>';
 
Back
Top