TheFlores
Умник
В общем, когда ты ставишь себя на Администратора Президента и пишешь в /f чат, то тебе выдает 2 сообщения в чате (Но остальные видят только 1, то есть, у остальных этот баг не отображается).
То, как видит Президент, когда пишет "/f Текст сообщений":
У остальных игроков пишет все как положено - 1 раз.
А с /fn вообще путаница. Когда пишешь "/fn Текст сообщения", то у остальных в чате пишет так:
А у тебя просто отображает 2 раза:
Так Президентом. С лидерками и министерствами такого нету.
Вот сами команды:
Чую, что ошибка где-то здесь.
Помогите.
То, как видит Президент, когда пишет "/f Текст сообщений":
PHP:
[F] Президент Ник нейм: Текст сообщения
[F] Президент Ник нейм: Текст сообщения
А с /fn вообще путаница. Когда пишешь "/fn Текст сообщения", то у остальных в чате пишет так:
PHP:
(( [F] Президент Ник нейм: Текст сообщения ))
[F] Президент Ник нейм: (( Текст сообщения ))
PHP:
(( [F] Президент Ник нейм: Текст сообщения ))
(( [F] Президент Ник нейм: Текст сообщения ))
Вот сами команды:
PHP:
CMD:f(playerid, params[])
{
if(pInfo[playerid][pMember])
{
if(pInfo[playerid][pMuted] > 0) return SendMuteMessage(playerid);
else if(!(pInfo[playerid][pSettings] & setFractionChat)) return SendClientMessage(playerid, COLOR_GREY, "Ваш чат организации отключен!");
else if(pCuff[playerid][pCuffee] == playerid) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] На Вас надеты наручники!");
else if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /f [текст]");
else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SendClientMessage(playerid,COLOR_GREY,"Не флуди");
else if(IsAIP(params[0])) return 0;
else if(CheckString(params[0], 2)) return PlayerGetsChatBan(playerid, params[0]);
new string[128], mesid[128];
format(string, sizeof(string), "[F] %s %s: %s", pInfo[playerid][pMinistr] ? min_Name[pInfo[playerid][pMinistr]-1] : Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), params[0]);
format(mesid, sizeof(mesid), "[F] %s %s[%d]: %s", pInfo[playerid][pMinistr] ? min_Name[pInfo[playerid][pMinistr]-1] : Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), playerid, params[0]);
if(!pInfo[playerid][pMinistr])
{
switch(pInfo[playerid][pMember])
{
case 2,3,4,21:
{
SendFMes(2, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(3, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(4, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(21, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 1,24,25,26:
{
SendFMes(1, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(24, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(25, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(26, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 12,13,14:
{
SendFMes(12, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(13, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(14, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 18,19,20:
{
SendFMes(18, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(19, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(20, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 5,22,23:
{
SendFMes(5, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(22, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(23, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
default: SendFMes(pInfo[playerid][pMember], 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
foreach(new i : Player)
{
if(!gPlayerLogged[i]) continue;
if(PlayerMinistr(i))
{
for(new id;id<4;id++)
{
if(pInfo[playerid][pMember] == min_idControl[pInfo[i][pMinistr]-1][id] && pInfo[i][pSettings] & setFractionChat)
{
SendClientMessage(i, 0x4682B4AA, (!(pInfo[i][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
}
}
}
}
else
{
foreach(new i : Player)
{
if(!gPlayerLogged[i]) continue;
for(new id;id<4;id++)
{
if(min_idControl[pInfo[playerid][pMinistr]-1][id] != -1)
{
if(pInfo[i][pMember] == min_idControl[pInfo[playerid][pMinistr]-1][id] && pInfo[i][pSettings] & setFractionChat)
{
SendClientMessage(i, 0x4682B4AA, (!(pInfo[i][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
}
}
}
SendClientMessage(playerid, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
SetString(OldMessage[playerid], params[0]);
TextReset[playerid] = gettime()+3;
}
else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
return 1;
}
PHP:
CMD:fn(playerid, params[])
{
if(pInfo[playerid][pMember])
{
if(pInfo[playerid][pMuted] > 0) return SendMuteMessage(playerid);
else if(!(pInfo[playerid][pSettings] & setFractionChat)) return SendClientMessage(playerid, COLOR_GREY, "Ваш чат организации отключен!");
else if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /fn [текст]");
else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SendClientMessage(playerid,COLOR_GREY,"Не флуди");
else if(IsAIP(params[0])) return 0;
else if(CheckString(params[0], 2)) return PlayerGetsChatBan(playerid, params[0]);
new string[128], mesid[128];
format(string, sizeof(string), "(( [F] %s %s: %s ))", pInfo[playerid][pMinistr] > 0 ? min_Name[pInfo[playerid][pMinistr]-1] : Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), params[0]);
format(mesid, sizeof(mesid), "(( [F] %s %s[%d]: %s ))", pInfo[playerid][pMinistr] > 0 ? min_Name[pInfo[playerid][pMinistr]-1] : Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), playerid, params[0]);
if(!pInfo[playerid][pMinistr])
{
switch(pInfo[playerid][pMember])
{
case 2,3,4,21:
{
SendFMes(2, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(3, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(4, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(21, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 1,24,25,26:
{
SendFMes(1, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(24, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(25, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(26, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 12,13,14:
{
SendFMes(12, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(13, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(14, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 18,19,20:
{
SendFMes(18, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(19, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(20, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
case 5,22,23:
{
SendFMes(5, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(22, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
SendFMes(23, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
default: SendFMes(pInfo[playerid][pMember], 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
foreach(new i : Player)
{
if(!gPlayerLogged[i]) continue;
if(PlayerMinistr(i))
{
for(new id;id<4;id++)
{
if(pInfo[playerid][pMember] == min_idControl[pInfo[i][pMinistr]-1][id] && pInfo[i][pSettings] & setFractionChat)
{
SendClientMessage(i, 0x4682B4AA, (!(pInfo[i][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
}
}
}
}
else
{
foreach(new i : Player)
{
if(!gPlayerLogged[i]) continue;
for(new id;id<4;id++)
{
if(min_idControl[pInfo[playerid][pMinistr]-1][id] != -1)
{
if(pInfo[i][pMember] == min_idControl[pInfo[playerid][pMinistr]-1][id] && pInfo[i][pSettings] & setFractionChat)
{
SendClientMessage(i, 0x4682B4AA, (!(pInfo[i][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
}
}
}
SendClientMessage(playerid, 0x4682B4AA, (!(pInfo[playerid][pSettings] & setPlayerIDChat)) ? (string) : (mesid));
}
SetString(OldMessage[playerid], params[0]);
TextReset[playerid] = gettime()+3;
}
else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
return 1;
}
PHP:
format(string, sizeof(string), "(( [F] %s %s: %s ))", pInfo[playerid][pMinistr] > 0 ? min_Name[pInfo[playerid][pMinistr]-1] : Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), params[0]);
format(mesid, sizeof(mesid), "(( [F] %s %s[%d]: %s ))", pInfo[playerid][pMinistr] > 0 ? min_Name[pInfo[playerid][pMinistr]-1] : Fraction_Rang[pInfo[playerid][pMember]][pInfo[playerid][pRank]], GetName(playerid), playerid, params[0]);
Последнее редактирование:
