Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для DmX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±

    Команды чата

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

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

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

    - - - Добавлено - - -

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

    - - - Добавлено - - -

    PHP код:
    [debugRun time error 20"Invalid index parameter (bad entry point)" 
    Скорее всего в этом таится серкет, как исправить? Кто знает?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Код команд + список подключаемых инклюдов + список подключаемых плагинов + логи при вызове команды с подключенным crashdetect (и компилятору пропиши опцию "-d3")
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для DmX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±
    Я думаю это из за логов.

    PHP код:
    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 код:
    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 отлично работает.
    Последний раз редактировалось DmX; 15.01.2016 в 20:45.

  4. #4
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DmX Посмотреть сообщение
    КрашДетект что то не работает, хотя сделал все как надо.
    http://pro-pawn.ru/showthread.php?29...ll=1#post66040
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  5. #5
    Аватар для DmX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±
    У меня нет выхода за пределы массива. Помогите разобраться с командами.

  6. #6
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Плагин крашдетект всегда первый надо ставить в загрузке..
    А насчёт логирования - убирать не пробовал?

  7. #7
    Аватар для DmX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±
    Вот смотрите, я сервер в ПУ перезагружаю, всё отлично минут 5-10 потом опять начинает.

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

    - - - Добавлено - - -

    Цитата Сообщение от vovandolg Посмотреть сообщение
    Плагин крашдетект всегда первый надо ставить в загрузке..
    А насчёт логирования - убирать не пробовал?
    Я убирал всё, что можно. Лысая команда была - и ничего не отправляется. Я не пойму в чем проблема. Как команды с модом связанны? Никак! Команда идет как отдельный сток. Значит дело в плагине, я целый день вожусь с этим ><

  8. #8
    Аватар для DmX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±
    Баг появляется после использования функции

    GameModeExit();

  9. #9
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от DmX Посмотреть сообщение
    Вот смотрите, я сервер в ПУ перезагружаю, всё отлично минут 5-10 потом опять начинает.

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

    - - - Добавлено - - -



    Я убирал всё, что можно. Лысая команда была - и ничего не отправляется. Я не пойму в чем проблема. Как команды с модом связанны? Никак! Команда идет как отдельный сток. Значит дело в плагине, я целый день вожусь с этим ><
    Проверь своё предположение: выключи плагин и поставь zcmd.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •