[ Modificare ] Plugin

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
Retired
Membru, skill 0
Membru, skill 0
Posts: 60
Joined: 12 Apr 2019, 19:53
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 8 times
Been thanked: 1 time

22 Jan 2022, 21:29

Plugin Cerut: Mesaje
Descriere (adica ce face el mai exact): Plugin pentru mesaje in Chat + Culoare
Serverul impune conditii strict HLDS/REHLDS?: Nu
Ai cautat pluginul?(daca da, precizeaza cum): Da , Ceea ce am gasit imi citeste doar un mesaj
Necesita mod special?: Nu cred
Configuratie server: -
PS : Vreau sa bag in jur de 15 mesaje in mesaje.ini . Dar imi citeste doar 1 singur
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <csx>


#define X_POS         -1.0
#define Y_POS         0.20
#define HOLD_TIME     12.0
#define NUM_MESSAGES	20
#define STRING_LEN	256
#define charsof(%1) (sizeof(%1)-1)
#define time_welcome 15
#define time_admin 17
#define max 2

new Array:g_Values
new Array:g_Messages
new g_MessagesNum
new g_Current
new amx_freq_imessage;
static const configfile[] = "addons/amxmodx/configs/mesaje.ini"
new text_messages[NUM_MESSAGES][STRING_LEN]
new hud_messages[NUM_MESSAGES][4][STRING_LEN]
new hud_message_colors[NUM_MESSAGES][4][3]
new saytext_msgid

new num_hudmessages, num_textmessages, cur_hudmessage, cur_textmessage


static const forumurl[] = "http://www.Forumultau.ro/"

new hostname[64], cvar_hostname

public plugin_init()
{
	g_Messages=ArrayCreate(384);
	g_Values=ArrayCreate(3);
	register_plugin("Mesaje","0.1","RnL")
	register_cvar("advertise_hud_len","120.0")
	register_cvar("advertise_text_len","15.0")
	register_cvar("advertise_hud_loc","1")

	saytext_msgid = get_user_msgid("SayText")

	read_configfile()

	if(num_hudmessages) set_task(get_cvar_float("advertise_hud_len"),"display_hudmessage",0,"",0,"b")
	if(num_textmessages) set_task(get_cvar_float("advertise_text_len"),"display_textmessage",0,"",0,"b")
	register_dictionary("wide_addons.txt")
	register_srvcmd("amx_imessage", "setMessage")
	amx_freq_imessage=register_cvar("amx_freq_imessage", "10")
	
	new lastinfo[8]
	get_localinfo("lastinfomsg", lastinfo, 7)
	g_Current = str_to_num(lastinfo)
	set_localinfo("lastinfomsg", "")
	cvar_hostname = get_cvar_pointer("hostname");

        set_task(5.0,"showx",0,"",0,"b",0);
        register_cvar("amx_forum",forumurl);
}

public infoMessage()
{
	if (g_Current >= g_MessagesNum)
		g_Current = 0
		
	// No messages, just get out of here
	if (g_MessagesNum==0)
	{
		return;
	}
	
	new values[3];
	new Message[384];
	
	ArrayGetString(g_Messages, g_Current, Message, charsof(Message));
	ArrayGetArray(g_Values, g_Current, values);
	
	new hostname[64];
	
	get_cvar_string("hostname", hostname, 63);
	replace(Message, 380, "%hostname%", hostname);
	
	set_hudmessage(values[0], values[1], values[2], X_POS, Y_POS, 0, 0.5, HOLD_TIME, 2.0, 2.0, -1);
	
	show_hudmessage(0, "%s", Message);
	
	client_print(0, print_console, "%s", Message);
	++g_Current;
	
	new Float:freq_im = get_pcvar_float(amx_freq_imessage);
	
	if (freq_im > 0.0)
		set_task(freq_im, "infoMessage", 12345);
}

public setMessage()
{

	new Message[384];
	
	remove_task(12345)
	read_argv(1, Message, 380)
	
	while (replace(Message, 380, "\n", "^n")) {}
	
	new mycol[12]
	new vals[3];
	
	read_argv(2, mycol, 11)		// RRRGGGBBB
	vals[2] = str_to_num(mycol[6])
	
	mycol[6] = 0
	vals[1] = str_to_num(mycol[3])
	
	mycol[3] = 0
	vals[0] = str_to_num(mycol[0])
	
	g_MessagesNum++
	
	new Float:freq_im = get_pcvar_float(amx_freq_imessage)
	
	ArrayPushString(g_Messages, Message);
	ArrayPushArray(g_Values, vals);
	
	if (freq_im > 0.0)
		set_task(freq_im, "infoMessage", 12345)
	
	return PLUGIN_HANDLED
}

public plugin_end()
{
	new lastinfo[8]

	num_to_str(g_Current, lastinfo, 7)
	set_localinfo("lastinfomsg", lastinfo)
}

public read_configfile()
{
	new Fsize = file_size(configfile,1)
	new read[STRING_LEN], trash
	for(new i=0;i<Fsize;i++)
	{
		read_file(configfile,i,read,STRING_LEN - 1,trash)
		if(containi(read,"Text")==0)
		{
			read_file(configfile,i+1,read,STRING_LEN - 1,trash)
			replace_all(read,STRING_LEN - 1,"[blue]","^x03")
			replace_all(read,STRING_LEN - 1,"[/blue]","^x01")
			replace_all(read,STRING_LEN - 1,"[red]","^x03")
			replace_all(read,STRING_LEN - 1,"[/red]","^x01")
			replace_all(read,STRING_LEN - 1,"[green]","^x04")
			replace_all(read,STRING_LEN - 1,"[/green]","^x01")
			replace_all(read,STRING_LEN - 1,"[Blue]","^x03")
			replace_all(read,STRING_LEN - 1,"[/Blue]","^x01")
			replace_all(read,STRING_LEN - 1,"[Red]","^x03")
			replace_all(read,STRING_LEN - 1,"[/Red]","^x01")
			replace_all(read,STRING_LEN - 1,"[Green]","^x04")
			replace_all(read,STRING_LEN - 1,"[/Green]","^x01")
			format(text_messages[num_textmessages],STRING_LEN - 1,"^x04^x01%s",read)
			num_textmessages++
		}
		else if(containi(read,"Hud")==0)
		{
			read_file(configfile,i+1,read,STRING_LEN - 1,trash)
			new j = 0, position = 0;
			while(position < strlen(read) && i<4)
			{
				while(contain(read[position]," ")==0) position++
				if(containi(read[position],"[blue]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 6])
					position = containi(read[position],"[/blue]") + 7 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/blue]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 0
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 255
				}
				else if(containi(read[position],"[red]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 5])
					position = containi(read[position],"[/red]") + 6 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/red]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				else if(containi(read[position],"[green]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 7])
					position = containi(read[position],"[/green]") + 8 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/green]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 0
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				else if(containi(read[position],"[Yellow]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/Yellow]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Yellow]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				else if(containi(read[position],"[Orange]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/Orange]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Orange]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 128
					hud_message_colors[num_hudmessages][j][2] = 64
				}
				else if(containi(read[position],"[Pink]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 6])
					position = containi(read[position],"[/Pink]") + 7 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Pink]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 128
				}
				else if(containi(read[position],"[Indigo]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/Indigo]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/Indigo]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 0
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 255
				}
				else if(containi(read[position],"[White]")==0)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position + 8])
					position = containi(read[position],"[/White]") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[/White]")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 255
				}
				else if(
				containi(read[position],"[blue]")==-1 &&
				containi(read[position],"[red]")==-1 &&
				containi(read[position],"[green]")==-1 &&
				containi(read[position],"[Yellow]")==-1 &&
				containi(read[position],"[Orange]")==-1 &&
				containi(read[position],"[Pink]")==-1 &&
				containi(read[position],"[Indigo]")==-1 &&
				containi(read[position],"[White]")==-1
				)
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position])
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 255
					hud_message_colors[num_hudmessages][j][2] = 255
					position = 129
				}
				else
				{
					format(hud_messages[num_hudmessages][j],STRING_LEN - 1,"%s",read[position])
					position = containi(read[position],"[") + 9 + position
					trash = containi(hud_messages[num_hudmessages][j],"[")
					if(trash!=-1) hud_messages[num_hudmessages][j][trash] = 0
					else break;
					hud_message_colors[num_hudmessages][j][0] = 255
					hud_message_colors[num_hudmessages][j][1] = 0
					hud_message_colors[num_hudmessages][j][2] = 0
				}
				j++
			}
			format(hud_messages[num_hudmessages][1],STRING_LEN - 1,"^n%s",hud_messages[num_hudmessages][1])
			format(hud_messages[num_hudmessages][2],STRING_LEN - 1,"^n^n%s",hud_messages[num_hudmessages][2])
			format(hud_messages[num_hudmessages][3],STRING_LEN - 1,"^n^n^n%s",hud_messages[num_hudmessages][3])
			num_hudmessages++
		}
	}
}

public display_hudmessage()
{
	new Float:loc[2]
	switch(get_cvar_num("advertise_hud_loc"))
	{
		case 2: 
		{
			loc[0] = -1.0
			loc[1] = -1.0
		}
		default:
		{
			loc[0] = -1.0
			loc[1] = 0.2
		}
	}
	set_hudmessage(hud_message_colors[cur_hudmessage][0][0],hud_message_colors[cur_textmessage][0][1],hud_message_colors[cur_textmessage][0][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
	show_hudmessage(0,hud_messages[cur_hudmessage][0])
	if(hud_messages[cur_hudmessage][1][2]!=0)
	{
		set_hudmessage(hud_message_colors[cur_hudmessage][1][0],hud_message_colors[cur_textmessage][1][1],hud_message_colors[cur_textmessage][1][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
		show_hudmessage(0,hud_messages[cur_hudmessage][1])
	}
	if(hud_messages[cur_hudmessage][2][4]!=0)
	{
		set_hudmessage(hud_message_colors[cur_hudmessage][2][0],hud_message_colors[cur_textmessage][2][1],hud_message_colors[cur_textmessage][2][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
		show_hudmessage(0,hud_messages[cur_hudmessage][2])
	}
	if(hud_messages[cur_hudmessage][3][6]!=0)
	{
		set_hudmessage(hud_message_colors[cur_hudmessage][3][0],hud_message_colors[cur_textmessage][3][1],hud_message_colors[cur_textmessage][3][2],loc[0],loc[1], 0, 6.0, 12.0,0.1,0.2,-1)
		show_hudmessage(0,hud_messages[cur_hudmessage][3])
	}
	cur_hudmessage = (cur_hudmessage + 1 ) % num_hudmessages
}

public display_textmessage()
{
	new num, players[32], player
	get_players(players,num,"ch")
	for(new i=0;i<num;i++)
	{
		player = players

		message_begin(MSG_ONE,saytext_msgid,{0,0,0},player)
		write_byte(player)
		write_string(text_messages[cur_textmessage])
		message_end()
	}
	cur_textmessage = (cur_textmessage + 1 ) % num_textmessages
}

new welcome_user[max][] = 
{
	"scientist/goodtoseeyou", //sound Player connected	
	"scientist/hellothere"	  //sound Player connected
};

new welcome_admin[max][] = 
{
	"scientist/greetings",   //sound Admin connected
	"scientist/howyoudoing"  //sound Admin connected
};

public welcome(id) 
{ 
	static name[32]; 
        new mapname[32];

        new izStats[8], izBody[8];
        new iRankPos, iRankMax

        iRankPos = get_user_stats(id, izStats, izBody);
        iRankMax = get_statsnum()

	get_user_name(id, name , 31);
	get_mapname(mapname,31);
	get_pcvar_string(cvar_hostname, hostname, 63); 
    
	if(is_user_connected(id) && !is_user_admin(id) && !is_user_bot(id)) 
	{ 
		set_hudmessage(20, 200, 110, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2) 
		show_hudmessage(id, "Bine ca ai revenit, %s^nDistractie placuta pe %s !^n%s^nRankul tau curent este: %d din %d jucatori", name, mapname, hostname, iRankPos, iRankMax) 
		new h
		h = random_num(0,max -1)
		client_cmd(id,"spk %s",welcome_user[h])
		
	}
	else
	if(get_user_flags(id) & ADMIN_KICK && !is_user_bot(id))
	{
		set_hudmessage(20, 200, 110, 0.05, 0.65, 1, 0.02, 6.0, 0.01, 0.1, 2) 
		show_hudmessage(id,"Bine ai venit %s^nEsti Admin..^nFa ordine pe %s !^nRankul tau curent este: %d din %d jucatori", name, hostname, iRankPos, iRankMax)
		new m
		m = random_num(0,max -1)
		client_cmd(id,"spk %s",welcome_admin[m])
	}

        return PLUGIN_CONTINUE
} 

public showx(id)
{
	get_pcvar_string(cvar_hostname, hostname, 63);
 
        set_hudmessage(255, 0, 255, -1.0, 0.87, 2, 6.0, 20.0);
        show_hudmessage(id, "Forumul serverului %s este %s", hostname, forumurl);
}

public client_disconnect(id) 
	remove_task(id) 

public client_putinserver(id)
	set_task(float(time_welcome), "welcome", id) 
RoyalServer
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

22 Jan 2022, 22:15

Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Retired
Membru, skill 0
Membru, skill 0
Posts: 60
Joined: 12 Apr 2019, 19:53
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 8 times
Been thanked: 1 time

23 Jan 2022, 12:50

Am lasat Sursa la ala care-l folosesc pentru al modifica pe ala , nu vreau ad_manager sau altceva , Eventual tot ala dar sa pot adauga pana in 15 mesaje , Mersi
Last edited by levin on 23 Jan 2022, 12:55, edited 1 time in total.
Reason: aici e pt cereri plugine, pt editare e alt sub-forum...
Post Reply

Return to “Cereri”

  • Information