Raised This Month: $ Target: $400
 0% 

[Help]About the motd (the size and how to add images)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
mwy5ym
Junior Member
Join Date: Aug 2008
Old 04-11-2009 , 04:02   [Help]About the motd (the size and how to add images)
Reply With Quote #1

I were trying to modify the statsx.sma, I just want to make the "top15" and the "stats" more abundant.

I added three function:
Code:
// HeadShotRate
Float:HSR(izStats[8])
{
 if (!izStats[STATS_KILLS])
  return (0.0)
 
 return (100.0 * float(izStats[STATS_HS]) / float(izStats[STATS_KILLS]))
}
 
// DamagePerShot
Float:DPS(izStats[8])
{
 if (!izStats[STATS_SHOTS])
  return (0.0)
 
 return (float(izStats[STATS_DAMAGE])/float(izStats[STATS_SHOTS]))
}
 
// KillPerDeath
Float:KD(izStats[8])
{
 if (!izStats[STATS_KILLS])
  return (0.0)
 
 return (float(izStats[STATS_KILLS]) / float(izStats[STATS_DEATHS]))
}
And I modified the "top15"
Code:
// Get and format top 15.
format_top15(sBuffer[MAX_BUFFER_LENGTH + 1])
{
 new iMax = get_statsnum()
 new izStats[8], izBody[8]
 new iLen = 0
 if (iMax > 15)
  iMax = 15
 new lKills[16], lDeaths[16], lHits[16], lShots[16], lEff[16], lAcc[16]
 
 format(lKills, 15, "%L", LANG_SERVER, "KILLS")
 format(lDeaths, 15, "%L", LANG_SERVER, "DEATHS")
 format(lHits, 15, "%L", LANG_SERVER, "HITS")
 format(lShots, 15, "%L", LANG_SERVER, "SHOTS")
 format(lEff, 15, "%L", LANG_SERVER, "EFF")
 format(lAcc, 15, "%L", LANG_SERVER, "ACC")
 
 ucfirst(lEff)
 ucfirst(lAcc)
 //iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>")
 //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2s %-22.22s %6s %6s %6s %6s %4s %4s %4s^n", "#", "Nick", lKills, lDeaths, lHits, lShots, "HS", lEff, lAcc)
 ////iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<meta charset=UTF-8 /><style>body{color:#FFB000}.tr0{background-color:#565656}.tr1{background-color:#3D3D3D}td{text-align:center;width:90}</style><body bgcolor=#000000><table>")
 iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<meta charset=UTF-8 /><style>body{color:#FFB000}td{text-align:center;width:90}</style><body bgcolor=#000000><table>")
 iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr><td>Rank<td>NickName<td>Kills<td>Deaths<td>KD<td>HS<td>HSRate<td>Shots<td>Hits<td>Acc</tr>")
 
 for (new i = 0; i < iMax && MAX_BUFFER_LENGTH - iLen > 0; i++)
 {
  get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH)
  replace_all(t_sName, MAX_NAME_LENGTH, "<", "[")
  replace_all(t_sName, MAX_NAME_LENGTH, ">", "]")
  //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS], 
      //izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats))
  ////iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr class=tr%d><td>%d<td>%s<td>%d<td>%d<td>%.2f<td>%d<td>%.2f%%<td>%d<td>%d<td>%.2f%%</tr>", i%2, i+1, t_sName, izStats[STATS_KILLS],
  iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr><td>%d<td>%s<td>%d<td>%d<td>%.2f<td>%d<td>%.2f%%<td>%d<td>%d<td>%.2f%%</tr>", i+1, t_sName, izStats[STATS_KILLS],
      izStats[STATS_DEATHS], KD(izStats), izStats[STATS_HS], HSR(izStats), izStats[STATS_SHOTS], izStats[STATS_HITS], accuracy(izStats))
 }
 //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "</table></body>")
}
And the "stats"
Code:
// Get and format stats.
format_stats(id, sBuffer[MAX_BUFFER_LENGTH + 1])
{
 new izStats[8] = {0, ...}
 new izBody[8]
 new iWeapon, iRankPos, iLen, cWeapon
 new lKills[16], lDeaths[16], lHits[16], lShots[16], lDamage[16], lEff[16], lAcc[16], lWeapon[16]
 
 format(lKills, 15, "%L", id, "KILLS")
 format(lDeaths, 15, "%L", id, "DEATHS")
 format(lHits, 15, "%L", id, "HITS")
 format(lShots, 15, "%L", id, "SHOTS")
 format(lDamage, 15, "%L", id, "DAMAGE")
 format(lEff, 15, "%L", id, "EFF")
 format(lAcc, 15, "%L", id, "ACC")
 format(lWeapon, 15, "%L", id, "WEAPON")
 
 ucfirst(lEff)
 ucfirst(lAcc)
 
 get_user_wstats(id, 0, izStats, izBody)
 
 iRankPos = get_user_stats(id, izStats, izBody)
 //iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>")
 //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%6s: %d  (%d with hs)^n%6s: %d^n%6s: %d^n%6s: %d^n%6s: %d^n%6s: %0.2f%%^n%6s: %0.2f%%^n^n", 
     //lKills, izStats[STATS_KILLS], izStats[STATS_HS], lDeaths, izStats[STATS_DEATHS], lHits, izStats[STATS_HITS], lShots, izStats[STATS_SHOTS], 
     //lDamage, izStats[STATS_DAMAGE], lEff, effec(izStats), lAcc, accuracy(izStats))
 //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%-12.12s  %6s  %6s  %6s  %6s  %6s  %4s^n", lWeapon, lKills, lDeaths, lHits, lShots, lDamage, lAcc)
 iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<meta charset=UTF-8 /><style>body{color:#FFB000}.trh{background-color:#161411;color:#FFFFFF}.tr0{background-color:#211F1B;color:#C5B89E}.tr1{background-color:#33312A;color:#C5B89E}td{text-align:center;width:80}</style><body bgcolor=#000000><table>")
 iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr><td>Rank<td>NickName<td>Kills<td>Deaths<td>KD<td>HS<td>HSRate<td>Shots<td>Hits<td>Acc</tr>")
 iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr><td>%d<td>%d<td>%d<td>%.2f<td>%d<td>%.2f%%<td>%d<td>%d<td>%.2f%%</tr>",
     iRankPos, izStats[STATS_KILLS], izStats[STATS_DEATHS], KD(izStats), izStats[STATS_HS], HSR(izStats), izStats[STATS_SHOTS], izStats[STATS_HITS], accuracy(izStats))
 iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "</table><table>")
 iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr class=trh><td>WeaponPic<td>Kills<td>Deaths<td>KD<td>HS<td>HSRate<td>Shots<td>Hits<td>Acc<td>TotalDamage<td>AverageDamage</tr>")
 
 for (iWeapon = 1, cWeapon = 1; iWeapon < xmod_get_maxweapons() && MAX_BUFFER_LENGTH - iLen > 0 ; iWeapon++)
 {
  if (get_user_wstats(id, iWeapon, izStats, izBody))
  {
   cWeapon += 1
   xmod_get_wpnname(iWeapon, t_sWpn, MAX_WEAPON_LENGTH)
   //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%-12.12s  %6d  %6d  %6d  %6d  %6d  %3.0f%%^n", t_sWpn, izStats[STATS_KILLS], izStats[STATS_DEATHS], 
       //izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_DAMAGE], accuracy(izStats))
   iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "<tr class=tr%d><td><img src=./images/guns/%s.gif><td>%d<td>%d<td>%.2f<td>%d<td>%.2f%%<td>%d<td>%d<td>%.2f%%<td>%d<td>%.2f</tr>",
       cWeapon%2, t_sWpn, izStats[STATS_KILLS], izStats[STATS_DEATHS], KD(izStats), izStats[STATS_HS], HSR(izStats), izStats[STATS_SHOTS], izStats[STATS_HITS], accuracy(izStats), izStats[STATS_DAMAGE], DPS(izStats))
  }
 }
 //iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "</table></body>")
}
My problems:
1. The "top15" and "stats" are only partly loaded.I thinke the motd size is fixed.I had tried to change the code:
"#define MAX_BUFFER_LENGTH 2047" to
"#define MAX_BUFFER_LENGTH 4095"
but it did not work.
Is there any method to solve this.
2.I added some pic in the "stats", I want that each player in my server can
download the pics when he entered.(the files: cstrike/images/guns/*.gif)

Last edited by mwy5ym; 04-11-2009 at 05:08.
mwy5ym is offline
Hunter-Digital
Veteran Member
Join Date: Aug 2006
Location: In the Game [ro]
Old 04-11-2009 , 14:16   Re: [Help]About the motd (the size and how to add images)
Reply With Quote #2

2. use a webserver and in the images src use the server's address or IP, don't download them manually.. they are already are beeing downloaded in the browser's cache.
__________________
Hunter-Digital is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:15.


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