22:32
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
FreeRoam Чат
RuLeZДата: Воскресенье, 31.08.2008, 17:40 | Сообщение # 1
Новенький
Группа: Продвинутые
Сообщений: 22
Награды: 1
Город: Гугольск
Репутация: 0
Замечания: 0%
Статус:
Наверное многие переделывали популярный мод Freeroam. И, наверное, многих раздражало то, что сообщение в чате такого же цвета, что и ник. Изучил кучу скриптов, но так и не понял что надо сделать чтобы цвет ника остался без изменений, а сообщение выводилось белым,
Код:
Code
public OnPlayerText(playerid, text[]) {
    new string[256];
    new playername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];

    GetPlayerName(playerid, playername, sizeof(playername));
       
    if (text[0] == '!' && query[playerid] != 255) {
      if (IsPlayerConnected(query[playerid])) {
          GetPlayerName(query[playerid], giveplayer, sizeof(giveplayer));
          format(string, sizeof(string), "--- PM: %s (id: %d) to %s (id: %d): %s", playername,playerid,giveplayer,query[playerid],text);
      printf(string);
      format(string, sizeof(string), "* PM to %s (id: %d): %s", giveplayer,query[playerid],text);
         SendClientMessage(playerid, playerColors[playerid], string);
          format(string, sizeof(string), "* PM от %s (id: %d): %s", playername,playerid,text);
         SendClientMessage(query[playerid], playerColors[playerid], string);
      }
      else {
      format(string, sizeof(string), "* %d неактивный игрок.", query[playerid]);
      SendClientMessage(playerid, COLOR_YELLOW, string);
     }
    }
    else {
     if (muted[playerid] == 1) {
      SendClientMessage(playerid, COLOR_RED, "* Ты не можешь писать в общий чат.");
      return 0;
     }

     format(string, sizeof(string), "%s(%d): %s", playername,playerid,text);
        SendClientMessageToAll(playerColors[playerid], string);
    }
    return 0;
}

Подскажите как исправить? PS: Функцию мута необходимо оставить.





Сообщение отредактировал RuLeZ - Воскресенье, 31.08.2008, 17:40
theAloneДата: Воскресенье, 31.08.2008, 18:00 | Сообщение # 2
Долгожитель
Группа: Пользователи
Сообщений: 1380
Награды: 1
Город: Москва
Репутация: 92
Замечания: 0%
Статус:
Code
public OnPlayerText(playerid, text[]) {
     new string[256];
     new playername[MAX_PLAYER_NAME];
     new giveplayer[MAX_PLAYER_NAME];

     GetPlayerName(playerid, playername, sizeof(playername));
         
     if (text[0] == '!' && query[playerid] != 255) {
       if (IsPlayerConnected(query[playerid])) {
           GetPlayerName(query[playerid], giveplayer, sizeof(giveplayer));
           format(string, sizeof(string), "--- PM: %s (id: %d) to %s (id: %d): %s", playername,playerid,giveplayer,query[playerid],text);
       printf(string);
       format(string, sizeof(string), "* PM to %s (id: %d): %s", giveplayer,query[playerid],text);
          SendClientMessage(playerid, playerColors[playerid], string);
           format(string, sizeof(string), "* PM от %s (id: %d): %s", playername,playerid,text);
          SendClientMessage(query[playerid], playerColors[playerid], string);
       }
       else {
       format(string, sizeof(string), "* %d неактивный игрок.", query[playerid]);
       SendClientMessage(playerid, COLOR_YELLOW, string);
      }
     }
     else {
      if (muted[playerid] == 1) {
       SendClientMessage(playerid, COLOR_RED, "* Ты не можешь писать в общий чат.");
       return 0;
      }
     }
     return 0;
}

Держи

MadCatДата: Воскресенье, 31.08.2008, 18:05 | Сообщение # 3
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 5
Город: Екатеринбург
Репутация: 24
Замечания: 0%
Статус:
a_samp.inc:
Code

SendPlayerMessageToPlayer(playerid, senderid, const message[]);

Угадайте что делает :)



MultiGTA
Now open source
Последняя информация
theAloneДата: Воскресенье, 31.08.2008, 18:09 | Сообщение # 4
Долгожитель
Группа: Пользователи
Сообщений: 1380
Награды: 1
Город: Москва
Репутация: 92
Замечания: 0%
Статус:
MadCat, отсылает сообщения типа.

[DPS]EvilRiaz: ЭТО НЕ Я ПИСАЛ, А СКРИПТ!
SendPlayerMessageToAll(senderid, "ЭТО НЕ Я ПИСАЛ, А СКРИПТ!");

Чтобы просто юзать БЕЗ ЦВЕТА:

format(string, sizeof(string), "%s(%d): %s", playername,playerid,text);
SendClientMessageToAll(playerColors[playerid], string);

Это убрать. А

RuLeZДата: Воскресенье, 31.08.2008, 18:13 | Сообщение # 5
Новенький
Группа: Продвинутые
Сообщений: 22
Награды: 1
Город: Гугольск
Репутация: 0
Замечания: 0%
Статус:
Quote (|DPS|EvilRiaz)
Code
public OnPlayerText(playerid, text[]) {
new string[256];
new playername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];

GetPlayerName(playerid, playername, sizeof(playername));

if (text[0] == '!' && query[playerid] != 255) {
if (IsPlayerConnected(query[playerid])) {
GetPlayerName(query[playerid], giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "--- PM: %s (id: %d) to %s (id: %d): %s", playername,playerid,giveplayer,query[playerid],text);
printf(string);
format(string, sizeof(string), "* PM to %s (id: %d): %s", giveplayer,query[playerid],text);
SendClientMessage(playerid, playerColors[playerid], string);
format(string, sizeof(string), "* PM от %s (id: %d): %s", playername,playerid,text);
SendClientMessage(query[playerid], playerColors[playerid], string);
}
else {
format(string, sizeof(string), "* %d неактивный игрок.", query[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
}
else {
if (muted[playerid] == 1) {
SendClientMessage(playerid, COLOR_RED, "* Ты не можешь писать в общий чат.");
return 0;
}
}
return 0;
}

Держи

Сообщения вообще не выводит :(


MadCatДата: Воскресенье, 31.08.2008, 19:46 | Сообщение # 6
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 5
Город: Екатеринбург
Репутация: 24
Замечания: 0%
Статус:
В общем так.
Если фукнция OnPlayerText возвращает ноль, то сообщение, которое игрок написал, не выводиться. Если единицу - выводиться.
В связи с этим. Либо
Code

      if (muted[playerid] == 1) {
       SendClientMessage(playerid, COLOR_RED, "* Ты не можешь писать в общий чат.");
       return 0;
      }
     return 1;
}

Либо
Code

      if (muted[playerid] == 1) {
       SendClientMessage(playerid, COLOR_RED, "* Ты не можешь писать в общий чат.");
       return 0;
      }

     SendPlayerMessageToAll(playerid, text);
      
     return 0;
}



MultiGTA
Now open source
Последняя информация
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua