09.02.2016, 10:11
Возникла проблема с чатом, в чат выводит все сообщения по несколько раз:
Кодировочка помялась слегка
Код OnPlayerText
Вот logi:
Кодировочка помялась слегка
Код OnPlayerText
PHP код:
public OnPlayerText(playerid, text[])
{
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(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(string, sizeof(string), "%s: %s",sendername,text);
ABroadCast(COLOR_LIGHTRED,string,1);
format(string, sizeof(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(playerid, COLOR_LIGHTRED, string);
SetPlayerChatBubble(playerid, "зaoeнуo(a)",COLOR_PURPLE,30.0,10000);
return false;
}
if(TalkingLive[playerid] == 1)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< [Oaл] SF News > %s: %s", sendername, text);
OOCNews(COLOR_GREEN, string);
Flood[playerid] = 2;
}
if(TalkingLivels[playerid] == 1)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< [Oaл] LS News %s: %s", sendername, text);
LSNews(0x0073B7AA, string);
Flood[playerid] = 2;
}
if(TalkingLivelv[playerid] == 1)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< [Oaл] LV News > %s: %s", sendername, text);
LVNews(TEAM_CYAN_COLOR, string);
Flood[playerid] = 2;
}
if(TalkingLive[playerid] == 2)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
if(PlayerInfo[playerid][pMember] == 9)
{
format(string, sizeof(string), "< SF News > Вaдуueй %s: %s", sendername, text);
OOCNews(COLOR_GREEN, string);
Flood[playerid] = 2;
return false;
}
else
{
format(string, sizeof(string), "< SF News > Aоnoь %s: %s", sendername, text);
OOCNews(COLOR_GREEN, string);
Flood[playerid] = 2;
return false;
}
}
if(TalkingLivels[playerid] == 2)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
if(PlayerInfo[playerid][pMember] == 16)
{
format(string, sizeof(string), "< LS News > Вaдуueй %s: %s", sendername, text);
LSNews(0x0073B7AA, string);
Flood[playerid] = 2;
return false;
}
else
{
format(string, sizeof(string), "< LS News > Aоnoь %s: %s", sendername, text);
LSNews(0x0073B7AA, string);
Flood[playerid] = 2;
return false;
}
}
if(TalkingLivelv[playerid] == 2)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
if(PlayerInfo[playerid][pMember] == 20)
{
format(string, sizeof(string), "< LV News > Вaдуueй %s: %s", sendername, text);
LVNews(TEAM_CYAN_COLOR, string);
return false;
}
else
{
format(string, sizeof(string), "< LV News > Aоnoь %s: %s", sendername, text);
LVNews(TEAM_CYAN_COLOR, string);
return false;
}
}
if(Tel[playerid] == 1)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "[Oaлaфон] %s: %s", sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return false;
}
if(Mobile[playerid] != 999)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "[Oaлaфон] %s: %s", sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
if(IsPlayerConnected(Mobile[playerid]) && Mobile[Mobile[playerid]] == playerid) SendClientMessage(Mobile[playerid], COLOR_YELLOW,string);
return false;
}
if(PEfir[playerid] != 255)
{
if(PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pLeader] == 9)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!");return false; }
format(string, sizeof(string), "< SF News > %s: %s", sendername,text);
OOCNews(COLOR_GREEN, string);
Flood[playerid] = 2;
}
if(PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< LV News > %s: %s", sendername,text);
LVNews(TEAM_CYAN_COLOR, string);
Flood[playerid] = 2;
}
if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< LS News > %s: %s", sendername,text);
LSNews(0x0073B7AA, string);
Flood[playerid] = 2;
}
if(Pefir[playerid] == 1)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< SF News > %s: %s", sendername,text);
OOCNews(COLOR_GREEN, string);
Flood[playerid] = 2;
}
if(Pefir[playerid] == 2)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< LS News > %s: %s", sendername,text);
LSNews(0x0073B7AA, string);
Flood[playerid] = 2;
}
if(Pefir[playerid] == 3)
{
if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa!"); return false; }
format(string, sizeof(string), "< LV News > %s: %s", sendername,text);
LSNews(TEAM_CYAN_COLOR, string);
Flood[playerid] = 2;
}
return false;
}
if(strcmp(text, "i?eвao", true) == 0 || strcmp(text, "eу", true) == 0 || strcmp(text, "oaй", true) == 0|| strcmp(text, "q", true) == 0 || strcmp(text, "re", true) == 0 || strcmp(text, "ghbdtn", true) == 0)
{
new suspect = GetClosestPlayer(playerid);
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(GetDistanceBetweenPlayers(playerid,suspect) < 2 && !IsPlayerInAnyVehicle(suspect) && !IsPlayerInAnyVehicle(playerid))
{
if(PlayerInfo[playerid][pMember] == PlayerInfo[suspect][pMember])
{
format(string, sizeof(string), "%s iоaaл(a) ?уeу %s'у", sendername ,giveplayer);
ProxDetector(5.0, playerid, string, COLOR_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(string, sizeof(string), "%s iоeaзaл(a) ?aniaльцовeу Los Santos Vagos Gang", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(string, sizeof(string), "%s iоeaзaл(a) ?aniaльцовeу Grove Street Gang", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(string, sizeof(string), "%s iоeaзaл(a) ?aniaльцовeу Varios Los Aztecas Gang", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(string, sizeof(string), "%s iоeaзaл(a) ?aniaльцовeу The Ballas Gang", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(string, sizeof(string), "%s iоeaзaл(a) ?aniaльцовeу The Rifa Gang", sendername);
ProxDetector(30.0, playerid, string, COLOR_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) == 0 || strcmp(text, "э", true) == 0 || strcmp(text, "эй блy", true) == 0|| strcmp(text, "блyoь", true) == 0 || strcmp(text, "Блyдь", true) == 0 || 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) == 0 || strcmp(text, "eдeоo", true) == 0 || strcmp(text, "nуea", true) == 0 || strcmp(text, "ieд?", true) == 0 )
{
SetPlayerChatBubble(playerid, "Facepalm", COLOR_PURPLE, 30.0, 10000);
ApplyAnimation(playerid, "MISC", "plyr_shkhead",4.0,0,0,0,0,0,1);
return false;
}
else if(strcmp(text, "xD", true) == 0 || strcmp(text, "xd", true) == 0 || strcmp(text, ":В", true) == 0 || strcmp(text, ":в", true) == 0 )
{
format(string, sizeof(string), "%s niaёony", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerChatBubble(playerid, "niaёony", COLOR_PURPLE, 30.0, 10000);
return false;
}
else if(strcmp(text, "чВ", true) == 0 || strcmp(text, "oД", true) == 0 || strcmp(text, "oд", true) == 0 || strcmp(text, "xDD", true) == 0)
{
format(string, sizeof(string), "%s вaлyaony оo niaoa", sendername);
ProxDetector(30.0, playerid, string, COLOR_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) == 0 || strcmp(text, "))", true) == 0)
{
format(string, sizeof(string), "%s улuбaaony", sendername);
ProxDetector(30.0, playerid, string, COLOR_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) == 0 || strcmp(text, "((", true) == 0)
{
format(string, sizeof(string), "%s a?уnoeo", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(string, sizeof(string), "%s oоoочao во вanь aолоn", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(string, sizeof(string), "{ffffff}• {AC0000}[Оoeбea] {ffffff}У Вan бaн чaoa! До nнyoey: %d naeунд(u)",PlayerInfo[playerid][pMuteTime]);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
return false;
}
if(PlayerInfo[playerid][pLevel] <= 1)
{
new succ;
for(new i; i<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 12: ApplyAnimation(playerid,"GANGS","prtial_gngtlkH",4.1,0,1,1,1,1,1);
case 15: ApplyAnimation(playerid,"GANGS","prtial_gngtlkG",4.1,0,1,1,1,1,1);
case 17: ApplyAnimation(playerid,"GANGS","prtial_gngtlkB",4.1,0,1,1,1,1,1);
case 18,13: ApplyAnimation(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", 2400, false, "d", playerid);
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "- %s[%d]: %s", sendername,playerid, text);
SetPlayerChatBubble(playerid, text, 0x6495EDFF, 20.0, 10000);
ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
Flood[playerid] = 2;
return false;
}
return false;
}
Код:
[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 12: ApplyAnimation(playerid,"GANGS","prtial_gngtlkH",4.1,0,1,1,1,1,1);
case 15: ApplyAnimation(playerid,"GANGS","prtial_gngtlkG",4.1,0,1,1,1,1,1);
case 17: ApplyAnimation(playerid,"GANGS","prtial_gngtlkB",4.1,0,1,1,1,1,1);
case 18,13: ApplyAnimation(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", 2400, false, "d", playerid);
}
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("Такие пироги 40");
format(string, sizeof(string), "- %s[%d]: %s", sendername,playerid, text);
SetPlayerChatBubble(playerid, text, 0x6495EDFF, 20.0, 10000);
ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
Flood[playerid] = 2;
return false;