Raised This Month: $ Target: $400
 0% 

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


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
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
 



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