Modificare .sma dacă se poate.

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
1Word
Utilizator banat
Utilizator banat
Posts: 129
Joined: 17 May 2009, 03:33
Detinator Steam: Da
Has thanked: 8 times
Been thanked: 1 time

10 Sep 2010, 16:21

Imi puteti modifica si mie sma-ul acesta , ca dupa 1 minut să dispară toate liniile de la rush , daca in caz ca unu dintre playeri intra peste sa-i dea 2-3 slap-uri cu 0 dmg.
| Afiseaza codul
[quote]#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>

//Used for create_middle functions
#define tag_sprite_size_horizontal	4000
#define tag_sprite_size_vertical	600
#define tag_sprite_vertical_increments	15

#define MINNUM		2

new bool:stopplugin

new beamsprite

new CTspawn_loc[3]
new Tspawn_loc[3]

new plugin_enabled, plugin_fence, plugin_2ppl, plugin_checktime, plugin_redrawtime, plugin_fencecolor, plugin_fencealpha, plugin_punishment

new Float:farthest_point1[3]
new Float:farthest_point2[3]
new alivenum, maxplayers

new Float:oldtime

new multiplier

public plugin_init()
{
	register_plugin("No Rush","2.0","GHW_Chronic")

	plugin_enabled = register_cvar("NR_enabled","1")
	plugin_fence = register_cvar("NR_fence","1")
	plugin_2ppl = register_cvar("NR_twopeople","1")
	plugin_punishment = register_cvar("NR_punishment","1")
	plugin_checktime = register_cvar("NR_checktime","2.0")
	plugin_redrawtime = register_cvar("NR_redrawtime","15.0")
	plugin_fencecolor = register_cvar("NR_fencecolor","green")
	plugin_fencealpha = register_cvar("NR_fencealpha","200")

	stopplugin=true
	new mapname[32]
	get_mapname(mapname,31)
	new configfile[200]
	get_configsdir(configfile,199)
	format(configfile,199,"%s/no_rush_maps.ini",configfile)
	if(file_exists(configfile))
	{
		new read[32], trash
		for(new i=0;i<file_size(configfile,1);i++)
		{
			read_file(configfile,i,read,31,trash)
			if(equali(mapname,read))
			{
				set_task(0.1,"spawn_locs")
				set_task(0.2,"create_middle1")
				oldtime = get_pcvar_float(plugin_redrawtime)
				stopplugin=false
				break;
			}
		}
	}

	register_event("DeathMsg","checknum","a")
	register_event("ResetHUD","checknum","b")

	maxplayers = get_maxplayers()
}

public plugin_precache()
{
	beamsprite = precache_model("sprites/dot.spr")
}

public client_putinserver(id)
{
	if(!stopplugin)
	{
		set_task(get_pcvar_float(plugin_checktime),"prethink",id,"",0,"b")
	}
}

public client_disconnect(id)
{
	remove_task(id)
}

public checknum()
{
	if(get_pcvar_num(plugin_enabled) && !stopplugin)
	{
		new newnum
		for(new i=0;i<=maxplayers;i++)
		{
			if(is_user_alive(i)) newnum++
		}
		if(alivenum>MINNUM && newnum<=MINNUM && get_pcvar_num(plugin_2ppl))
		{
			client_print(0,print_chat,"[AMXX] You can now cross over to the other side since only 2 people remain.")
		}
		alivenum=newnum
	}
}

public prethink(id)
{
	if(is_user_alive(id) && !stopplugin && get_pcvar_num(plugin_enabled) && !(alivenum<=MINNUM && get_pcvar_num(plugin_2ppl)) )
	{
		new origin[3]
		get_user_origin(id,origin)
		new team[32]
		get_user_team(id,team,31)
		new teamnum=1
		if(containi(team,"CT")!=-1 || containi(team,"Counter")!=-1)
		{
			teamnum=2
		}
		if( (get_distance(origin,CTspawn_loc)<get_distance(origin,Tspawn_loc) && teamnum==1) || (get_distance(origin,Tspawn_loc)<get_distance(origin,CTspawn_loc) && teamnum==2) )
		{
			if(get_pcvar_num(plugin_punishment)==1) user_kill(id)
			else
			{
				new origin[3]
				get_user_origin(id,origin)
				new Float:vector1[3]
				if(teamnum==2)
				{
					vector1[0] = float(CTspawn_loc[0]) - origin[0]
					vector1[1] = float(CTspawn_loc[1]) - origin[1]
					vector1[2] = float(CTspawn_loc[2]) - origin[2]
				}
				else
				{
					vector1[0] = float(Tspawn_loc[0]) - origin[0]
					vector1[1] = float(Tspawn_loc[1]) - origin[1]
					vector1[2] = float(Tspawn_loc[2]) - origin[2]
				}
				new Float:num = floatsqroot(250*250 / vector1[0]*vector1[0] + vector1[1]*vector1[1] + vector1[2]*vector1[2])
				vector1[0] *= num
				vector1[1] *= num
				vector1[2] *= num
				set_user_velocity(id,vector1)
			}
			client_print(id,print_chat,"[AMXX] No crossing the middle line.")
		}
	}
}

public spawn_locs()
{
	new ent1 = find_ent_by_class(0,"info_player_start")
	new ent2 = find_ent_by_class(0,"info_player_deathmatch")
	if(!ent1)
	{
		log_amx("No info_player_start found")
		stopplugin=true
	}
	if(!ent2)
	{
		log_amx("No info_player_deathmatch found")
		stopplugin=true
	}
	new Float:CTspawn_loc_F[3]
	new Float:Tspawn_loc_F[3]
	entity_get_vector(ent1,EV_VEC_origin,CTspawn_loc_F)
	entity_get_vector(ent2,EV_VEC_origin,Tspawn_loc_F)
	CTspawn_loc[0] = floatround(CTspawn_loc_F[0])
	CTspawn_loc[1] = floatround(CTspawn_loc_F[1])
	CTspawn_loc[2] = floatround(CTspawn_loc_F[2])
	Tspawn_loc[0] = floatround(Tspawn_loc_F[0])
	Tspawn_loc[1] = floatround(Tspawn_loc_F[1])
	Tspawn_loc[2] = floatround(Tspawn_loc_F[2])
}

public create_middle1()
{
	//***
	//Simple Algebra to calculate the location of the middle line(s).
	//***
	
	new Float:CTspawn_loc_F[3]
	new Float:Tspawn_loc_F[3]
	IVecFVec(CTspawn_loc,CTspawn_loc_F)
	IVecFVec(Tspawn_loc,Tspawn_loc_F)
	
	new Float:line1_slope = (CTspawn_loc_F[1] - Tspawn_loc_F[1]) / (CTspawn_loc_F[0] - Tspawn_loc_F[0])
	new Float:line2_slope = -1.0 * (1.0 / line1_slope)
	
	new Float:midpoint[3]
	midpoint[0] = (CTspawn_loc_F[0] + Tspawn_loc_F[0]) / 2
	midpoint[1] = (CTspawn_loc_F[1] + Tspawn_loc_F[1]) / 2
	midpoint[2] = (CTspawn_loc_F[2] + Tspawn_loc_F[2]) / 2

	if(floatabs(line2_slope)>1.0)
	{
		farthest_point1[1] = midpoint[1] + (tag_sprite_size_horizontal / 2)
		farthest_point2[1] = midpoint[1] - (tag_sprite_size_horizontal / 2)
		
		farthest_point1[0] = (farthest_point1[1] - midpoint[1] + (line2_slope * midpoint[0])) / line2_slope
		farthest_point2[0] = (farthest_point2[1] - midpoint[1] + (line2_slope * midpoint[0])) / line2_slope
	}
	
	if(floatabs(line2_slope)<=1.0)
	{
		farthest_point1[0] = midpoint[0] + (tag_sprite_size_horizontal / 2)
		farthest_point2[0] = midpoint[0] - (tag_sprite_size_horizontal / 2)

		farthest_point1[1] = line2_slope*(farthest_point1[0]-midpoint[0]) + midpoint[1]
		farthest_point2[1] = line2_slope*(farthest_point2[0]-midpoint[0]) + midpoint[1]
	}
	
	farthest_point1[2] = midpoint[2] - (tag_sprite_size_vertical / 2)

	set_task(get_pcvar_float(plugin_redrawtime),"create_middle2",1337,"",0,"b")
}

public create_middle2()
{
	if(!stopplugin && get_pcvar_num(plugin_fence) && get_pcvar_num(plugin_enabled) && !(alivenum<=MINNUM && get_pcvar_num(plugin_2ppl)))
	{
		set_task(0.1,"create_middle3",0,"",0,"a",(tag_sprite_size_vertical / tag_sprite_vertical_increments))
		multiplier=1
	}
	if(oldtime!=get_pcvar_float(plugin_redrawtime))
	{
		remove_task(1337)
		set_task(get_pcvar_float(plugin_redrawtime),"create_middle1",1337,"",0,"b")
		oldtime=get_pcvar_float(plugin_redrawtime)
	}
}

