Символы в команде чата
#1

Может у кого было такое, использую DC_CMD + SSCANF

Команды чата - Общий - Рация - и т.д не работают если символов от 21 до 41 (Бывает значение меняется)

Я уже весь код перебрал и не могу понять почему, пишу в чат - в ответ ничего ) Как думаете, что может быть?

Странно, что только на хостинге такая шняга (Запускаю на ПК - такого нет)

Я думаю это из за логов.

PHP Code:
CMD:ooc(playeridparams[])
{
    if(
GetPVarInt(playerid"Logged")) return true;
    new 
string[164];
    if(
isnull(params)) return command(playerid,"/o(oc) [Текст]");
    
//if(PlayerInfo[playerid][pLevel] == 1 && PlayerInfo[playerid][pExp] < 4 && PlayerInfo[playerid][pAdmin] == 0) return error(playerid,"Вы должны отыграть 4 часа на сервере");
    
if(OOCact == true && PlayerInfo[playerid][pAdmin] == 0) return error(playerid,"В данный момент общий чат отключен");
    for(new 
i;strlen(params);i++)
    {
        new 
a[2],c=0;
        for(new 
0;strlen(params);j++)
        {
            
strmid(a,params,i+j,i+j+1,2);
            if(
'0' <= a[0] <= '9')c+=1;
        }
        if(
== || strfind(params,".ru"true) != -|| strfind(params," .ru"true) != -|| strfind(params,".ru "true) != -|| strfind(params,".ру"true) != -|| strfind(params,"точка"true) != -1
        
|| strfind(params,"точка"true) != -|| strfind(params,"точка"true) != -|| strfind(params,"www"true) != -1||
        
strfind(params,"http"true) != -|| strfind(params,".net"true) != -|| strfind(params,".com"true) != -||
        
strfind(params,". ru"true) != -|| strfind(params,". net"true) != -|| strfind(params,". com"true) != -1
        
|| strfind(params,"w w w"true) != -1)
        {
            
SCM(playeridCOLOR_ADM1"Подозрение на рекламу сервера, сообщение не отправлено.");
            
format(string,sizeof(string),"[Анти-реклама] %s [ID: %d]: %s",PlayerInfo[playerid][pName],playerid,params);
            
SendAdminMessage(COLOR_ADM1,string);
            
string="";
            return 
false;
        }
    }
    if(
OtOOC[playerid] > 0) return format(string,sizeof(string),"До следующего сообщения в /o чат осталось %s.",TimeConvert(OtOOC[playerid])),SCM(playerid,COLOR_OFF,string);
    if(
PlayerInfo[playerid][pMute] > 0) return MuteCheck(playerid);
    if(
KLAP[playerid] == true) return error(playerid,"У вас кляп во рту");
    if(
PlayerInfo[playerid][pJailTime] > 0) return error(playerid,"Вы в тюрьме");
    switch(
PlayerInfo[playerid][pAdmin])
    {
        case 
1..3:
        {
            
format(stringsizeof(string), "> ({FF6347}М{F8F8FF}) %s[%d]: %s",PlayerInfo[playerid][pName],playerid,params),ToAll(0xF8F8FFFFstring);
            
format(string,sizeof(string),"[%d.%d.%d][OOC] (M) %s %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,GetRankName(playerid),PlayerInfo[playerid][pName],params,hours,minutes,seconds);
            new 
File:nFile fopen("logi/chat/ooc.txt",io_append);
            
fwriteex(nFilestring);
            
fclose(nFile);
            return 
true;
        }
        case 
4:
        {
            
format(stringsizeof(string), "> ({FF6347}Гл.М{F8F8FF}) %s[%d]: %s",PlayerInfo[playerid][pName],playerid,params),ToAll(0xF8F8FFFFstring);
            
format(string,sizeof(string),"[%d.%d.%d][OOC] (Гл.М) %s %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,GetRankName(playerid),PlayerInfo[playerid][pName],params,hours,minutes,seconds);
            new 
File:nFile fopen("logi/chat/ooc.txt",io_append);
            
fwriteex(nFilestring);
            
fclose(nFile);
            return 
true;
        }
        case 
5..6:
        {
            
format(stringsizeof(string), "> ({FF6347}А{F8F8FF}) %s[%d]: %s",PlayerInfo[playerid][pName],playerid,params),ToAll(0xF8F8FFFFstring);
            
format(string,sizeof(string),"[%d.%d.%d][OOC] (А) %s %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,GetRankName(playerid),PlayerInfo[playerid][pName],params,hours,minutes,seconds);
            new 
File:nFile fopen("logi/chat/ooc.txt",io_append);
            
fwriteex(nFilestring);
            
fclose(nFile);
            return 
true;
        }
    }
    if(
PlayerInfo[playerid][pHelper] > 0)
    {
        
format(stringsizeof(string), "> ({FF6347}H{F8F8FF}) %s[%d]: %s",PlayerInfo[playerid][pName],playerid,params);
        
ToAll(0xF8F8FFFFstring);
        
format(string,sizeof(string),"[%d.%d.%d][OOC] (H) %s %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,GetRankName(playerid),PlayerInfo[playerid][pName],params,hours,minutes,seconds);
        new 
File:nFile fopen("logi/chat/ooc.txt",io_append);
        
fwriteex(nFilestring);
        
fclose(nFile);
        return 
true;
    }
    if(
PlayerInfo[playerid][pLeader] > 0)
    {
        
format(stringsizeof(string), "> ({9B30FF}L{F8F8FF}) %s[%d]: %s",PlayerInfo[playerid][pName],playerid,params);
        
ToAll(0xF8F8FFFFstring);
        
format(string,sizeof(string),"[%d.%d.%d][OOC] (L) %s %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,GetRankName(playerid),PlayerInfo[playerid][pName],params,hours,minutes,seconds);
        new 
File:nFile fopen("logi/chat/ooc.txt",io_append);
        
fwriteex(nFilestring);
        
fclose(nFile);
        
OtOOC[playerid] = 120;
        return 
true;
    }
    if(
PlayerInfo[playerid][pAdmin] == 0)
    {
        
format(stringsizeof(string), "> %s[%d]: %s",PlayerInfo[playerid][pName],playerid,params),ToAll(0xF8F8FFFFstring);
        
format(string,sizeof(string),"[%d.%d.%d][OOC] %s %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,GetRankName(playerid),PlayerInfo[playerid][pName],params,hours,minutes,seconds);
        new 
File:nFile fopen("logi/chat/ooc.txt",io_append);
        
fwriteex(nFilestring);
        
fclose(nFile);
         
OtOOC[playerid] = 3*60;
     }
    return 
true;

PHP Code:
CMD:news(playeridparams[])
{
    if(
GetPVarInt(playerid"Logged")) return true;
    if(
PlayerInfo[playerid][pMemb] != 7) return true;
    if(
GetVehicleModel(GetPlayerVehicleID(playerid)) != 582) return error(playerid,"Дать новости можно только в фургоне San News");
    new 
asd[168];
    if(
sscanf(params"s[150]",params[0])) return command(playerid"/news [Текст]");
    if(
OtNEWS[playerid] > 0)
    {
        
format(asd,sizeof(asd),"Подождите, новость можно дать через %s",TimeConvert(OtNEWS[playerid])),SCM(playerid,COLOR_OFF,asd);
        return 
true;
    }
    
format(asdsizeof(asd), "[Новости ML] от %s[%d]: %s",PlayerInfo[playerid][pName],playeridparams[0]),ToAll(0xFFA500FFasd);
    
format(asd,sizeof(asd),"[%d.%d.%d] [Новости ML] от %s: %s (%d:%02d:%02d)\r\n",Day,Month,Year,PlayerInfo[playerid][pName],params[0],hours,minutes,seconds);
    new 
File:nFile fopen("logi/chat/news.txt",io_append);
    
fwriteex(nFileasd);
    
fclose(nFile);
    
OtNEWS[playerid] = 40;
    return 
true;

Список плагинов: dc_cmd crashdetect mysql streamer sscanf

КрашДетект что то не работает, хотя сделал все как надо.

Чат в OnPlayerText отлично работает.
Reply
#2

Поставил sscanf последний, произвёл рестарт сервера, первые минут 5 нормально работает, потом опять.
Reply
#3

Quote:

Список плагинов: dc_cmd crashdetect mysql streamer sscanf

КрашДетект что то не работает, хотя сделал все как надо.

что-то я не вижу, что как надо, он не на первом месте
Reply
#4

Обязательно на первое место его?
Reply
#5

Quote:
Originally Posted by Siman
View Post
Как думаете, что может быть?
Количество ячеек в переменной под сообщение увеличь.
Reply
#6

Quote:
Originally Posted by Mcc
View Post
Количество ячеек в переменной под сообщение увеличь.
Думаешь поможет?
Reply
#7

Вот смотрите, я сервер в ПУ перезагружаю, всё отлично минут 5-10 потом опять начинает.

Либо от 21 до 41 символа не работает, либо от 25 до 45.
Reply
#8

Я просёк, что баг появляется после использования функции GameModeExit();
Reply
#9

Quote:
Originally Posted by Siman
View Post
Обязательно на первое место его?
Обязательно.
Crashdetect не стартует, если его на первое место не поставить.
Reply
#10

Понял. Спасибо за информацию
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)