PDA

Просмотр полной версии : [Вопрос] по SendClientMessage



Айболит
06.07.2014, 22:29
Доброй ночи, ув. форумчане п-п.р.. Вот сижу, пытаюсь, не как не могу пофиксить проблему.. Проблема у меня такая что, когда пишешь /a то видят все игроки на сервере.. И так же при отправке вопроса, когда отправляешь вопрос, то видно только тому игроку который это прислал, а хотя должно работать по другому... Вообщем помогите, пожалуйста, с меня плю+ики.


CMD:a(playerid, text[])
{
if(Player[playerid][pAdmin] == 0)
{
SendClientMessage(playerid, -1, "{FF1E00}(x){FFFFFF} {F0F0F0}Команды не существует");
}
if(Player[playerid][pAdmin] >= 1) //.
{
new string[128], sendername[MAX_PLAYER_NAME], Float:xpos, Float:ypos, Float:zpos;
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerPos(playerid, xpos, ypos, zpos);
format(string, sizeof string, "{ff0000}[A Chat] [%s] {FFFFFF}{00ffff}%s : %s", GetRankAdmin(playerid), sendername, text);
for(new i; i < MAX_PLAYERS; i ++)
{
if(!IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i, 50.0, xpos, ypos, zpos) || Player[playerid][pAdmin] < 1) continue;
SendClientMessage(i, 0xFFFFFFFF, string);
}
}
return 1;
}



if(dialogid == 27)
{
if(!response) return 1;
new bopros[MAX_PLAYER_NAME], mes[278];
GetPlayerName(playerid, bopros, sizeof(bopros));
format(mes, sizeof(mes), "Игрок : {F0F0F0}%s{FFFFFF} {00FFFA}[ID%i]{FFFFFF} задал вопрос : {E6E6E6}%s",bopros,playerid,inputtext);
SendClientMessage(Player[playerid][pAdmin] < 1, 0xFFFFFFFF, mes);
if(Player[playerid][pBopros] == 1)
{
SendClientMessage(playerid, -1, "Вы задали вопрос администрации. | Ожидайте ответа.");
}
}

L0ndl3m
06.07.2014, 22:41
SendClientMessage(Player[playerid][pAdmin] < 1, 0xFFFFFFFF, mes);

на


SendClientMessageToAll(0xFFFFFFFF, mes);

Айболит
06.07.2014, 22:46
SendClientMessage(Player[playerid][pAdmin] < 1, 0xFFFFFFFF, mes);

на


SendClientMessageToAll(0xFFFFFFFF, mes);

а зачем сообщать всему серверу то?

L0ndl3m
06.07.2014, 22:50
а зачем сообщать всему серверу то?

То есть только администрации? Если да, то так:


new
i = GetMaxPlayers();

do
{
--i;
if(IsPlayerConnected(i) && Player[i][pAdmin] != 0)
SendClientMessage(i, 0xFFFFFFFF, mes);
}
while(i);

Айболит
06.07.2014, 23:28
То есть только администрации? Если да, то так:


new
i = GetMaxPlayers();

do
{
--i;
if(IsPlayerConnected(i) && Player[i][pAdmin] != 0)
SendClientMessage(i, 0xFFFFFFFF, mes);
}
while(i);


сейчас проверю

- - - Добавлено - - -


То есть только администрации? Если да, то так:


new
i = GetMaxPlayers();

do
{
--i;
if(IsPlayerConnected(i) && Player[i][pAdmin] != 0)
SendClientMessage(i, 0xFFFFFFFF, mes);
}
while(i);


Работает, благодарю....