public create_middle3()
{
	new zpoint = floatround(farthest_point1[2]) + (multiplier * tag_sprite_vertical_increments)
	multiplier++
	new color[32], red, green, blue
	get_pcvar_string(plugin_fencecolor,color,31)
	if(equali(color,"red"))
	{
		red=255
		green=0
		blue=0
	}
	else if(equali(color,"blue"))
	{
		red=0
		green=0
		blue=255
	}
	else if(equali(color,"white"))
	{
		red=255
		green=255
		blue=255
	}
	else if(equali(color,"random"))
	{
		red=random_num(0,255)
		green=random_num(0,255)
		blue=random_num(0,255)
	}
	else if(equali(color,"Yellow"))
	{
		red = 255
		green = 255
		blue = 0
	}
	else if(equali(color,"Orange"))
	{
		red = 255
		green = 128
		blue = 64
	}
	else if(equali(color,"Pink"))
	{
		red = 255
		green = 0
		blue = 128
	}
	else if(equali(color,"Indigo"))
	{
		red = 0
		green = 255
		blue = 255
	}
	else
	{
		red=0
		green=255
		blue=0
	}

	message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
	write_byte(0)		//TE_BEAMPOINTS
	write_coord(floatround(farthest_point1[0]))
	write_coord(floatround(farthest_point1[1]))
	write_coord(zpoint)
	write_coord(floatround(farthest_point2[0]))
	write_coord(floatround(farthest_point2[1]))
	write_coord(zpoint)
	write_short(beamsprite)
	write_byte(1)		// framestart
	write_byte(1)		// framerate
	write_byte(get_pcvar_num(plugin_redrawtime) * 10)// life in 0.1's
	write_byte(5)		// width
	write_byte(0)		// noise
	write_byte(red)		// red
	write_byte(green)	// green
	write_byte(blue)	// blue
	write_byte(get_pcvar_num(plugin_fencealpha))// brightness
	write_byte(0)		// speed
	message_end()
}
[/quote]
RoyalServer
Casual
Fost moderator
Fost moderator
Posts: 4000
Joined: 25 Mar 2009, 22:54
Detinator Steam: Da
Reputatie: Fost eXtream Mod
Has thanked: 52 times
Been thanked: 655 times
Contact:

10 Sep 2010, 20:51

Mutat în eXtream - Counter-Strike 1.6 » Programarea CS-ului » Pluginuri.

Iar data viitoare foloseşte [sursa][/sursa].
1Word
Utilizator banat
Utilizator banat
Posts: 129
Joined: 17 May 2009, 03:33
Detinator Steam: Da
Has thanked: 8 times
Been thanked: 1 time

11 Sep 2010, 20:47

Astept incă.
1Word
Utilizator banat
Utilizator banat
Posts: 129
Joined: 17 May 2009, 03:33
Detinator Steam: Da
Has thanked: 8 times
Been thanked: 1 time

19 Sep 2010, 03:21

Haideţi fraţilor , n-aveţi timp 10-15 minute , să mi-l faceţi ?
1Word
Utilizator banat
Utilizator banat
Posts: 129
Joined: 17 May 2009, 03:33
Detinator Steam: Da
Has thanked: 8 times
Been thanked: 1 time

19 Sep 2010, 13:59

Astazi nu maine
User avatar
roby_the_dude
Fost moderator
Fost moderator
Posts: 4135
Joined: 13 Jun 2009, 18:53
Detinator Steam: Da
CS Status: Ce gay sunteți bă!
Detinator server CS: MIXERS.eXtreamCS.com
SteamID: delta_senzor
Reputatie: Fost eXtream mod
Fost eXtreamCS Addons Master
Nume anterior: Robert
Fost deținător CS.eXtreamCS.com
Location: Madrid, España.
Has thanked: 33 times
Been thanked: 814 times
Contact:

19 Sep 2010, 14:01

Pluginul are cu siguranță ceva cvar-uri, te rog să le scrii aici. Poate se modifică direct din cvar-uri (în amxx.cfg). Sau spune numele pluginului,că le caut eu pe net.

