Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Ошибка в чате.

Статус
В этой теме нельзя размещать новые ответы.

vadim20201

Дебютант
Привет форумчане, можете помочь?
У меня проблема, когда я пишу в чат сообщение пишется, но если рядом кто-то его видит то пишется оно 2 раза.
То есть если я стою и рядом 5 человек то оно пишется аж 5 раз в чат.


Прошу помогите, я ошибок не нашёл.

Вот всё что имеем:

public OnPlayerText(playerid, text[])
PHP:
                if(strlen(text) < 93 && player_info[playerid][pCall] == false)
                {
//                    if(GetPVarInt(playerid, "MASKON") == 1) ProetectorChat(25.0, playerid, text, 0xF5F5F5FF, 0xF5F5F5FF, 0xF5F5F5FF, 0xE6E6E6FF,0xB8B8B8FF);
                    ProetectorChat(25.0, playerid, text, 0xFFFFFFFF, 0xFFFFFFFF, 0xF5F5F5FF, 0xE6E6E6FF,0xB8B8B8FF);
                    if(Tazer[playerid] == true) ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
                    if(player_info[playerid][pEat] >= 1 || PlayerStartJob[playerid] == true) ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
                    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
                    {
                        ApplyAnimation(playerid, "PED", "IDLE_chat", 4.1, 0, 1, 1, 1, 1);
                         SetTimerEx("animchat", 3200, 0, "i", playerid);
                         SetPlayerChatBubble(playerid, text, 0x00ccffFF, 15, 7000);
                        anti_cheat[playerid][pFlood] = true;
                    }
                }
stock ProxDetectorChat(Float:radi, playerid, text[],col1,col2,col3,col4,col5)
PHP:
stock ProetectorChat(Float:radi, playerid, text[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new mssg[128];
        new Float:posx;new Float:posy;new Float:posz;new Float:oldposx;new Float:oldposy;new Float:oldposz;new Float:tempposx;new Float:tempposy;new Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        new pColor = GetPlayerColor(playerid) >>> 8;
        foreach(new i: Player)
        {
            if(IsPlayerConnected(i))
            {
                if(player_info[i][pChat] == 3) continue;
                if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
                {
                //
                    switch(player_info[i][pChat])
                    {
                        case 1:
                        {
                            switch(player_info[i][pIDS])
                            {
                                case 1:
                                {
                                    format(mssg, sizeof(mssg), "{%06x}%s(%d):{FFFFFF} %s", pColor, player_info[playerid][pName], playerid, text);
                                }
                                case 2:
                                {
                                    format(mssg, sizeof(mssg), "{%06x}%s:{FFFFFF} %s", pColor, player_info[playerid][pName], text);
                                }
                            }
                            if(player_info[i][pNickCs] == 2)
                            {
                                format(mssg, sizeof(mssg), "%s", text);
                            }
                        }
                        case 2:
                        {
                            switch(player_info[i][pIDS])
                            {
                                case 1:
                                {
                                     format(mssg, sizeof(mssg), " - %s {%06x}(%s)[%d]", text, pColor, player_info[playerid][pName], playerid);
                                }
                                case 2:
                                {
                                    format(mssg, sizeof(mssg), " - %s {%06x}(%s)", text, pColor, player_info[playerid][pName]);
                                }
                            }
                            if(player_info[i][pNickCs] == 2)
                            {
                                format(mssg, sizeof(mssg), "%s", text);
                            }
                        }
                        case 3:
                        {
                        }
                    }
                    //
                    GetPlayerPos(i, posx, posy, posz);
                    tempposx = (oldposx -posx);
                    tempposy = (oldposy -posy);
                    tempposz = (oldposz -posz);
                    if(((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) SCM(i, col1, mssg);
                    else if(((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) SCM(i, col2, mssg);
                    else if(((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) SCM(i, col3, mssg);
                    else if(((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) SCM(i, col4, mssg);
                    else if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) SCM(i, col5, mssg);
                }
            }
        }
    }
    return 1;
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу