14.01.2017, 10:25
Hi, I have problem of timeban. Servers when I use the command so it does not show anything on chat.
PHP код:
#include <YSI\y_ini>
#include <YSI\y_commands>
#define HODINA(%0) 3600*%0
#define DIALOG_ID 874
public OnPlayerConnect(playerid)
{
new strong[100];
if(fexist(strong))
{
new dovod[75],Admin[25],dokedy,string[128],ip[20];
GetPlayerIp(playerid,ip,20);
new INI:Fi = INI_Open(BanPath(playerid));
INI_WriteString(Fi,"%s",ip);
INI_WriteString(Fi,"%s",dovod);
INI_WriteString(Fi,"%s",Admin);
INI_WriteInt(Fi,"%s",strval(string));
dokedy = strval(string);
INI_WriteInt(Fi,"%s",dokedy);
INI_Close(Fi);
if(gettime() > dokedy)
{
SendClientMessage(playerid,0x0000FFFF,"[ TimeBan ] {FF0000}Ban ti vyprљal, dъfam ћe si sa poučil");
fremove(strong);
}else{
new ban[128];
strcat(ban,"Tvoj eљte stбle nevyprљal !\n");
format(strong, sizeof(strong),"Nick: %s \n", Jmeno(playerid));
strcat(ban,strong);
format(strong, sizeof(strong),"IP: %s \n", ip);
strcat(ban,strong);
format(strong, sizeof(strong), "Dфvod: %s \n", dovod);
strcat(ban,strong);
format(strong, sizeof(strong), "Admin: %s \n", Admin);
strcat(ban,strong);
format(strong, sizeof(strong), "Kedy: %s \n", date(strval(string)));
strcat(ban,strong);
format(strong, sizeof(strong), "Platnosť %s \n", date(dokedy));
strcat(ban,strong);
ShowPlayerDialog(playerid,DIALOG_ID,DIALOG_STYLE_MSGBOX,"{0000FF}TimeBan",ban,"OK","");
Kick(playerid);
}
}
return 1;
}
CMD:timeban(playerid, params[])
{
//if(admin[playerid] == false) return SendClientMessage(playerid,0x0000FFFF,"[Server]: Nie si Administrбtor");
if(GetPlayerState(playerid) == PLAYER_STATE_WASTED) return SendClientMessage(playerid,0x0000FFFF,"[Server]: Nemфћeљ byť vo vэbere postбv !");
new a[3][60],id,hodiny;
if(UnFormat(params,a,' ',3) != 3) return SendClientMessage(playerid,0x0000FFFF,"[Server]: /timeban [id] [hodinky] [dovod]");
id = strval(a[0]);
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0x0000FFFF,"[Server]: Hrбč nenн na servery !");
if(IsPlayerAdmin(id)) return SendClientMessage(playerid,0x0000FFFF,"[Server]: Nemфћeљ zabanovať hlavnйho admina !");
hodiny = strval(a[1]);
new str2[75];
GetPlayerIp(id,str2,75);
new INI:Fi = INI_Open(BanPath(playerid));
INI_WriteString(Fi,"%s\r\n",str2);
INI_WriteString(Fi,"%s\r\n",a[2]);
INI_WriteString(Fi,"%s\r\n",Jmeno(playerid));
INI_WriteInt(Fi,"%d\r\n",gettime());
INI_WriteInt(Fi,"%d\r\n",HODINA(hodiny)+gettime());
INI_Close(Fi);
new strong[128];
format(strong, sizeof(strong),"[ TimeBan ] {FF0000}Admin {FFFFFF}%s{FF0000} dal hrбčovy {FFFFFF}%s {FF0000}ban na %d hodнn Dфvod: %s",Jmeno(playerid),Jmeno(id),hodiny,a[2]);
SendClientMessageToAll(-1,strong);
Kick(id);
return true;
}
stock BanPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"Timeban/%s.txt",playername);
return string;
}
stock Jmeno(playerid)
{
new n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
return n;
}
stock UnFormat(str[],variables[][],cha,m=0)
{
new len = strlen(str),chcount,i,start,varcount;
while(i < len+1)
{
if(i == len && chcount != 0)
{
strmid(variables[varcount],str,start+1,strlen(str),128);
chcount++;
}
if(str[i] == cha)
{
if((m == 0) || (chcount != m-1))
{
strmid(variables[varcount],str,start + ((start == 0) ? 0 : 1),i,128);
start = i;
chcount++;
varcount++;
}
}
i++;
}
return chcount;
}
stock date( timestamp, _form=1 )
{
new year=1970, day=0, month=0, hour=0, mins=0, sec=0;
new days_of_month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
new names_of_month[12][10] = {"Januar","Februar","Marec","April","Maj","Jun","Jul","August","September","Oktober","November","December"};
new returnstring[32];
while(timestamp>31622400)
{
timestamp -= 31536000;
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) timestamp -= 86400;
year++;
}
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) )
days_of_month[1] = 29;
else
days_of_month[1] = 28;
while(timestamp>86400)
{
timestamp -= 86400, day++;
if(day==days_of_month[month]) day=0, month++;
}
while(timestamp>60)
{
timestamp -= 60, mins++;
if( mins == 60) mins=0, hour++;
}
sec=timestamp;
switch( _form )
{
case 1: format(returnstring, 31, "%02d/%02d/%d %02d:%02d:%02d", day+1, month+1, year, hour, mins, sec);
case 2: format(returnstring, 31, "%s %02d, %d, %02d:%02d:%02d", names_of_month[month],day+1,year, hour, mins, sec);
case 3: format(returnstring, 31, "%d %c%c%c %d, %02d:%02d", day+1,names_of_month[month][0],names_of_month[month][1],names_of_month[month][2], year,hour,mins);
default: format(returnstring, 31, "%02d.%02d.%d %02d:%02d:%02d", day+1, month+1, year, hour, mins, sec);
}
return returnstring;
}