Вопросы

Проблема именно сервера.

Например , пишешь Привет. Это 1 слово.

Но когда второй раз открываешь чат и образно пишешь - Как дела? То оно попросту не отображается. Так же и с последющими словами.

Просто не видно в чате сообщений после 1 сообщения.

-

Спойлер

public OnPlayerText(playerid, text[])
{
    if(IS_A_GMX) return 0;
    if(CountFloodForPlayer[playerid] > 2) return 0;
    CountFloodForPlayer[playerid] = unix + 2;
            //
    if(strlen(text) > 128) return 0;
    if(TranslateCommandText(playerid, text)) return 0;

    if(IsPlayerAuthorized(playerid) == PLAYER_OFFLINE)
    {
        SendClientMessage(playerid, COLOR_GREY, "Вам нужно авторизироватся!");
        return 0;
    }
    if(p_info[playerid][pMuteTime] > 0)
    {
        SetPlayerChatBubble(playerid, "Пытается что-то сказать", CRED, 30.0, 10000);
        SendErr(playerid, "У вас бан чата");
        return 0;
    }

    if(IsIpFound(text))
    {
        SendReklama(playerid,text);
        return 0;
    }
    ReplaceSwears(text);
    if(GetPVarInt(playerid,"talkcall"))
    {
        new callid =GetPVarInt(playerid,"called")-1;
        if(IsPlayerConnected(callid))
        {
            if(GetPVarInt(callid,"talkcall"))
            {
                format(stringer, 144, "[Тел] %s: %s", NamePlayer[playerid],text);
                SendClientMessage(callid,CYELLOW,stringer);
                SendClientMessage(playerid,COLOR_GREY,stringer);
                return 0;
            }
        }
    }
    if(GetPVarInt(playerid,"TalkingLive") == 1)
    {
        if(AntiReklama(text))
        {
            p_info[playerid][tLeader]=0;
            p_info[playerid][tRank]=0;
            UpdatePlayerData(playerid,"tLeader",0);
            UpdatePlayerData(playerid,"tRank",0);
            ChangePlayerFraction(playerid, 0);

            format(stringer,250,"[Анти-слив в эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
            AdmMes(CBADINFO,stringer,1);
            return 0;
        }
        format(stringer, 128, "[Радио Лос Сантос] %s [%d] (тел.): %s", NamePlayer[playerid], playerid, text);
        LSNews(0x6B8E23FF, stringer);
    }
    if(GetPVarInt(playerid,"TalkingLivels") == 2)
    {
        if(AntiReklama(text))
        {
            p_info[playerid][tLeader]=0;
            p_info[playerid][tRank]=0;
            UpdatePlayerData(playerid,"tLeader",0);
            UpdatePlayerData(playerid,"tRank",0);
            ChangePlayerFraction(playerid, 0);

            format(stringer,250,"[Анти-слив эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
            AdmMes(CBADINFO,stringer,1);
            return 0;
        }
        if(p_info[playerid][tMember] == F_SANN)
        {
            format(stringer, 128, "[Радио Лос Сантос] %s [%d]: %s", NamePlayer[playerid], playerid, text);
            LSNews(0x6B8E23FF, stringer);
            return 0;
        }
        else
        {
            format(stringer, 128, "[Радио Лос Сантос] %s [%d] (тел.): %s", NamePlayer[playerid],playerid, text);
            LSNews(0x6B8E23FF, stringer);
            return 0;
        }
    }

    if(GetPVarInt(playerid,"Tel") == 1)
    {
        new string23[260];
        format(string23, 256, "[Телефон] %s: %s", NamePlayer[playerid], text);
        SendStreamMessage(20.0, playerid, string23,CFADE1);
        format(stringer, 128, "[Телефон] %s: %s", NamePlayer[playerid], text);
        return 0;
    }

    if(PEfir[playerid] != INVALID_PLAYER_ID)
    {
        if(p_info[playerid][tMember] == F_SANN || p_info[playerid][tLeader] == F_SANN)
        {
            if(AntiReklama(text))
            {
                p_info[playerid][tLeader]=0;
                p_info[playerid][tRank]=0;
                UpdatePlayerData(playerid,"tLeader",0);
                UpdatePlayerData(playerid,"tRank",0);
                ChangePlayerFraction(playerid, 0);

                format(stringer,250,"[Анти-слив в эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
                AdmMes(CBADINFO,stringer,1);
                return 0;
            }
            format(stringer, 128, "[Радио Лос Сантос] %s: %s", NamePlayer[playerid], text);
            LSNews(0x6B8E23FF, stringer);
        }
        if(Pefir[playerid] == 2)
        {
            if(AntiReklama(text))
            {
                p_info[playerid][tLeader]=0;
                p_info[playerid][tRank]=0;
                UpdatePlayerData(playerid,"tLeader",0);
                UpdatePlayerData(playerid,"tRank",0);
                ChangePlayerFraction(playerid, 0);

                format(stringer,250,"[Анти-слив в эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
                AdmMes(CBADINFO,stringer,1);
                return 0;
            }
            format(stringer, 128, "[Радио Лос Сантос] %s: %s", NamePlayer[playerid], text);
            LSNews(0x6B8E23FF, stringer);
        }
        return 0;
    }
    else if(strcmp(text, "*102#", true) == 0)
    {

        SCM(playerid, CLIGHTGREEN, "==[ Мобильный баланс ] ==");
        format(stringer, 128, "- Баланс %d $",p_info[playerid][pMobile]);
        SCM(playerid, CWHITE, stringer);
        SCM(playerid, CWHITE, "- Пополнить баланс можно в любом банкомате");
        SCM(playerid, CLIGHTGREEN, "==[ Мобильный баланс ] ==");
        MeAction(playerid,"достаёт мобильник", 5.0);
        return 0;
    }
    if(!strcmp(text,")")) return MeAction(playerid, "улыбается"),0;
    if(!strcmp(text,"))")) return MeAction(playerid, "смеётся"),0;
    if(!strcmp(text,"("))
    {
        if(p_info[playerid][pSex] == 1) MeAction(playerid, "расстроился");
        else MeAction(playerid, "расстроилась");
        return 0;
    }
    if(!strcmp(text,"(("))
    {
        if(p_info[playerid][pSex] == 1) MeAction(playerid, "сильно расстроился");
        else MeAction(playerid, "сильно расстроилась");
        return 0;
    }
    if(GetPVarInt(playerid,"anti_sbiv_time") < unix && GetPVarInt(playerid,"MinerCount") == 0 && GetPVarInt(playerid,"anim_bolka") == 0 && GetPVarInt(playerid,"crack_tazer") == 0 && GetPVarInt(playerid,"Animation") == 0 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && !GetPVarInt(playerid,"robbankstime") && !GetPVarInt(playerid,"PlayerTied") && !GetPVarInt(playerid,"PlayerCuffedTime"))
    {
        if(p_info[playerid][pSetAnim] == 0)
        {
            ApplyAnimation(playerid,"PED",Talk[p_info[playerid][pSetAnim]],8.1,0,1,1,1,1);
            SetTimerEx("ClearAnimText", 2000, 0, "i", playerid);
        }
        else if(p_info[playerid][pSetAnim] != 0)
        {
            ApplyAnimation(playerid,"GANGS",Talk[p_info[playerid][pSetAnim]],4.1,1,1,1,1,1,1);
            SetTimerEx("ClearAnimText", 2000, 0, "i", playerid);
        }
    }
    if(GetPVarInt(playerid,"gag"))
    {
        SCM(playerid, COLOR_LIGHTRED, "У Вас кляп, вы не можете говорить!");
        return 0;
    }
    new mesid[8],str[2][144],meslen = strlen(text);
    format(mesid,8,"(%d)", playerid);
    strmid(str[0],text,0,80,100);
    strmid(str[1],text,80,meslen,meslen);
    GetPlayerPos(playerid, p_info[playerid][pX], p_info[playerid][pY], p_info[playerid][pZ]);
    if(p_info[playerid][pX] == 0.0 || p_info[playerid][pY] == 0.0 || p_info[playerid][pZ] == 0.0) return 0;
    new strin[144];
    new steeer[150];
    new colors = GetPlayerColor(playerid);
    new reeede = (colors & 0xFF000000) >>> 24;
    new greeene = (colors & 0x00FF0000) >>> 16;
    new bluewe = (colors & 0x0000FF00) >>> 8;
    format(steeer,120,"%x%x%x",min(reeede + 150, 255),min(greeene + 150, 255),min(bluewe + 150, 255));


    new vw = GetPlayerVirtualWorld(playerid),
        int = GetPlayerInterior(playerid);
    foreach(i)
    {
        if (vw != GetPlayerVirtualWorld(i) || int != GetPlayerInterior(i)) continue;
        if(!PlayerToPoint(14.0,i,p_info[playerid][pX],p_info[playerid][pY],p_info[playerid][pZ])) continue;

        if(meslen>=80)
        {
            if(Settings[playerid] & setPlayerIDChat) format(strin, 144, "- {%06x}%s(%d)%s: {%s}%s ...",colors>>> 8,NamePlayer[playerid], playerid, (IsPlayerInAnyVehicle(playerid)) ? ( " (в машине)" ) : ( "" ) , steeer,str[0]);
            else format(strin, 144, "- {%06x}%s%s: {%s}%s ...",colors>>> 8,NamePlayer[playerid], (IsPlayerInAnyVehicle(playerid)) ? ( " (в машине)" ) : ( "" ) , steeer,str[0]);
            SendClientMessage(i,colors,strin);
            format(strin,200,"... {%s}%s",steeer,str[1]);
            SendClientMessage(i,colors,strin);
            continue;
        }
        else
        {
            if(Settings[playerid] & setPlayerIDChat) format(strin, 144, "- {%06x}%s(%d)%s: {%s}%s",colors>>> 8,NamePlayer[playerid], playerid, (IsPlayerInAnyVehicle(playerid)) ? ( " (в машине)" ) : ( "" ) , steeer,text);
            else format(strin, 144, "- {%06x}%s%s: {%s}%s",colors>>> 8,NamePlayer[playerid], (IsPlayerInAnyVehicle(playerid)) ? ( " (в машине)" ) : ( "" ) , steeer,text);
             SendClientMessage(i,colors,strin);
        }
    }
    SetPlayerChatBubble(playerid, text, colors, 20.0, 10000);
    return 0;
}

 

 

 

Спойлер

stock TranslateCommandText(playerid, string[])
{
    if(string[0] == '.')
    {
        if(string[1] == 'я')
        {
            string[0] = '/';
            DC_CMD(playerid, string);
            return 1;
        }
        DC_CMD(playerid, string);

        switch(string[1])
        {
            case 'а'..'я', 'А'..'Я':
            {
                string[0] = '/';
                for(new i; i<strlen(string); i++)
                {
                    switch(string)
                    {
                        case 'й','Й': string = 'q';
                        case 'ц','Ц': string = 'w';
                        case 'у','У': string = 'e';
                        case 'к','К': string = 'r';
                        case 'е','Е': string = 't';
                        case 'н','Н': string = 'y';
                        case 'г','Г': string = 'u';
                        case 'ш','Ш': string = 'i';
                        case 'щ','Щ': string = 'o';
                        case 'з','З': string = 'p';
                        case 'ф','Ф': string = 'a';
                        case 'ы','Ы': string = 's';
                        case 'в','В': string = 'd';
                        case 'а','А': string = 'f';
                        case 'п','П': string = 'g';
                        case 'р','Р': string = 'h';
                        case 'о','О': string = 'j';
                        case 'л','Л': string = 'k';
                        case 'д','Д': string = 'l';
                        case 'я','Я': string = 'z';
                        case 'ч','Ч': string = 'x';
                        case 'с','С': string = 'c';
                        case 'м','М': string = 'v';
                        case 'и','И': string = 'b';
                        case 'т','Т': string = 'n';
                        case 'ь','Ь': string = 'm';
                        case ' ': break;
                    }
                }
                DC_CMD(playerid, string);
                return 0;
            }
        }
    }
    return 0;
}

 

Надеюсь на помощь :)

Отредактировано пользователем odosenok
Причина: взял код в теги "Код" и "Спойлер".

Заметка от Cawfee , создано

Ознакомьтесь внимательно с информацией о том, как правильно выкладывать код на форум. И впредь делайте согласно данной теме.

Поделиться сообщением


Ссылка на сообщение

0 ответов на этот вопрос

Ответы на этот вопрос пока отсутствуют

Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От MrNARTI
      делал дополнение для организации что бы при повторном взятии авто не вводить /unfcar.
       
      код
       
      ошибки
       
      обьясните пожалуйста понятным языком даже для тупых пожалуйста)
    • От Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • От Sasha123452
      Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka и тд. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины). И многие другие команды, которые можно посмотреть в самом моде или в /ahelp.