Система ' Показывания айди игроков в чате

В теме 4 сообщения

MrResm
Освоившийся

Доброго времени суток.

Суть: В чате не показует айди игроков перед ником, как на других серверах.

Ищу кто сделает.

ВК: https://vk.com/resmers

 

Цена: 25 рублей

Отредактировано пользователем MrResm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MrResm
Освоившийся
19 часов назад, odosenok сказал:

@MrResm, OnPlayerText скидывайте.

Скинул бы, но много. Надо скайп или дискорд для того что бы сами глянули в моде)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
LilPokemon
Гуру форума

Вопрос был решен через вк.

Спойлер

public OnPlayerText(playerid, text[])
{
    if(CountFloodForPlayer[playerid] >= 2) return 0;
    CountFloodForPlayer[playerid]++;
    //
	if(strlen(text) > 128) return 0;

	if(IsPlayerAuthorized(playerid) == PLAYER_OFFLINE)
	{
    	SendClientMessage(playerid, COLOR_GREY, "Вам нужно авторизироватся!");
    	return 0;
	}
	if(p_info[playerid][pMuteTime] > 0)
	{
	    SetPlayerChatBubble(playerid, "Пытается что-то сказать", CRED, 30.0, 10000);
		SendErr(playerid, "У вас бан чата");
		return 0;
	}
 	if(IsIpFound(text) || AntiReklama(text)&& !NoAntiReklama(text) )
	{
	    SendReklama(playerid,text);
		return 0;
	}
	
	new string[144];
    for(new i, c; text[i]; ++i)
        if((0x61 <= text[i] <= 0x7A) || (0x41 <= text[i] <= 0x5A) || (0xC0 <= text[i] <= 0xFF))
            string[c++] = text[i];
    for(new i, pos; i < max_exep; ++i)
        if((pos = strfind(string, exep_arr[i], false)) != -1){
            for(new len = strlen(exep_arr[i]); len--; string[pos++] = '.'){}
            i = 0;
        }
    for(new i, pos; i < max_word; ++i)
        if((pos = strfind(string, word_arr[i], false)) != -1){
            for(new len = strlen(word_arr[i]); len--; string[pos++] = '*'){}
            i = 0;
        }
    for(new i, c; text[i]; ++i)
        if((0x61 <= text[i] <= 0x7A) || (0x41 <= text[i] <= 0x5A) || (0xC0 <= text[i] <= 0xFF))
            if(string[c++] == '*')
                text[i] = '*';
	
 	if(GetPVarInt(playerid,"talkcall"))
	{
	    new callid =GetPVarInt(playerid,"called")-1;
	    if(IsPlayerConnected(callid))
	    {
	        if(GetPVarInt(callid,"talkcall"))
	        {
				format(stringer, 144, "[Тел] %s: %s", NamePlayer[playerid],text);
				SendClientMessage(callid,CYELLOW,stringer);
				SendClientMessage(playerid,CGRAY,stringer);
				return 0;
	        }
	    }
	}
	if(GetPVarInt(playerid,"TalkingLive") == 1)
	{
		if(AntiReklama(text))
		{
	        p_info[playerid][tLeader]=0;
	        p_info[playerid][tMember]=0;
	        p_info[playerid][tRank]=0;
	        UpdatePlayerData(playerid,"tLeader",0);
	        UpdatePlayerData(playerid,"tMember",0);
	        UpdatePlayerData(playerid,"tRank",0);

		    format(stringer,250,"[Анти-слив в эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
	        AdmMes(CBADINFO,stringer,1);
			return 0;
		}
		format(stringer, 128, "[Радио Лос Сантос] %s [%d] (тел.): %s", NamePlayer[playerid], playerid, text);
		LSNews(0x6B8E23FF, stringer);
	}
	if(GetPVarInt(playerid,"TalkingLivels") == 2)
	{
		if(AntiReklama(text))
		{
	        p_info[playerid][tLeader]=0;
	        p_info[playerid][tMember]=0;
	        p_info[playerid][tRank]=0;
	        UpdatePlayerData(playerid,"tLeader",0);
	        UpdatePlayerData(playerid,"tMember",0);
	        UpdatePlayerData(playerid,"tRank",0);

		    format(stringer,250,"[Анти-слив эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
	        AdmMes(CBADINFO,stringer,1);
			return 0;
		}
		if(p_info[playerid][tMember] == 16)
		{
			format(stringer, 128, "[Радио Лос Сантос] %s [%d]: %s", NamePlayer[playerid], playerid, text);
			LSNews(0x6B8E23FF, stringer);
			return 0;
		}
		else
		{
			format(stringer, 128, "[Радио Лос Сантос] %s [%d] (тел.): %s", NamePlayer[playerid],playerid, text);
			LSNews(0x6B8E23FF, stringer);
			return 0;
		}
	}

	if(GetPVarInt(playerid,"Tel") == 1)
	{
  		new string23[260];
		format(string23, 256, "[Телефон] %s: %s", NamePlayer[playerid], text);
		SendStreamMessage(20.0, playerid, string23,COLOR_FADE1);
		format(stringer, 128, "[Телефон] %s: %s", NamePlayer[playerid], text);
		return 0;
	}

	if(PEfir[playerid] != INVALID_PLAYER_ID)
	{
		if(p_info[playerid][tMember] == 16 || p_info[playerid][tLeader] == 16)
		{
			if(AntiReklama(text))
			{
		        p_info[playerid][tLeader]=0;
		        p_info[playerid][tMember]=0;
		        p_info[playerid][tRank]=0;
		        UpdatePlayerData(playerid,"tLeader",0);
		        UpdatePlayerData(playerid,"tMember",0);
		        UpdatePlayerData(playerid,"tRank",0);

			    format(stringer,250,"[Анти-слив в эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
		        AdmMes(CBADINFO,stringer,1);
				return 0;
			}
			format(stringer, 128, "[Радио Лос Сантос] %s: %s", NamePlayer[playerid], text);
			LSNews(0x6B8E23FF, stringer);
		}
		if(Pefir[playerid] == 2)
		{
			if(AntiReklama(text))
			{
		        p_info[playerid][tLeader]=0;
		        p_info[playerid][tMember]=0;
		        p_info[playerid][tRank]=0;
		        UpdatePlayerData(playerid,"tLeader",0);
		        UpdatePlayerData(playerid,"tMember",0);
		        UpdatePlayerData(playerid,"tRank",0);

			    format(stringer,250,"[Анти-слив в эфире]: %s[%d] попытался отправить текст: %s",NamePlayer[playerid],playerid,text);
		        AdmMes(CBADINFO,stringer,1);
				return 0;
			}
			format(stringer, 128, "[Радио Лос Сантос] %s: %s", NamePlayer[playerid], text);
			LSNews(0x6B8E23FF, stringer);
		}
		return 0;
	}
	else if(strcmp(text, "*102#", true) == 0)
	{

		SCM(playerid, COLOR_LIGHTGREEN, "==[ Мобильный баланс ] ==");
		format(stringer, 128, "- Баланс %d вирт",p_info[playerid][pMobile]);
		SCM(playerid, COLOR_WHITE, stringer);
		SCM(playerid, COLOR_WHITE, "- Пополнить баланс можно в любом банкомате");
		SCM(playerid, COLOR_LIGHTGREEN, "==[ Мобильный баланс ] ==");
		MeAction(playerid,"достаёт мобильник", 5.0);
		return 0;
	}
	if(!strcmp(text,")")) return MeAction(playerid, "улыбается"),0;
	if(!strcmp(text,"))")) return MeAction(playerid, "смеётся"),0;
	if(!strcmp(text,"(")) return MeAction(playerid, "расстроился"),0;
	if(!strcmp(text,"((")) return MeAction(playerid, "сильно расстроился"),0;
    if(GetPVarInt(playerid,"anti_sbiv_time") < gettime() && GetPVarInt(playerid,"MinerCount") == 0 && GetPVarInt(playerid,"anim_bolka") == 0 && GetPVarInt(playerid,"crack_tazer") == 0 && GetPVarInt(playerid,"Animation") == 0 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && !GetPVarInt(playerid,"robbankstime") && !GetPVarInt(playerid,"PlayerTied") && !GetPVarInt(playerid,"PlayerCuffedTime"))
	{
    	if(p_info[playerid][pSetAnim] == 0)
		{
			ApplyAnimation(playerid,"PED",Talk[p_info[playerid][pSetAnim]],8.1,0,1,1,1,1);
			SetTimerEx("ClearAnimText", 2000, 0, "i", playerid);
		}
    	else if(p_info[playerid][pSetAnim] != 0)
		{
			ApplyAnimation(playerid,"GANGS",Talk[p_info[playerid][pSetAnim]],4.1,1,1,1,1,1,1);
			SetTimerEx("ClearAnimText", 2000, 0, "i", playerid);
		}
	}
	if(GetPVarInt(playerid,"gag"))
	{
		SCM(playerid, COLOR_LIGHTRED, "У Вас кляп, вы не можете говорить!");
		return 0;
	}
	new mask = GetPVarInt(playerid,"mask");
	new mes[144],mesid[8],str[2][144],meslen = strlen(text);
	format(mesid,8," (%i)", playerid);
    strmid(str[0],text,0,80,100);
    strmid(str[1],text,80,meslen,meslen);
	GetPlayerPos(playerid,PlayerPos[playerid][0],PlayerPos[playerid][1],PlayerPos[playerid][2]);
	if(PlayerPos[playerid][0] == 0.0 || PlayerPos[playerid][1] == 0.0 || PlayerPos[playerid][2] == 0.0) return 0;
	new steeer[150];
	new colors = GetPlayerColor(playerid);
	new reeede = (colors & 0xFF000000) >>> 24;
	new greeene = (colors & 0x00FF0000) >>> 16;
	new bluewe = (colors & 0x0000FF00) >>> 8;
	format(steeer,120,"%x%x%x",min(reeede + 150, 255),min(greeene + 150, 255),min(bluewe + 150, 255));
	if(colorheads[playerid] > 0)
	{
		if(!IsPlayerInAnyVehicle(playerid)) format(stringer, 144, "- {%06x}%s(%d): {%s}%s", GetPlayerColor(playerid)>>> 8,NamePlayer[playerid], playerid,steeer, text);
		else format(stringer, 144, "- {%06x}%s(%d) (в машине): {%s}%s",GetPlayerColor(playerid)>>> 8,NamePlayer[playerid], playerid, steeer,text);
	    ProxDetector(10.0, playerid, stringer,GetPlayerColor(playerid));
		SetPlayerChatBubble(playerid,text,GetPlayerColor(playerid),20.0,10000);
		return 0;
	}
	foreach(new i:Player)
	{
		if (GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(i) || GetPlayerInterior(playerid) != GetPlayerInterior(i)) continue;
        if(!PlayerToPoint(14.0,i,PlayerPos[playerid][0],PlayerPos[playerid][1],PlayerPos[playerid][2])) continue;


        new color = PlayerToPoint(4.0,i,PlayerPos[playerid][0],PlayerPos[playerid][1],PlayerPos[playerid][2]) ? (0xFFFFFFFF) : PlayerToPoint(8.0,i,PlayerPos[playerid][0],PlayerPos[playerid][1],PlayerPos[playerid][2]) ? (0xCCCCCCFF) : (0xAAAAAAFF);
		if(mask)
		{
   	    	if(meslen>=80)
 	    	{
 	        	format(stringer,200,"- {%06x}%s%s(%d){%06x} {%s}%s: %s ...",(mask == 30) ? (0x7a766700 >>> 8) : (Fractions[mask][fractionColor]>>>8),(!IsAGang(playerid) && !ISAMAFIA(playerid)) ? ("Незнакомец") : (NamePlayer[playerid]),playerid,(Settings[i] & setPlayerIDChat) ? (""):(mesid),color>>>8,steeer,(GetPlayerState(playerid) == 2 || GetPlayerState(playerid) == 3) ? ("говорит (в машине)"):("говорит"),str[0]);
				SendClientMessage(i,color,stringer);
 	        	format(stringer,200,"{%s}... %s",steeer,str[1]);
				SendClientMessage(i,color,stringer);

            	continue;
		 	}
			else format(mes,144,"- {%06x}%s(%d)%s{%06x} {%s}%s: %s",(mask == 30) ? (0x7a766700 >>> 8) : (Fractions[mask][fractionColor]>>>8),(!IsAGang(playerid) && !ISAMAFIA(playerid)) ? ("Незнакомец") : (NamePlayer[playerid]),playerid,(Settings[i] & setPlayerIDChat) ? (""):(mesid),color>>>8,steeer,(GetPlayerState(playerid) == 2 || GetPlayerState(playerid) == 3) ? ("говорит (в машине)"):("говорит"),text);
	  	}
	 	else//
	 	{
 	    	if(meslen>=80)
 	    	{
 	        	format(stringer,200,"- {%06x}%s(%d)%s{%06x} {%s}%s: %s ...",Fractions[p_info[playerid][tMember]][fractionColor]>>>8,NamePlayer[playerid],playerid,(Settings[i] & setPlayerIDChat) ? (""):(mesid),color>>>8,steeer,(GetPlayerState(playerid) == 2 || GetPlayerState(playerid) == 3) ? ("говорит (в машине)"):("говорит"),str[0]);
				SendClientMessage(i,-1,stringer);
 	        	format(stringer,200,"{%s}... %s",steeer,str[1]);
				SendClientMessage(i,color,stringer);

            	continue;
		 	}
			else format(mes,144,"- {%06x}%s(%d)%s{%06x} {%s}%s: %s", Fractions[p_info[playerid][tMember]][fractionColor]>>>8,NamePlayer[playerid],playerid,(Settings[i] & setPlayerIDChat) ? (""):(mesid),color>>>8,steeer,(GetPlayerState(playerid) == 2 || GetPlayerState(playerid) == 3) ? ("говорит (в машине)"):("говорит"),text);
		}
    	SendClientMessage(i,-1,mes);
	}
	SetPlayerChatBubble(playerid, text, COLOR_WHITE, 20.0, 10000);
	return 0;
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Андрей Лазарев
      От Андрей Лазарев
      ROSTOV-HOST.RU - Современный Хостинг Игровых Серверов по невероятно низким ценам и удобной панелью управления 

      — Защита от DDoS-атак 
      — Бесплатная техническая поддержка 
      — Доступ в панель управления и личный кабинет 
      — Переустановка игрового сервера в любое время суток 
      — Редактирование конфигурационных файлов игрового сервера 
      — FTP доступ к файлам игрового сервера 
      — Мониторинг процессов 
      — Изменение количества слотов игрового сервера 
      — Система управления счетами и оплаты услуг 
      — Локальная MySQL база данных 
      — Автоустановка модов
      — Смена (версии / игры) сразу в панели управления


      Цены: с помесячной оплатой
      — GTA: SAMP              - 1слот / 0.40копп.
      — GTA: CRMP              - 1слот / 0.40копп.
      — GTA: MTA                 - 1слот / 0.80копп.
      — GTA: United MP       - 1слот / 0.80копп.
      — MineCraft: PE           - 1слот / 3.00копп.
      — MineCraft                  - 1слот / 5.00копп.
      — Counter Strike 1.6    - 1слот / 4.00копп.
       
      Цены: плати один раз пользуйся до скончания веков
      — 1 200 руб / SA:MP 0.3е/ CR:MP 0.3е/ МТА /    500 слотов
      — 1 800 руб / SA:MP 0.3.7/ CR:MP 0.3.7/ МТА /    1000 слотов
       

      Сайт: https://rostov-host.ru
      Группа в VK: https://vk.com/rostov_host
       
       
    • FanVan
      От FanVan

       
      Дешевый хостинг серверов SAMP, CRMP, Minecraft: Java & Bedrock Edition
       
      Помогаем запуститься начинающим проектам без больших вложений.
      Сделаем так, чтобы твои затраты на хостинг уменьшились без потери качества.
       
      Размещаем серверы в Хельсинках, Финляндия на процессоре частотой до 4.8 ГГц и NVMe диске.
      У нас нет красивого сайта, покупка услуг производится через бота в ЛС группы, а управление сервером -- посредством панели Pterodactyl.
      Мы не ограничиваем тебя слотами: все тарифы -- это маленькие компьютеры, ты волен сам устанавливать максимальное количество игроков, без повышения стоимости.
       
      К нам обращаются, когда хостинг начинает съедать большую часть бюджета из-за того, что хостер захотел выпендриться и добавил бесполезный функционал. Но лучше обратиться еще в начале, чтобы уменьшить затраты на хостинг и вложить как можно больше в рекламу.
       
      Никто не идеален, ничто не идеально: мы не можем помочь
      если у тебя высоконагруженный проект если тебе требуется защита от DDOS если тебе нужен пинг -1 если тебе важна автоустановка модов  
      Но ты можешь написать нам в тех. поддержку и, возможно, мы подберем более мощный тариф на отдельном сервере персонально для тебя по цене ниже, чем у других.
       
      Мы стремимся сделать создание сервера доступным каждому. Если остались вопросы или хочешь протестировать оборудование, напиши нам в ЛС группы.
    • 9at0z
      От 9at0z
      Flatgame.ru - Хостинг игровых серверов. Gta SAMP: 0.50коп/слот Gta СRMP: 0.50коп/слот MTA: 0.50коп/слот Minecraft: 5руб/слот Counter Stire 1.6: 7руб/слот Все сервера с автоусновкой модов, которые есть доступны. Обширная панель управления сервером. Тестовый периуд 3 дня. И очень много чего интересного!