Sign in to follow this  
Followers 0

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

4 posts in this topic

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

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

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

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

 

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

Edited by MrResm

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
19 часов назад, odosenok сказал:

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

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

Share this post


Link to post
Share on other sites

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

Спойлер

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;
}

 

 

Share this post


Link to post
Share on other sites
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By def
      arizona.pwn(23374) : error 012: invalid function call, not a valid address
      arizona.pwn(23374) : error 001: expected token: ";", but found ")"
      arizona.pwn(23374) : error 029: invalid expression, assumed zero
      arizona.pwn(23374) : fatal error 107: too many error messages on one line
      жалуется на данную строчку:
       
      %s{cccccc}Для продолжения нажмите 'Далее'",PN(playerid),playerid,ItemsInfo[itemid][ItemName2],hours,cost*hours,Inventory[playerid][2][slot], AksColorName(Inventory[playerid][4][slot]), Inventory[playerid][5][slot] ? GetNameStripe(Inventory[playerid][5][slot]) : "");  
    • By d7.KrEoL
      Datalink filterscript - передача тактической информации об игроках на карту sampmap.ru
      Скачать файл Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






      Добавил d7.KrEoL Добавлено 09.12.2024 Категория Скрипты Автор d7.KrEoL  
    • By d7.KrEoL
      Данный скрипт позволяет передавать информацию об игроках на тактическую карту проекта sampmap. Управление функциями через RCON команды, сам скрипт хоть и полностью готов к использованию, но скорее является примером, на его основе можно писать свои системы для взаимодействия с тактической картой.
      Тактическая карта проекта sampmap - это подобие даталинк системы, которая позволяет координировать действия отряда, либо просто отслеживать местоположение игроков в режиме радара. Для каждого переданного в datalink систему (на тактическую карту) игрока выводится его основная информация о скорости, азимуте, высоте, величине и направлении вектора скорости, а так же принадлежность свой/чужой
      Несколько скринов:
       
       
      Архивы:
       
      Исходники:
       
      Команды (ркон) для dlink:
      Помимо серверной версии скрипта существуют так же клиентские для обычного клиента с moonloader и для RakSAMP Lite бота. Все эти скрипты распространяются по открытой лицензии MIT, здесь находится git с исходниками. Проект открыт для ваших предложений относительно кода, или дальнейшего развития, вы можете оставить свои предложения на официальной странице github.






    • By Мемен Томорли
      Как сделать табличку после бана аккаунта? Типо как на малиновке, когда тебя банят, выдают табличку(скрин приложил), и при входе на сервер такую же табличку давало??