AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   need small modification (https://forums.alliedmods.net/showthread.php?t=174871)

avril-lavigne 12-26-2011 18:57

need small modification
 
I found this useful code by Hawk
PHP Code:

#include <amxmodx>
 #include <amxmisc>
 
 #define BGCOLOR "#0066CC"
 
 
new motd[5000];
 new 
motd_read_file[] = "motd_dynamic.txt";
 new 
motd_file[] = "motd.txt";
 new 
visit_vault[] = "dynamic_motd_vault.ini";
 new 
datadir[128];
 new 
total_time;
 new 
visits;
 
 public 
plugin_init()
 {
     
register_plugin("Dynamic MOTD","1.1","Hawk552");
     
     
Load_File();
     
Read_File();
     
Process_File();
     
Write_MOTD();
 }
 
 public 
client_connect(id)
 {
     if(
is_user_bot(id))
     {
         return;
     }
     
     
visits++;
     
Write_File();
     
Write_MOTD();
     
     return;
 }
 
 public 
Load_File()
 {    
     
get_datadir(datadir,127);
     
format(datadir,127,"%s/%s",datadir,visit_vault);
     
     if(!
file_exists(datadir))
     {
         
Write_File();
     }
     
     new 
line[10],len;
     
read_file(datadir,0,line,9,len);
     
     
visits str_to_num(line);
     
     
read_file(datadir,1,line,9,len);
     
     
total_time str_to_num(line);
     
     return;
 }
 
 public 
Write_File()
 {
     new 
str[10];
     
format(str,9,"%i",visits);
     
     new 
str2[10];
     
format(str,9,"%i",total_time);
     
     
write_file(datadir,str,0);
     
write_file(datadir,str2,1);
     
//
     
     
return;
 }
 
 public 
Read_File()
 {
     if(!
file_exists(motd_read_file))
     {
         new 
str[300];
         
format(str,299,"<html>^n<body bgcolor=^"%s^">^n<b>Welcome! Visitors to date: <visits><br>Server uptime: <uptime><br>Gravity: <gravity></b>^n</body>^n</html>",BGCOLOR);
         
write_file(motd_read_file,str,-1);
     }
     
     new 
i,len,motdlen;
     while(
read_file(motd_read_file,i,motd[motdlen],4999,len))
     {
         
motdlen += len;
         
i++;
     }
 }
 
 public 
Process_File()
 {    
     new 
visits_str[9];
     
format(visits_str,8,"%i",visits);
     
     new 
Float:fuptime get_gametime(), iuptime floatround(fuptime), uptime[20], gravity get_cvar_num("sv_gravity"),gravitystr[20];
     
get_time_length(iuptime,0,uptime,19);
     
format(gravitystr,19,"%d",gravity);
     
     while(
containi(motd,"<visits>") != -1)
     {
         
replace(motd,4999,"<visits>",visits_str);
     }
     
     while(
containi(motd,"<uptime>") != -1)
     {
         
replace(motd,4999,"<uptime>",uptime);
     }
     
     while(
containi(motd,"<gravity>") != -1)
     {
         
replace(motd,4999,"<uptime>",gravitystr);
     }
 }
 
 public 
Write_MOTD()
 {
     if(
file_exists(motd_file) && !delete_file(motd_file))
     {
         
log_amx("Unable to modify motd.txt. Please check for write protection.");
         return;
     }
     
     
write_file(motd_file,motd,-1);
 }
 
 
// **********************************************
 // Thanks to Brad for everything below here
 // **********************************************
 
 #define TIMEUNIT_SECONDS 0
 #define TIMEUNIT_MINUTES 1
 #define TIMEUNIT_HOURS   2
 #define TIMEUNIT_DAYS    3
 #define TIMEUNIT_WEEKS   4
 
 // define how many seconds are in each time unit
 #define SECONDS_IN_MINUTE 60
 #define SECONDS_IN_HOUR   3600
 #define SECONDS_IN_DAY    86400
 #define SECONDS_IN_WEEK   604800
 
 
stock get_time_length(iTimeUnitsiUnitTypecOutput[], iOutputLen)
 {
     
// iUnits:     The number of time units you want translated into verbose text.
     // iUnitType:  The type of unit (i.e. seconds, minutes, hours, days, weeks) that you are passing in.  See the defines for TIMEUNIT_.
     // cOutput:    The variable you want the verbose text to be placed in.
     // iOutputLen: The length of the cOutput variable.
 
     
if (iTimeUnits 0)
     {
         
// determine the number of each time unit there are
         
new iWeekCnt 0iDayCnt 0iHourCnt 0iMinuteCnt 0iSecondCnt 0;
     
         switch (
iUnitType)
         {
             case 
TIMEUNIT_SECONDSiSecondCnt iTimeUnits;
             case 
TIMEUNIT_MINUTESiSecondCnt iTimeUnits SECONDS_IN_MINUTE;
             case 
TIMEUNIT_HOURS:   iSecondCnt iTimeUnits SECONDS_IN_HOUR;
             case 
TIMEUNIT_DAYS:    iSecondCnt iTimeUnits SECONDS_IN_DAY;
             case 
TIMEUNIT_WEEKS:   iSecondCnt iTimeUnits SECONDS_IN_WEEK;
         }
     
         
iWeekCnt iSecondCnt SECONDS_IN_WEEK;
         
iSecondCnt -= (iWeekCnt SECONDS_IN_WEEK);
     
         
iDayCnt iSecondCnt SECONDS_IN_DAY;
         
iSecondCnt -= (iDayCnt SECONDS_IN_DAY);
     
         
iHourCnt iSecondCnt SECONDS_IN_HOUR;
         
iSecondCnt -= (iHourCnt SECONDS_IN_HOUR);
     
         
iMinuteCnt iSecondCnt SECONDS_IN_MINUTE;
         
iSecondCnt -= (iMinuteCnt SECONDS_IN_MINUTE);
     
         
// translate the unit counts into verbose text
         
new iMaxElementIdx = -1;
         new 
acElement[5][33];
     
         if (
iWeekCnt 0)
             
format(acElement[++iMaxElementIdx], 32"%d w"iWeekCnt);
         if (
iDayCnt 0)
             
format(acElement[++iMaxElementIdx], 32"%d s"iDayCnt);
         if (
iHourCnt 0)
             
format(acElement[++iMaxElementIdx], 32"%d h"iHourCnt);
         if (
iMinuteCnt 0)
             
format(acElement[++iMaxElementIdx], 32"%d m"iMinuteCnt);
         if (
iSecondCnt 0)
             
format(acElement[++iMaxElementIdx], 32"%d s"iSecondCnt);
     
         switch(
iMaxElementIdx)
         {
             case 
0format(cOutputiOutputLen"%s"acElement[0]);
             case 
1format(cOutputiOutputLen"%s, %s"acElement[0], acElement[1]);
             case 
2format(cOutputiOutputLen"%s, %s, %s"acElement[0], acElement[1], acElement[2]);
             case 
3format(cOutputiOutputLen"%s, %s, %s, %s"acElement[0], acElement[1], acElement[2], acElement[3]);
             case 
4format(cOutputiOutputLen"%s, %s, %s, %s, %s"acElement[0], acElement[1], acElement[2], acElement[3], acElement[4]);
         }
     }
 } 

what I need ./ just count connects and make if(connects > 1000 )
do something


I dont have full files like .ini // my server hangs whan I try to enable this plugin.
Please remove gravity , time ,and show motd from this plugin.
need only connect counter inside of .sma
thanks


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

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