[Вопрос] Повтор текста в чате
#1

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

Кодировочка помялась слегка
Код OnPlayerText
PHP код:
public OnPlayerText(playeridtext[])
{
    new 
sendername[MAX_PLAYER_NAME];
    
GetPlayerName(playeridsendernamesizeof(sendername));
    new 
string[156];
    new 
ip[26];
    new 
giveplayer[MAX_PLAYER_NAME];
    
GetPlayerIp(playerid,ip,sizeof(ip));
    if(
PlayerInfo[playerid][pLogin] == 0)
    {
        
SendClientMessage(playerid,COLOR_WHITE,"{ffffff}• {AC0000}[Оoeбea] {ffffff}Вu нa aвoо?eзовaнu!");
        return 
0;
    }
    if(
IsIP(text) || CheckString(text))
    {
        
PlayerInfo[playerid][pMuteTime] = 10800;
        
PlayerInfo[playerid][pMuted] = 1;
        
format(stringsizeof(string), "%s: %s",sendername,text);
        
ABroadCast(COLOR_LIGHTRED,string,1);
        
format(stringsizeof(string), "ID: %d | IP: [%s]",playerid,ip);
        
ABroadCast(COLOR_LIGHTRED,string,1);
        
format(string,sizeof(string), "[Security] Вu iолучeлe бaн чaoa нa 3 чana /mm - ?aiо?o");
        
SendClientMessage(playeridCOLOR_LIGHTREDstring);
        
SetPlayerChatBubble(playerid"зaoeнуo(a)",COLOR_PURPLE,30.0,10000);
        return 
false;
    }
    if(
TalkingLive[playerid] == 1)
    {
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        
format(stringsizeof(string), "< [Oaл] SF News > %s: %s"sendernametext);
        
OOCNews(COLOR_GREENstring);
        
Flood[playerid] = 2;
    }
    if(
TalkingLivels[playerid] == 1)
    {
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        
format(stringsizeof(string), "< [Oaл] LS News %s: %s"sendernametext);
        
LSNews(0x0073B7AAstring);
        
Flood[playerid] = 2;
    }
    if(
TalkingLivelv[playerid] == 1)
    {
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        
format(stringsizeof(string), "< [Oaл] LV News > %s: %s"sendernametext);
        
LVNews(TEAM_CYAN_COLORstring);
        
Flood[playerid] = 2;
    }
    if(
TalkingLive[playerid] == 2)
    {
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        if(
PlayerInfo[playerid][pMember] == 9)
        {
            
format(stringsizeof(string), "< SF News > Вaдуueй %s: %s"sendernametext);
            
OOCNews(COLOR_GREENstring);
            
Flood[playerid] = 2;
            return 
false;
        }
        else
        {
            
format(stringsizeof(string), "< SF News > Aоnoь %s: %s"sendernametext);
            
OOCNews(COLOR_GREENstring);
            
Flood[playerid] = 2;
            return 
false;
        }
    }
    if(
TalkingLivels[playerid] == 2)
    {
        
GetPlayerName(playeridsendernamesizeof(sendername));
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        if(
PlayerInfo[playerid][pMember] == 16)
        {
            
format(stringsizeof(string), "< LS News > Вaдуueй %s: %s"sendernametext);
            
LSNews(0x0073B7AAstring);
            
Flood[playerid] = 2;
            return 
false;
        }
        else
        {
            
format(stringsizeof(string), "< LS News > Aоnoь %s: %s"sendernametext);
            
LSNews(0x0073B7AAstring);
            
Flood[playerid] = 2;
            return 
false;
        }
    }
    if(
TalkingLivelv[playerid] == 2)
    {
        
GetPlayerName(playeridsendernamesizeof(sendername));
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        if(
PlayerInfo[playerid][pMember] == 20)
        {
            
format(stringsizeof(string), "< LV News > Вaдуueй %s: %s"sendernametext);
            
LVNews(TEAM_CYAN_COLORstring);
            return 
false;
        }
        else
        {
            
format(stringsizeof(string), "< LV News > Aоnoь %s: %s"sendernametext);
            
LVNews(TEAM_CYAN_COLORstring);
            return 
false;
        }
    }
    if(
Tel[playerid] == 1)
    {
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        
format(stringsizeof(string), "[Oaлaфон] %s: %s"sendernametext);
        
ProxDetector(20.0playeridstring,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        return 
false;
    }
    if(
Mobile[playerid] != 999)
    {
        if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
        
format(stringsizeof(string), "[Oaлaфон] %s: %s"sendernametext);
        
ProxDetector(20.0playeridstring,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        if(
IsPlayerConnected(Mobile[playerid]) && Mobile[Mobile[playerid]] == playeridSendClientMessage(Mobile[playerid], COLOR_YELLOW,string);
        return 
false;
    }
    if(
PEfir[playerid] != 255)
    {
        if(
PlayerInfo[playerid][pMember] == || PlayerInfo[playerid][pLeader] == 9)
        {
            if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!");return false; }
            
format(stringsizeof(string), "< SF News > %s: %s"sendername,text);
            
OOCNews(COLOR_GREENstring);
            
Flood[playerid] = 2;
        }
        if(
PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
        {
            if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
            
format(stringsizeof(string), "< LV News > %s: %s"sendername,text);
            
LVNews(TEAM_CYAN_COLORstring);
            
Flood[playerid] = 2;
        }
        if(
PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
        {
            if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
            
format(stringsizeof(string), "< LS News > %s: %s"sendername,text);
            
LSNews(0x0073B7AAstring);
            
Flood[playerid] = 2;
        }
        if(
Pefir[playerid] == 1)
        {
            if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
            
format(stringsizeof(string), "< SF News > %s: %s"sendername,text);
            
OOCNews(COLOR_GREENstring);
            
Flood[playerid] = 2;
        }
        if(
Pefir[playerid] == 2)
        {
            if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
            
format(stringsizeof(string), "< LS News > %s: %s"sendername,text);
            
LSNews(0x0073B7AAstring);
            
Flood[playerid] = 2;
        }
        if(
Pefir[playerid] == 3)
        {
            if(
PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playeridTEAM_CYAN_COLOR"{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
            
format(stringsizeof(string), "< LV News > %s: %s"sendername,text);
            
LSNews(TEAM_CYAN_COLORstring);
            
Flood[playerid] = 2;
        }
        return 
false;
    }
    if(
strcmp(text"i?eвao"true) == || strcmp(text"eу"true) == || strcmp(text"oaй"true) == 0|| strcmp(text"q"true) == || strcmp(text"re"true) == || strcmp(text"ghbdtn"true) == 0)
    {
        new 
suspect GetClosestPlayer(playerid);
        
GetPlayerName(suspectgiveplayersizeof(giveplayer));
        
GetPlayerName(playeridsendernamesizeof(sendername));
        if(
GetDistanceBetweenPlayers(playerid,suspect) < && !IsPlayerInAnyVehicle(suspect) && !IsPlayerInAnyVehicle(playerid))
        {
            if(
PlayerInfo[playerid][pMember] == PlayerInfo[suspect][pMember])
            {
                
format(stringsizeof(string), "%s iоaaл(a) ?уeу %s'у"sendername ,giveplayer);
                
ProxDetector(5.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
ApplyAnimation(playerid"GANGS""hndshkfa",4.0,0,0,0,0,0,1);
                
ApplyAnimation(suspect"GANGS""hndshkfa",4.0,0,0,0,0,0,1);
                return 
false;
            }
        }
        switch(
PlayerInfo[playerid][pMember])
        {
        case 
13:
            {
                
format(string,sizeof(string), "iоeaзaл(a) ?aniaльцовeу Los Santos Vagos Gang");
                
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
                
format(stringsizeof(string), "%s iоeaзaл(a) ?aniaльцовeу Los Santos Vagos Gang"sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
ApplyAnimation(playerid"GHANDS""gsign1LH",4.0,0,0,0,0,0,1);
                return 
false;
            }
        case 
15:
            {
                
format(string,sizeof(string), "iоeaзaл(a) ?aniaльцовeу Grove Street Gang");
                
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
                
format(stringsizeof(string), "%s iоeaзaл(a) ?aniaльцовeу Grove Street Gang"sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
ApplyAnimation(playerid"GHANDS""gsign1LH",4.0,0,0,0,0,0,1);
                return 
false;
            }
        case 
17:
            {
                
format(string,sizeof(string), "iоeaзaл(a) ?aniaльцовeу Varios Los Aztecas Gang");
                
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
                
format(stringsizeof(string), "%s iоeaзaл(a) ?aniaльцовeу Varios Los Aztecas Gang"sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
ApplyAnimation(playerid"GHANDS""gsign1LH",4.0,0,0,0,0,0,1);
                return 
false;
            }
        case 
12:
            {
                
format(string,sizeof(string), "iоeaзaл(a) ?aniaльцовeу The Ballas Gang");
                
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
                
format(stringsizeof(string), "%s iоeaзaл(a) ?aniaльцовeу The Ballas Gang"sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
ApplyAnimation(playerid"GHANDS""gsign1LH",4.0,0,0,0,0,0,1);
                return 
false;
            }
        case 
18:
            {
                
format(string,sizeof(string), "iоeaзaл(a) ?aniaльцовeу The Rifa Gang");
                
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
                
format(stringsizeof(string), "%s iоeaзaл(a) ?aniaльцовeу The Rifa Gang"sendername);
                
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
ApplyAnimation(playerid"GHANDS""gsign1LH",4.0,0,0,0,0,0,1);
                return 
false;
            }
        }
    }
    if(
strcmp(text"эй"true) == || strcmp(text"э"true) == || strcmp(text"эй блy"true) == 0|| strcmp(text"блyoь"true) == || strcmp(text"Блyдь"true) == || strcmp(text"iлy"true) == 0)
    {
        
SetPlayerChatBubble(playerid"возiуuaaony",COLOR_PURPLE,30.0,10000);
        
ApplyAnimation(playerid"PED""fucku",4.0,0,0,0,0,0,1);
        return 
false;
    }
    if(
strcmp(text"iдa"true) == || strcmp(text"eдeоo"true) == || strcmp(text"nуea"true) == || strcmp(text"ieд?"true) == )
    {
        
SetPlayerChatBubble(playerid"Facepalm"COLOR_PURPLE30.010000);
        
ApplyAnimation(playerid"MISC""plyr_shkhead",4.0,0,0,0,0,0,1);
        return 
false;
    }
    else if(
strcmp(text"xD"true) == || strcmp(text"xd"true) == || strcmp(text":В"true) == || strcmp(text":в"true) == )
    {
        
format(stringsizeof(string), "%s niaёony"sendername);
        
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        
SetPlayerChatBubble(playerid"niaёony"COLOR_PURPLE30.010000);
        return 
false;
    }
    else if(
strcmp(text"чВ"true) == || strcmp(text"oД"true) == || strcmp(text"oд"true) == || strcmp(text"xDD"true) == 0)
    {
        
format(stringsizeof(string), "%s вaлyaony оo niaoa"sendername);
        
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        
SetPlayerChatBubble(playerid"вaлyaony оo niaoa",COLOR_PURPLE,30.0,10000);
        return 
false;
    }
    else if(
strcmp(text")"true) == || strcmp(text"))"true) == 0)
    {
        
format(stringsizeof(string), "%s улuбaaony"sendername);
        
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        
SetPlayerChatBubble(playerid"улuбaaony",COLOR_PURPLE,30.0,10000);
        return 
false;
    }
    else if(
strcmp(text"("true) == || strcmp(text"(("true) == 0)
    {
        
format(stringsizeof(string), "%s a?уnoeo"sendername);
        
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        
SetPlayerChatBubble(playerid"a?уnoeo",COLOR_PURPLE,30.0,10000);
        return 
false;
    }
    else if(
strcmp(text":D"true) == 0)
    {
        
format(stringsizeof(string), "%s oоoочao во вanь aолоn"sendername);
        
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        
SetPlayerChatBubble(playerid"oоoочao во вanь aолоn",COLOR_PURPLE,30.0,10000);
        return 
false;
    }
    if(
realchat)
    {
        if(
Flood[playerid] > 0)
        {
            
SendClientMessage(playerid,0xFFD5BBAA"{ffffff}• {AC0000}[Оoeбea] {ffffff}Iоaaлуйnoa, нa флудeoa.");
            return 
false;
        }
        if(
PlayerInfo[playerid][pLogin] == 0)
        {
            return 
false;
        }
        if(
PlayerInfo[playerid][pLogin] == 0)
        {
            return 
false;
        }
        if(
PlayerInfo[playerid][pMuted] == 1)
        {
            
format(stringsizeof(string), "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa! До nнyoey: %d naeунд(u)",PlayerInfo[playerid][pMuteTime]);
            
SendClientMessage(playeridCOLOR_LIGHTREDstring);
            return 
false;
        }
        if(
PlayerInfo[playerid][pLevel] <= 1)
        {
            new 
succ;
            for(new 
ii<strlen(text); i++) if(PText[playerid][i] == text[i]) succ++;
            if(
succ == strlen(text))
            {
                
SendClientMessage(playerid,0xFFD5BBAA"{ffffff}• {AC0000}[Оoeбea] {ffffff}Iоaaлуйnoa, нa флудeoa.");
                return 
false;
            }
        }
        
strmid(PText[playerid],text,0,256,256);
        if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
        {
            switch(
PlayerInfo[playerid][pMember])
            {
            case 
12ApplyAnimation(playerid,"GANGS","prtial_gngtlkH",4.1,0,1,1,1,1,1);
            case 
15ApplyAnimation(playerid,"GANGS","prtial_gngtlkG",4.1,0,1,1,1,1,1);
            case 
17ApplyAnimation(playerid,"GANGS","prtial_gngtlkB",4.1,0,1,1,1,1,1);
            case 
18,13ApplyAnimation(playerid,"GANGS","prtial_gngtlkF",4.1,0,1,1,1,1,1);
            default: 
ApplyAnimation(playerid"PED""IDLE_CHAT",4.1,0,1,1,1,1,1);
            }
            
SetTimerEx("ClearAnim"2400false"d"playerid);
        }
        
GetPlayerName(playeridsendernamesizeof(sendername));
        
format(stringsizeof(string), "- %s[%d]: %s"sendername,playeridtext);
        
SetPlayerChatBubble(playeridtext0x6495EDFF20.010000);
        
ProxDetector(20.0playeridstringCOLOR_FADE1COLOR_FADE2COLOR_FADE3COLOR_FADE4COLOR_FADE5);
        
Flood[playerid] = 2;
        return 
false;
    }
    return 
false;

Вот logi:
Код:
[13:22:23] [chat] [Alexandr_Woozie]: asd // В игре отображало 4 таких сообщения в чат
[13:22:23] Такие пироги 39
[13:22:23] Такие пироги 40
PHP код:
        strmid(PText[playerid],text,0,256,256);
        
printf("Такие пироги 39");
        if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
        {
            switch(
PlayerInfo[playerid][pMember])
            {
            case 
12ApplyAnimation(playerid,"GANGS","prtial_gngtlkH",4.1,0,1,1,1,1,1);
            case 
15ApplyAnimation(playerid,"GANGS","prtial_gngtlkG",4.1,0,1,1,1,1,1);
            case 
17ApplyAnimation(playerid,"GANGS","prtial_gngtlkB",4.1,0,1,1,1,1,1);
            case 
18,13ApplyAnimation(playerid,"GANGS","prtial_gngtlkF",4.1,0,1,1,1,1,1);
            default: 
ApplyAnimation(playerid"PED""IDLE_CHAT",4.1,0,1,1,1,1,1);
            }
            
SetTimerEx("ClearAnim"2400false"d"playerid);
        }
        
GetPlayerName(playeridsendernamesizeof(sendername));
        
printf("Такие пироги 40");
        
format(stringsizeof(string), "- %s[%d]: %s"sendername,playeridtext);
        
SetPlayerChatBubble(playeridtext0x6495EDFF20.010000);
        
ProxDetector(20.0playeridstringCOLOR_FADE1COLOR_FADE2COLOR_FADE3COLOR_FADE4COLOR_FADE5);
        
Flood[playerid] = 2;
        return 
false
Reply
#2

Да что, никто не встречался с такой проблемой? :с
Reply
#3

Покажите код ProxDetector.
Reply
#4

Quote:
Originally Posted by wabbajek
Посмотреть сообщение
Да что, никто не встречался с такой проблемой? :с
Встречались, но не забывайте что люди не обязаны тратить своё время на ваши проблемы, так что проявите терпение и подождите.
Quote:
Originally Posted by stabker
Посмотреть сообщение
Покажите код ProxDetector.
Вы форумом случайно не ошиблись с такими вопросами?
Эта функция времён появления мода godfather.
Reply
#5

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Эта функция времён появления мода godfather.
Есть призрачный шанс, что она была переписана в современный вид. )
Reply
#6

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Встречались, но не забывайте что люди не обязаны тратить своё время на ваши проблемы, так что проявите терпение и подождите.
Вы форумом случайно не ошиблись с такими вопросами?
Эта функция времён появления мода godfather.
Я знаю, что это за функция. Мне интересно, как она у тс реализована.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)