EDIT: L-am găsit pe Alliedmodders: http://forums.alliedmods.net/showthread.php?t=27111 . Vezi acolo ceva cvar-uri care ar putea să te ajute.
Câteva topicuri utile, făcute de mine pentru eXtream: Vrei un sv_downloadurl pentru serverul tău? Am făcut două site-uri, special pentru membrii eXtreamCS. Le puteți accesa aici: http://www.extreamcs.com/forum/diverse/ ... 93589.html
REGULI GENERALE : Afișează regulile forumului
1. Utilizati corect limba romana (folositi cuvinte intregi, virgula, punctul si cratima). NU FOLOSITI limbaj de chat!
2. Raspundeti concret! Fara offtopic, fara mesaje scurte, inutile sau deja postate!
* offtopic = reprezinta devierea de la subiectul care se discuta
3. Folosirea cuvintelor sau inregistrarea cu nume obscene/jignitoare duce la restrictionarea accesului, stergerea contului, etc.
4. Este interzis orice atac la persoana. Discutati ideea, nu persoana !
5. Restrictii reclame :
a) Reclama este permisa in subiecte atat timp cat ele au legatura cu idea care se discuta.
b) In semnatura este permisa o singura reclama SIMPLA de tip TEXT cu dimensiunea fontului setat pe NORMAL
c) Reclama nu este permisa in campurile personale gen: Locatie, CS Status.
d) Nu aveti voie sa deschideti topicuri cu referire exacta la un site in scopul obtinerii de vizite, se considera reclama !
6. Nu folositi imagini in semnatura mai mari decat 500x120. Puteti folosi mai multe imagini care, toate sa nu depaseasca marimea impusa !
7. Folositi CAUTAREA si apoi intrebati pentru ceva daca nu exista pe forum! Numele topicurilor create trebuie sa reflecte continutul subiectului pe care se discuta. Nu vor fi permise topicuri de genul: help, ajutor pls, cum fac, etc
8. Este permisa continuarea unei discutii vechi de pe forum, chiar daca aceasta a fost deschisa cu cativa ani in urma. NU se permite insa dublu-post, triplu-post sau UP-uri.
* dublu-post / triplu - post = adaugarea unor mesaje unul dupa altul intr-o discutie a forumului de catre aceeasi persoana
* UP = adaugarea unor mesaje unul dupa altul cu scopul de a scoate in evidenta discutia respectiva
9. Orice fel de continut cu caracter erotic va fi sters, iar daca este necesar se vor aplica avertismente.
10. Nu este permisa promovarea firmelor de hosting in afara de http://www.eXtreamHost.com , fie ca este vorba de o reclama directa sau indirecta.
11. Nu este permisa postarea de continut ilegal: warez, carding (bine cunoscutele "metode" de furat domenii etc.) si alte practici "neortodoxe", se vor aplica avertismente sau ban, dupa caz si antecedente.

SANCTIONAM DRASTIC INCALCAREA ACESTOR REGULI SI ORICE ABUZ !


WARNINGS/Avertismente
3 Avertismente = BAN pe forum pentru o anumita perioada de timp, in functie de gravitatea regulilor incalcate!
1 Avertisment = 15 de zile

Mesaje private
Abuzul in orice fel de folosirea mesajelor private va duce la sanctionare. In concluzie, vi se va lua dreptul de a mai trimite mesaje.
Reclamatiile cat si penalizarile se regasesc aici: discutii-forum/reclamatii-mesaje-private-t335539.html

Suplimentar
1. In semnatura nu sunt permise linkuri catre jocuri (site-uri) gen bitefight, monstergame, etc.
2. La profilul Detinator server CS se permite reclama catre un server de Counter-Strike.
3. Orice insulta adusa asupra unui administrator se penalizeaza cu ban permanent. Orice insulta adusa asupra unui moderator se penalizeaza (in functie de gravitatea situatiei) de la avertisment pana la ban permanent.
4. Nu se permite ridicarea subiectelor cu mesaje gen "UP!" unul dupa altul, indiferent de timpul dintre raspunsuri.


Atentionari
1. Nu se permite schimbarea numelui pe forum
2. Nu aveti voie cu mai mult de 1 cont / persoana (vi se sterg toate mesajele si contul de utilizator de pe forum drept penalizare) - cei care abuzeaza si isi fac mai multe conturi, risca sa primeasca ban permanent

 

User avatar
Arion
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3317
Joined: 15 May 2008, 21:19
Detinator Steam: Da
SteamID: arion1338
Reputatie: Fost Mapper eXtreamCS
Fost Detinator HNS.eXtreamCS.com
Nume anterior : Seekers
Scripter Echipa eXtreamCS
Fost Moderator jutator
Discord: laurentiuandrei
Has thanked: 402 times
Been thanked: 413 times
Contact:

22 Sep 2010, 15:36

1Word wrote:Haideţi fraţilor , n-aveţi timp 10-15 minute , să mi-l faceţi ?
Nu
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests