Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
MayroN » 01 май 2020, 04:21
Пишу Вам по просьбе одного человека...
Уже довольно давно делаю плагин показа инфы сервера. Но дату и время надо клиентские зависимо от временного пояса и летнего времени (DST). Но если с переходом на летнее время я разберусь, то с поясами - беда.
Нарыл на Оленях один инклуд, и переделал его под нужды. Без квара в нижеуказанной строке кода время считается правильно (для примера взял наш киевский пояс):
- Код: Выделить всё
UnixToTime(iTime,iYear,iMon,iDay,iHour,iMin,iSec,UT_TIMEZONE_PLUS_0200,iDST)
Но как из инклуда правильно передавать enum-значения в плагин - никак не пойму. Получилось пока нижеуказанный код (правда, есть подозрения, что нужно создавать в самом плагине массив временных зон, и потом его в цикле использовать, но сомневаюсь):
- Код: Выделить всё
switch(iUTCTime)
{
case 0:UT_TIMEZONE_HOST
case 1:UT_TIMEZONE_MINUS_1200
case 2:UT_TIMEZONE_MINUS_1100
case 3:UT_TIMEZONE_MINUS_1000
... и так вплоть до конца switch'a
case 38:UT_TIMEZONE_PLUS_1400
}
и передача
- Код: Выделить всё
UnixToTime(iTime,iYear,iMon,iDay,iHour,iMin,iSec,iUTCTime,iDST)
В итоге выдает кучу предупреждений (41).
- Код: Выделить всё
stock const YearSeconds[2]={31536000,31622400}
stock const MonthSeconds[12]={2678400,2419200,2678400,2592000,2678400,2592000,2678400,2678400,2592000,2678400,2592000,2678400}
enum TimeZones{UT_TIMEZONE_HOST,UT_TIMEZONE_MINUS_1200,UT_TIMEZONE_MINUS_1100,UT_TIMEZONE_MINUS_1000,UT_TIMEZONE_MINUS_0930,
UT_TIMEZONE_MINUS_0900,UT_TIMEZONE_MINUS_0800,UT_TIMEZONE_MINUS_0700,UT_TIMEZONE_MINUS_0600,UT_TIMEZONE_MINUS_0500,UT_TIMEZONE_MINUS_0400,
UT_TIMEZONE_MINUS_0330,UT_TIMEZONE_MINUS_0300,UT_TIMEZONE_MINUS_0200,UT_TIMEZONE_MINUS_0100,UT_TIMEZONE_PLUS_0000,UT_TIMEZONE_PLUS_0100,
UT_TIMEZONE_PLUS_0200,UT_TIMEZONE_PLUS_0300,UT_TIMEZONE_PLUS_0330,UT_TIMEZONE_PLUS_0400,UT_TIMEZONE_PLUS_0430,UT_TIMEZONE_PLUS_0500,
UT_TIMEZONE_PLUS_0530,UT_TIMEZONE_PLUS_0545,UT_TIMEZONE_PLUS_0600,UT_TIMEZONE_PLUS_0630,UT_TIMEZONE_PLUS_0700,UT_TIMEZONE_PLUS_0800,
UT_TIMEZONE_PLUS_0845,UT_TIMEZONE_PLUS_0900,UT_TIMEZONE_PLUS_0930,UT_TIMEZONE_PLUS_1000,UT_TIMEZONE_PLUS_1030,UT_TIMEZONE_PLUS_1100,
UT_TIMEZONE_PLUS_1200,UT_TIMEZONE_PLUS_1245,UT_TIMEZONE_PLUS_1300,UT_TIMEZONE_PLUS_1400}
stock const TimeZoneOffset[TimeZones]={-1,-43200,-39600,-36000,-34200,-32400,-28800,-25200,-21600,-18000,-14400,-12600,-10800,-7200,-3600,0,3600,7200,10800,12600,14400,16200,
18000,19800,20700,21600,23400,25200,28800,31500,32400,34200,36000,37800,39600,43200,45900,46800,50400}
stock TimeZones:TimeZone
stock const DaySeconds=86400
stock const HourSeconds=3600
stock const MinuteSeconds=60
stock UnixToTime(iTimeStamp,&iYear,&iMonth,&iDay,&iHour,&iMinute,&iSecond,TimeZones:tzTimeZone=UT_TIMEZONE_PLUS_0000,&iDST)
{
new iTemp
iYear=1970
iMonth=1
iDay=1
iHour=0
if(tzTimeZone==UT_TIMEZONE_HOST)tzTimeZone=GetTimeZone()
iTimeStamp+=TimeZoneOffset[tzTimeZone]
if(iDST==1)iTimeStamp+=HourSeconds
while(iTimeStamp>0)
{
iTemp=IsLeapYear(iYear)
if((iTimeStamp-YearSeconds[iTemp])>=0)
{
iTimeStamp-=YearSeconds[iTemp]
iYear++
}
else break
}
while(iTimeStamp>0)
{
iTemp=SecondsInMonth(iYear,iMonth)
if((iTimeStamp-iTemp)>=0)
{
iTimeStamp-=iTemp
iMonth++
}
else break
}
while(iTimeStamp>0)
{
if((iTimeStamp-DaySeconds)>=0)
{
iTimeStamp-=DaySeconds
iDay++
}
else break
}
while(iTimeStamp>0)
{
if((iTimeStamp-HourSeconds)>=0)
{
iTimeStamp-=HourSeconds
iHour++
}
else break
}
iMinute=(iTimeStamp/60)
iSecond=(iTimeStamp%60)
}
stock TimeToUnix(const iYear,const iMonth,const iDay,const iHour,const iMinute,const iSecond,TimeZones:tzTimeZone=UT_TIMEZONE_PLUS_0000)
{
new i,iTimeStamp
for(i=1970;i<iYear;i++)iTimeStamp+=YearSeconds[IsLeapYear(i)]
for(i=1;i<iMonth;i++)iTimeStamp+=SecondsInMonth(iYear,i)
iTimeStamp+=((iDay-1)*DaySeconds)
iTimeStamp+=(iHour*HourSeconds)
iTimeStamp+=(iMinute*MinuteSeconds)
iTimeStamp+=iSecond
if(tzTimeZone==UT_TIMEZONE_HOST)tzTimeZone=GetTimeZone()
return(iTimeStamp+TimeZoneOffset[tzTimeZone])
}
stock TimeZones:GetTimeZone()
{
if(TimeZone)return TimeZone
new TimeZones:iZone,iOffset,iTime,iYear,iMonth,iDay,iHour,iMinute,iSecond
date(iYear,iMonth,iDay)
time(iHour,iMinute,iSecond)
iTime=TimeToUnix(iYear,iMonth,iDay,iHour,iMinute,iSecond,UT_TIMEZONE_PLUS_0000)
iOffset=iTime-get_systime()
for(iZone=TimeZones:0;iZone<TimeZones;iZone++)
{
if(iOffset==TimeZoneOffset[iZone])break
}
return(TimeZone=iZone)
}
stock SecondsInMonth(const iYear,const iMonth)
{
return((IsLeapYear(iYear)&&(iMonth==2))?(MonthSeconds[iMonth-1]+DaySeconds):MonthSeconds[iMonth-1])
}
stock IsLeapYear(const iYear)
{
return(((iYear%4)==0)&&(((iYear%100)!=0)||((iYear%400)==0)))
}
- Код: Выделить всё
new hiutc,vip,round=-1
public plugin_init()
{
register_plugin("Host Information","1.0","Stanley Kid")
register_logevent("start",2,"1=Round_Start")
register_logevent("com",2,"1&Restart_Round_","1&Game_Commencing")
register_dictionary("host_info.txt")
register_concmd("hi_utc","hi_utc")
register_concmd("hi_dst","hi_dst",0,"<0|1>")
}
public client_putinserver(id)
{
if(get_user_flags(id)&ADMIN_KICK)vip++
set_task(1.0,"info",id,_,_,"b")
}
public client_disconnect(id)if(get_user_flags(id)&ADMIN_KICK)vip--
public start()round++
public com()round=0
public info(id)
{
new iTime=get_systime(),iYear,iMon,iDay,iHour,iMin,iSec,iDST=get_cvar_num("hi_dst"),iUTCTime=get_cvar_num(hiutc)
new iUTCDiff,utcdiff[2],localtime[64],play=get_playersnum(),mp=get_maxplayers(),ip[32],left=get_timeleft()
switch(iUTCTime)
{
case 0:UT_TIMEZONE_HOST;case 1:UT_TIMEZONE_MINUS_1200;case 2:UT_TIMEZONE_MINUS_1100;case 3:UT_TIMEZONE_MINUS_1000
case 4:UT_TIMEZONE_MINUS_0930;case 5:UT_TIMEZONE_MINUS_0900;case 6:UT_TIMEZONE_MINUS_0800;case 7:UT_TIMEZONE_MINUS_0700
case 8:UT_TIMEZONE_MINUS_0600;case 9:UT_TIMEZONE_MINUS_0500;case 10:UT_TIMEZONE_MINUS_0400;case 11:UT_TIMEZONE_MINUS_0330
case 12:UT_TIMEZONE_MINUS_0300;case 13:UT_TIMEZONE_MINUS_0200;case 14:UT_TIMEZONE_MINUS_0100;case 15:UT_TIMEZONE_PLUS_0000
case 16:UT_TIMEZONE_PLUS_0100;case 17:UT_TIMEZONE_PLUS_0200;case 18:UT_TIMEZONE_PLUS_0300;case 19:UT_TIMEZONE_PLUS_0330
case 20:UT_TIMEZONE_PLUS_0400;case 21:UT_TIMEZONE_PLUS_0430;case 22:UT_TIMEZONE_PLUS_0500;case 23:UT_TIMEZONE_PLUS_0530
case 24:UT_TIMEZONE_PLUS_0545;case 25:UT_TIMEZONE_PLUS_0600;case 26:UT_TIMEZONE_PLUS_0630;case 27:UT_TIMEZONE_PLUS_0700
case 28:UT_TIMEZONE_PLUS_0800;case 29:UT_TIMEZONE_PLUS_0845;case 30:UT_TIMEZONE_PLUS_0900;case 31:UT_TIMEZONE_PLUS_0930
case 32:UT_TIMEZONE_PLUS_1000;case 33:UT_TIMEZONE_PLUS_1030;case 34:UT_TIMEZONE_PLUS_1100;case 35:UT_TIMEZONE_PLUS_1200
case 36:UT_TIMEZONE_PLUS_1245;case 37:UT_TIMEZONE_PLUS_1300;case 38:UT_TIMEZONE_PLUS_1400
}
new iTimeAdjust=TimeToUnix(iYear,iMon,iDay,iHour,iMin,iSec,iUTCTime)
UnixToTime(iTime,iYear,iMon,iDay,iHour,iMin,iSec,iUTCTime,iDST)
iUTCDiff=(86400+iTimeAdjust)/60
utcdiff=(iUTCDiff/60<0)?"-":"+"
format(localtime,63,"%d.%02d.%02d %02d:%02d:%02d (UTC %s%02d:%02d)",iYear,iMon,iDay,iHour,iMin,iSec,utcdiff,abs(iUTCDiff/60),iUTCDiff%60)
get_user_ip(0,ip,charsmax(ip),0)
set_hudmessage(255,255,255,-1.0,0.01,0,_,1.0)
show_hudmessage(id,"%s; %02d / %02d %L (%02d VIP)^nIP-%L %s^n%L %d; %L %02d:%02d",localtime,play,mp,id,"HI_PLAYER",vip,id,"HI_IP",ip,id,"HI_ROUND",round,id,"HI_TIME",left/60,left%60)
}
- Код: Выделить всё
new vip,round=-1
public plugin_init()
{
register_plugin("Host Information","1.0","Stanley Kid")
register_logevent("start",2,"1=Round_Start")
register_logevent("com",2,"1&Restart_Round_","1&Game_Commencing")
register_dictionary("host_info.txt")
register_concmd("hi_dst","hi_dst",0,"<0|1>")
}
public client_putinserver(id)
{
if(get_user_flags(id)&ADMIN_KICK)vip++
set_task(1.0,"info",id,_,_,"b")
}
public client_disconnect(id)if(get_user_flags(id)&ADMIN_KICK)vip--
public start()round++
public com()round=0
public info(id)
{
new iTime=get_systime(),iYear,iMon,iDay,iHour,iMin,iSec,iDST=get_cvar_num("hi_dst")
new iUTCDiff,utcdiff[2],localtime[64],play=get_playersnum(),mp=get_maxplayers(),ip[32],left=get_timeleft()
new iTimeAdjust=TimeToUnix(iYear,iMon,iDay,iHour,iMin,iSec,UT_TIMEZONE_PLUS_0200)
UnixToTime(iTime,iYear,iMon,iDay,iHour,iMin,iSec,UT_TIMEZONE_PLUS_0200,iDST)
iUTCDiff=(86400+iTimeAdjust)/60
utcdiff=(iUTCDiff/60<0)?"-":"+"
format(localtime,63,"%d.%02d.%02d %02d:%02d:%02d (UTC %s%02d:%02d)",iYear,iMon,iDay,iHour,iMin,iSec,utcdiff,abs(iUTCDiff/60),iUTCDiff%60)
get_user_ip(0,ip,charsmax(ip),0)
set_hudmessage(255,255,255,-1.0,0.01,0,_,1.0)
show_hudmessage(id,"%s; %02d / %02d %L (%02d VIP)^nIP-%L %s^n%L %d; %L %02d:%02d",localtime,play,mp,id,"HI_PLAYER",vip,id,"HI_IP",ip,id,"HI_ROUND",round,id,"HI_TIME",left/60,left%60)
}
-
MayroN
-
- Сообщения: 673
- Зарегистрирован: 10 окт 2010, 18:23
- Откуда: Украина, г. Белая Церковь
- Благодарил (а): 149 раз.
- Поблагодарили: 86 раз.
- Опыт программирования: Около года
- Языки программирования: На которых говорю...
-
MayroN » 02 май 2020, 16:04
Я продвинулся в плагине слегка, но вопрос по передачи значений или индексов enum-массива из unixtime.inc остался. В плагине явно нужен цикл, а то прописывать все через case нагрузочно для кода.
- Код: Выделить всё
new utc,dst,vip,round=-1
public plugin_init()
{
register_plugin("Host Information","1.0","Stanley Kid")
register_logevent("start",2,"1=Round_Start")
register_logevent("com",2,"1&Restart_Round_","1&Game_Commencing")
register_dictionary("host_info.txt")
register_concmd("hi_utcdst","UTC_DST",0,"utc><dst>")
}
public client_putinserver(id)
{
if(get_user_flags(id)&ADMIN_KICK)vip++
set_task(1.0,"info",id,_,_,"b")
}
public client_disconnect(id)if(get_user_flags(id)&ADMIN_KICK)vip--
public start()round++
public com()round=0
public UTC_DST()
{
new arg[3],arg1[2]
read_argv(1,arg,2);utc=clamp(str_to_num(arg),0,39)
read_argv(2,arg1,1);dst=clamp(str_to_num(arg1),0,1)
}
public info(id)
{
new iTime=get_systime(),iYear,iMonth,iDay,iHour,iMinute,iSecond,TimeZones:utczone,utcdiff,utcdiffsym[2],localtime[64],play=get_playersnum(),mp=get_maxplayers(),ip[32]
new left=get_timeleft()
switch(utc)
{
case 0:utczone=UT_TIMEZONE_HOST
case 1:utczone=UT_TIMEZONE_MINUS_1200
case 17:utczone=UT_TIMEZONE_PLUS_0200
case 39:utczone=UT_TIMEZONE_PLUS_1400
}
new iTimeAdjust=TimeToUnix(iYear,iMonth,iDay,iHour,iMinute,iSecond,utczone)
UnixToTime(iTime,iYear,iMonth,iDay,iHour,iMinute,iSecond,utczone,dst)
utcdiff=(86400+iTimeAdjust)/60
utcdiffsym=(utcdiff/60<0)?"-":"+"
format(localtime,63,"%d.%02d.%02d %02d:%02d:%02d (UTC %s%02d:%02d)",iYear,iMonth,iDay,iHour,iMinute,iSecond,utcdiffsym,abs(utcdiff/60),utcdiff%60)
get_user_ip(0,ip,charsmax(ip),0)
set_hudmessage(255,255,255,-1.0,0.01,0,_,1.0)
show_hudmessage(id,"%s; %02d / %02d %L (%02d VIP)^nIP-%L %s^n%L %d; %L %02d:%02d",localtime,play,mp,id,"HI_PLAYER",vip,id,"HI_IP",ip,id,"HI_ROUND",round,id,"HI_TIME",left/60,left%60)
}
-
MayroN
-
- Сообщения: 673
- Зарегистрирован: 10 окт 2010, 18:23
- Откуда: Украина, г. Белая Церковь
- Благодарил (а): 149 раз.
- Поблагодарили: 86 раз.
- Опыт программирования: Около года
- Языки программирования: На которых говорю...
-
RevCrew » 02 май 2020, 17:00
Не понятно в чем проблема?
- Код: Выделить всё
new TimeZones:utczone = TimeZones:utc
new iTimeAdjust=TimeToUnix(iYear,iMonth,iDay,iHour,iMinute,iSecond, utczone)
-
RevCrew
-
- Сообщения: 1648
- Зарегистрирован: 15 июл 2013, 20:45
- Благодарил (а): 273 раз.
- Поблагодарили: 357 раз.
- Языки программирования: Unkown
MayroN » 02 май 2020, 18:25
RevCrew,
"Заказчик остался доволен и благодарит".
- Код: Выделить всё
stock const YearSeconds[2]={31536000,31622400}
stock const MonthSeconds[12]={2678400,2419200,2678400,2592000,2678400,2592000,2678400,2678400,2592000,2678400,2592000,2678400}
enum TimeZones(+=1){UT_TIMEZONE_HOST,UT_TIMEZONE_MINUS_1200,UT_TIMEZONE_MINUS_1100,UT_TIMEZONE_MINUS_1000,UT_TIMEZONE_MINUS_0930,
UT_TIMEZONE_MINUS_0900,UT_TIMEZONE_MINUS_0800,UT_TIMEZONE_MINUS_0700,UT_TIMEZONE_MINUS_0600,UT_TIMEZONE_MINUS_0500,UT_TIMEZONE_MINUS_0400,
UT_TIMEZONE_MINUS_0330,UT_TIMEZONE_MINUS_0300,UT_TIMEZONE_MINUS_0200,UT_TIMEZONE_MINUS_0100,UT_TIMEZONE_PLUS_0000,UT_TIMEZONE_PLUS_0100,
UT_TIMEZONE_PLUS_0200,UT_TIMEZONE_PLUS_0300,UT_TIMEZONE_PLUS_0330,UT_TIMEZONE_PLUS_0400,UT_TIMEZONE_PLUS_0430,UT_TIMEZONE_PLUS_0500,
UT_TIMEZONE_PLUS_0530,UT_TIMEZONE_PLUS_0545,UT_TIMEZONE_PLUS_0600,UT_TIMEZONE_PLUS_0630,UT_TIMEZONE_PLUS_0700,UT_TIMEZONE_PLUS_0800,
UT_TIMEZONE_PLUS_0845,UT_TIMEZONE_PLUS_0900,UT_TIMEZONE_PLUS_0930,UT_TIMEZONE_PLUS_1000,UT_TIMEZONE_PLUS_1030,UT_TIMEZONE_PLUS_1100,
UT_TIMEZONE_PLUS_1200,UT_TIMEZONE_PLUS_1245,UT_TIMEZONE_PLUS_1300,UT_TIMEZONE_PLUS_1400}
stock const TimeZoneOffset[TimeZones]={-1,-43200,-39600,-36000,-34200,-32400,-28800,-25200,-21600,-18000,-14400,-12600,-10800,-7200,-3600,0,3600,7200,10800,12600,14400,16200,
18000,19800,20700,21600,23400,25200,28800,31500,32400,34200,36000,37800,39600,43200,45900,46800,50400}
stock TimeZones:TimeZone
stock const DaySeconds=86400
stock const HourSeconds=3600
stock const MinuteSeconds=60
stock UnixToTime(iTimeStamp,&iYear,&iMonth,&iDay,&iHour,&iMinute,&iSecond,TimeZones:tzTimeZone=UT_TIMEZONE_PLUS_0000,&iDST)
{
new iTemp
iYear=1970
iMonth=1
iDay=1
iHour=0
if(tzTimeZone==UT_TIMEZONE_HOST)tzTimeZone=GetTimeZone()
iTimeStamp+=TimeZoneOffset[tzTimeZone]
if(iDST==1)iTimeStamp+=HourSeconds
while(iTimeStamp>0)
{
iTemp=IsLeapYear(iYear)
if((iTimeStamp-YearSeconds[iTemp])>=0)
{
iTimeStamp-=YearSeconds[iTemp]
iYear++
}
else break
}
while(iTimeStamp>0)
{
iTemp=SecondsInMonth(iYear,iMonth)
if((iTimeStamp-iTemp)>=0)
{
iTimeStamp-=iTemp
iMonth++
}
else break
}
while(iTimeStamp>0)
{
if((iTimeStamp-DaySeconds)>=0)
{
iTimeStamp-=DaySeconds
iDay++
}
else break
}
while(iTimeStamp>0)
{
if((iTimeStamp-HourSeconds)>=0)
{
iTimeStamp-=HourSeconds
iHour++
}
else break
}
iMinute=(iTimeStamp/60)
iSecond=(iTimeStamp%60)
}
stock TimeToUnix(const iYear,const iMonth,const iDay,const iHour,const iMinute,const iSecond,TimeZones:tzTimeZone=UT_TIMEZONE_PLUS_0000)
{
new i,iTimeStamp
for(i=1970;i<iYear;i++)iTimeStamp+=YearSeconds[IsLeapYear(i)]
for(i=1;i<iMonth;i++)iTimeStamp+=SecondsInMonth(iYear,i)
iTimeStamp+=((iDay-1)*DaySeconds)
iTimeStamp+=(iHour*HourSeconds)
iTimeStamp+=(iMinute*MinuteSeconds)
iTimeStamp+=iSecond
if(tzTimeZone==UT_TIMEZONE_HOST)tzTimeZone=GetTimeZone()
return(iTimeStamp+TimeZoneOffset[tzTimeZone])
}
stock TimeZones:GetTimeZone()
{
if(TimeZone)return TimeZone
new TimeZones:iZone,iOffset,iTime,iYear,iMonth,iDay,iHour,iMinute,iSecond
date(iYear,iMonth,iDay)
time(iHour,iMinute,iSecond)
iTime=TimeToUnix(iYear,iMonth,iDay,iHour,iMinute,iSecond,UT_TIMEZONE_PLUS_0000)
iOffset=iTime-get_systime()
for(iZone=TimeZones:0;iZone<TimeZones;iZone++)
{
if(iOffset==TimeZoneOffset[iZone])break
}
return(TimeZone=iZone)
}
stock SecondsInMonth(const iYear,const iMonth)
{
return((IsLeapYear(iYear)&&(iMonth==2))?(MonthSeconds[iMonth-1]+DaySeconds):MonthSeconds[iMonth-1])
}
stock IsLeapYear(const iYear)
{
return(((iYear%4)==0)&&(((iYear%100)!=0)||((iYear%400)==0)))
}
- Код: Выделить всё
new utc,dst,vip,round=-1
public plugin_init()
{
register_plugin("Host Information","1.0","Stanley Kid")
register_logevent("start",2,"1=Round_Start")
register_logevent("com",2,"1&Restart_Round_","1&Game_Commencing")
register_dictionary("host_info.txt")
register_concmd("hi_utcdst","UTC_DST",0,"<utc><dst>")
}
public client_putinserver(id)
{
if(get_user_flags(id)&ADMIN_KICK)vip++
set_task(1.0,"info",id,_,_,"b")
}
public client_disconnect(id)if(get_user_flags(id)&ADMIN_KICK)vip--
public start()round++
public com()round=0
public UTC_DST()
{
new arg[3],arg1[2]
read_argv(1,arg,2);utc=clamp(str_to_num(arg),0,38)
read_argv(2,arg1,1);dst=clamp(str_to_num(arg1),0,1)
}
public info(id)
{
new iTime=get_systime(),iYear,iMonth,iDay,iHour,iMinute,iSecond,TimeZones:utczone=TimeZones:utc,utcdiff,utcdiffsym[2],localtime[64],play=get_playersnum()
new mp=get_maxplayers(),ip[32],left=get_timeleft(),iTimeAdjust=TimeToUnix(iYear,iMonth,iDay,iHour,iMinute,iSecond,utczone)
UnixToTime(iTime,iYear,iMonth,iDay,iHour,iMinute,iSecond,utczone,dst)
utcdiff=(86400+iTimeAdjust)/60
utcdiffsym=(utcdiff/60<0)?"-":"+"
format(localtime,63,"%d.%02d.%02d %02d:%02d:%02d (UTC %s%02d:%02d)",iYear,iMonth,iDay,iHour,iMinute,iSecond,utcdiffsym,abs(utcdiff/60),utcdiff%60)
get_user_ip(0,ip,charsmax(ip),0)
set_hudmessage(255,255,255,-1.0,0.01,0,_,1.0)
show_hudmessage(id,"%s; %02d / %02d %L (%02d VIP)^nIP-%L %s^n%L %d; %L %02d:%02d",localtime,play,mp,id,"HI_PLAYER",vip,id,"HI_IP",ip,id,"HI_ROUND",round,id,"HI_TIME",left/60,left%60)
}
-
MayroN
-
- Сообщения: 673
- Зарегистрирован: 10 окт 2010, 18:23
- Откуда: Украина, г. Белая Церковь
- Благодарил (а): 149 раз.
- Поблагодарили: 86 раз.
- Опыт программирования: Около года
- Языки программирования: На которых говорю...
-
RevCrew » 03 май 2020, 09:16
MayroN, рад помочь)
-
RevCrew
-
- Сообщения: 1648
- Зарегистрирован: 15 июл 2013, 20:45
- Благодарил (а): 273 раз.
- Поблагодарили: 357 раз.
- Языки программирования: Unkown
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 7