PDA

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



Trane911
19.05.2014, 15:02
Всем привет.
Вы все знаете старую добрую команду /bigears.
Подскажите, как сделать цикл?
Например, сама команда:


if(PlayerInfo[playerid][pBigears] == 0)
{
PlayerInfo[playerid][pBigEars] = 1;
SendClientMessage(playerid, COLOR_WHITE, "Включил");
}else{
PlayerInfo[playerid][pBigEars] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Выключил");
}

А как сделать цикл, чтобы если игрок какой-то пишет в чат, то была проверка всех игроков на этот pBigEars и выводило тем, у кого он включен?
Заранее спасибо :)

wAx
19.05.2014, 18:58
foreach(Player, i) {
if(PlayerInfo[playerid][pBigEars] != 0) {
SendClientMessage(i, color, переменная с текстом);
}
}

Ну или для извращенцев


for(new i; i <= MAX_PLAYERS; i++) {
if(PlayerInfo[playerid][pBigEars] != 0) {
SendClientMessage(i, color, переменная с текстом);
}
}

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

И все это в OnPlayerText

L0ndl3m
19.05.2014, 19:47
Ну или для извращенцев


for(new i; i <= MAX_PLAYERS; i++) {
if(PlayerInfo[playerid][pBigEars] != 0) {
SendClientMessage(i, color, переменная с текстом);
}
}

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

И все это в OnPlayerText

Почему для извращенцев? :grin: Есть же люди, которые используют только стандартные функции.
Свой вариант накину:


new
i = GetMaxPlayers()
;

do
{
--i;
if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pBigEars] == 1)
SendClientMessage(i, -1, "Текст, который будет писаться в чат тем игрокам, которые в зоне 'Большого Уха'");
}
while(i);

Trane911
19.05.2014, 20:04
Спасибо, закрыто.