AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   MOTD Problem: Text being cut-off (https://forums.alliedmods.net/showthread.php?t=76838)

danielkza 08-31-2008 14:50

MOTD Problem: Text being cut-off
 
I'm showing a MOTD, and a part is always being cut-off. I'm sure the HTML is right, because I output the text to a file, and it even validates HTML 4.01 Strict. Is there a limit for the size of the MOTD? Does anybody know how long is this limit?

My Code:
PHP Code:

#define STATUS_MAX_PLAYERS 5
public Status_Command(id,level,cid)
{
    if(!
cmd_access(id,level,cid,1))
        return 
PLUGIN_HANDLED
    
    
new iPlayerStart 1
    
if(read_argc() >= 2)
    {
        new 
szPlayerStart[8]
        
read_argv(1,szPlayerStart,charsmax(szPlayerStart))
        
        if(
is_str_num(szPlayerStart))
            
iPlayerStart str_to_num(szPlayerStart)
    }
    
    static 
szBuffer[4096],szTemp[256]
    new 
iRowCount 0
    
    
// ---------------- HTML Header ----------------------
    
copy(    szBuffer,charsmax(szBuffer),"<!DOCTYPE html PUBLIC ^"-//W3C//DTD HTML 4.01//EN^" ^"http://www.w3.org/TR/html4/strict.dtd^">")    
    
add(    szBuffer,charsmax(szBuffer),"<html>")
    
add(    szBuffer,charsmax(szBuffer),"<head><title>AMXX Player Status</title>")
    
    
add(    szBuffer,charsmax(szBuffer),"<style type=^"text/css^">")
    
// ---------------- CSS Properties -------------------
    
add(    szBuffer,charsmax(szBuffer),"body        {background: black; color:#FFB000;}")
    
add(    szBuffer,charsmax(szBuffer),"table,td,th    {border-collapse:collapse; border-style:solid; border-width:1px; border-color:#FFB000;}")
    
add(    szBuffer,charsmax(szBuffer),"tr.even        {background: #805800;}")
    
// ---------------------------------------------------
    
add(    szBuffer,charsmax(szBuffer),"</style></head>")
    
// ---------------------------------------------------
    
    
    // ----------------- Table Start ---------------------
    
add(    szBuffer,charsmax(szBuffer),"<body><table>")
    
    
// ------------------- Row Start ---------------------
    
format(    szBuffer,charsmax(szBuffer),Status_RowStart,szBuffer,(++iRowCount 2) ? "odd" "even")
    
    for(new 
i=0;sizeof(Status_Elements);i++)
        
format(    szBuffer,charsmax(szBuffer),Status_TableHead,szBuffer,Status_Elements[i])
    
    
add(    szBuffer,charsmax(szBuffer),Status_RowEnd)
    
// -------------------- Row End ----------------------
    
    
new iMaxPlayers get_maxplayers(),iCount
    
new iPing,iLoss,Float:fTemp
    
    
for(new i=iPlayerStart;<= iMaxPlayers;i++)
    {
        if(!
is_user_connected(i))
            continue
        else if(++
iCount STATUS_MAX_PLAYERS)
            break
            
        
format(    szBuffer,charsmax(szBuffer),Status_RowStart,    szBuffer,(++iRowCount 2) ? "odd" "even")
            
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,get_user_userid(i))
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,i)
        
        
get_user_name(i,szTemp,charsmax(szTemp))
        
htmlspecialchars(szTemp,charsmax(szTemp))
        
format(    szBuffer,charsmax(szBuffer),Status_DataString,    szBuffer,szTemp)
        
        
get_user_authid(i,szTemp,charsmax(szTemp))
        
format(    szBuffer,charsmax(szBuffer),Status_DataString,    szBuffer,szTemp)
        
        
get_user_ip(i,szTemp,charsmax(szTemp))
        
format(    szBuffer,charsmax(szBuffer),Status_DataString,    szBuffer,szTemp)
        
        
get_flags(get_user_flags(i),szTemp,charsmax(szTemp))
        
format(    szBuffer,charsmax(szBuffer),Status_DataString,    szBuffer,szTemp)
        
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,pev(i,pev_frags))
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,get_user_deaths(i))
        
        
pev(i,pev_health,fTemp)
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,floatround(fTemp))
        
        
pev(i,pev_armorvalue,fTemp)
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,floatround(fTemp))
        
        
get_user_ping(i,iPing,iLoss)
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,iPing)
        
format(    szBuffer,charsmax(szBuffer),Status_DataInteger,    szBuffer,iLoss)
        
        
get_user_team(i,szTemp,charsmax(szTemp))
        
format(    szBuffer,charsmax(szBuffer),Status_DataString,    szBuffer,szTemp)

        
FormatTime(szTemp,charsmax(szTemp),get_user_time(i))
        
format(    szBuffer,charsmax(szBuffer),Status_DataString,    szBuffer,szTemp)
        
        
add(    szBuffer,charsmax(szBuffer),Status_RowEnd)
    }
    
    
add(    szBuffer,charsmax(szBuffer),"</table></body>")
    
add(    szBuffer,charsmax(szBuffer),"</html>")
    
    new 
hFile fopen("addons\motd.html","w")
    if(
hFile)
    {
        
fputs(hFile,szBuffer)
        
fclose(hFile)
    }
    
    
show_motd(id,szBuffer)
    
    return 
PLUGIN_HANDLED



ConnorMcLeod 08-31-2008 14:53

Re: MOTD Problem: Text being cut-off
 
About 1300 ?
If you use metarefresh there's no limit ;)

danielkza 08-31-2008 15:00

Re: MOTD Problem: Text being cut-off
 
Quote:

Originally Posted by connorr (Post 679190)
About 1300 ?
If you use metarefresh there's no limit ;)

Metarefresh would be?

nvm, but it would need a web server, I guess, which is not what I want.

v3x 09-01-2008 12:41

Re: MOTD Problem: Text being cut-off
 
1,536

AbeXito 09-02-2008 13:18

Re: MOTD Problem: Text being cut-off
 
Try writing to filesystem html files and load them in MOTD. Also you can use iframes.

danielkza 09-02-2008 13:41

Re: MOTD Problem: Text being cut-off
 
Quote:

Originally Posted by AbeXito (Post 680107)
Try writing to filesystem html files and load them in MOTD. Also you can use iframes.

The MOTD I'm trying to show is dynamic, I can't use any other source besides the script itself. My solution is limiting the player per use, so far I had no better idea.


All times are GMT -4. The time now is 03:07.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.