Cerere editare plugin points

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 .
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

12 Jun 2014, 11:43

As dori editarea unui plugin in asa fel incat sa se salveze punctele pe nume.
Mai jos aveti sursa (.sma )
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <nvault>
#include <cstrike>
#include <fun>

#define Plugin "Points System"
#define Version "1.3"
#define Author "Alka / Doombringer"

#define MAXSLOTS 32

new doublekills[33], multikills[33], spree[33]
new kills[33], deaths[33]
new Float:spreetime[33]
new toggle_spree

enum Color {
	YELLOW = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE
}

new TeamName[][] = {
	
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
	
}

new kill_points, death_points, time_points;
new def_points, boom_points;
new head_points, knife_points, nade_points, tk_points, skill_points;
new TeamInfo,SayText,MaxSlots;

new points[32], vote_choices[3]

new bool:IsConnected[MAXSLOTS + 1];

new warmup_time
new iconstatus;

new bool:g_PistolsDisabled = false
new spawn_time

public plugin_init()
{
	
	register_plugin(Plugin, Version, Author);
	
	register_event("RoundTime", "RoundStart", "b");
	register_event("DeathMsg","Event_Death","a");
	
	kill_points = register_cvar("PS_kill_points", "1");
	death_points = register_cvar("PS_death_points", "0");
	
	def_points = register_cvar("PS_defusion_points", "20");
	boom_points = register_cvar("PS_boom_points", "20");
	
	time_points = register_cvar("PS_time_points", "00");
	head_points = register_cvar("PS_head_points", "2");
	
	knife_points = register_cvar("PS_knife_points", "5");
	nade_points = register_cvar("PS_nade_points", "5");
	
	tk_points = register_cvar("PS_tk_points", "0");
	skill_points = register_cvar("PS_skill_points", "0");
	
	toggle_spree = register_cvar("PS_spree","");
	
	register_cvar("PS_warmuptime", "0");
	
	register_cvar("PS_respawn", "0");
	register_cvar("PS_respawntime", "0");
	register_cvar("PS_sptime","0");
	
	register_clcmd("say /points", "show_points");
	register_clcmd("say /toppoints", "show_top15");
	
	register_concmd("amx_points", "cmd_points", ADMIN_LEVEL_H, " - <name> <points> Set's someones points");
	register_concmd("amx_vote_point", "cmd_vote_points", ADMIN_LEVEL_H, " - <name> <reason> <give/remove> Start's a point vote");
	register_concmd("amx_warmupround", "warmup", ADMIN_LEVEL_H, "WarmUp round! Only Knifes...");
	
	TeamInfo = get_user_msgid("TeamInfo");
	SayText = get_user_msgid("SayText");
	MaxSlots = get_maxplayers();
	iconstatus = get_user_msgid("StatusIcon");
	
}

public check_pistols()
{
	set_task(1.0, "check_pistols")
	new mapname[32]
	get_mapname(mapname,31) 
	if ( containi(mapname,"ka_")!=-1 || containi(mapname,"scoutzknivez")!=-1 )
		g_PistolsDisabled = true
}

public spawn_timer(id)
{
	spawn_time--
	
	if(spawn_time < 1)
	{
		set_task(0.4, "player_spawn", id)
		spawn_time = get_cvar_num("PS_respawntime")
		
		return PLUGIN_HANDLED;
	}
	
	set_hudmessage(0, 100,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(id, "You will respawn in %d seconds", spawn_time)
	
	set_task(1.0, "spawn_timer", id)
	return PLUGIN_HANDLED;
}

public Event_Death()
{
	if ( !get_cvar_num("PS_respawn") )
		return PLUGIN_CONTINUE;
	
	new victim = read_data(2)
	spawn_time = get_cvar_num("PS_respawntime")
	
	spawn_timer(victim) 
	return PLUGIN_CONTINUE;
}

public player_giveitems(id)
{
	give_item(id, "item_suit")
	give_item(id, "weapon_knife")
	
	if ( !g_PistolsDisabled )
	{
		new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false 
		get_user_weapons(id,wpnList,number)
		
		for (new i = 0;i < number;i++)
		{ 
			if (wpnList == CSW_GLOCK18) 
				foundGlock = true 
			if (wpnList == CSW_USP) 
				foundUSP = true 
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T && !foundGlock )
		{
			give_item(id,"weapon_glock18")
			give_item(id,"ammo_9mm")
			give_item(id,"ammo_9mm")
		}
		
		else if (cs_get_user_team(id) == CS_TEAM_CT && !foundUSP )
		{
			give_item(id,"weapon_usp")
			give_item(id,"ammo_45acp")
			give_item(id,"ammo_45acp")
		}
	}
	
	return PLUGIN_CONTINUE;
}

public player_spawn(id)
{
	if(!is_user_alive(id))
	{
		spawn(id);
		set_task(0.6, "player_spawn", id);
		
		if( get_cvar_num("PS_sptime") )
		{
			set_task(0.1, "protect", id)
		}
		
		return PLUGIN_CONTINUE;
	}
	
	set_task(0.2, "player_giveitems", id);
	return PLUGIN_CONTINUE;
}

public protect(id)
{
	new Float:SPTime = get_cvar_float("PS_sptime");
	
	set_user_godmode(id, 1)
	
	if(get_user_team(id) == 1)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	else if(get_user_team(id) == 2)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	set_task(SPTime, "protect_off", id)
	return PLUGIN_HANDLED;
}

public protect_off(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	else
	{
		set_user_godmode(id, 0)
		set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal,0)
	}
	
	return PLUGIN_HANDLED;
}

public cmd_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[11], name[32]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 10)
	
	new player = cmd_target(id, arg1, 1)
	
	if(!player)
		return PLUGIN_HANDLED;
	
	points[player] = str_to_num(arg2)
	
	get_user_name(player, name, 31)
	client_print(id, print_console,"Successfully set %s points to %s!", name, arg2)
	
	ColorChat(player,GREY,"An admin set your points to ^x04%s", arg2)
	
	return PLUGIN_HANDLED;
}

public cmd_vote_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[132], arg3[17]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 131)
	read_argv(3, arg3, 16)
	
	if(!equal(arg3, "give") && !equal(arg3, "remove"))
	{
		client_print(id, print_chat, "invalid mode. Valid modes are: give, remove.")
		return PLUGIN_HANDLED;
	}
	
	new player = cmd_target(id, arg1, 2)	
	display_menu(player, arg2, arg3)
	
	return PLUGIN_HANDLED;
}

public save_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[62], value[10], ip[33]
	
	get_user_ip(id, ip, 32, 1);
	
	format(key, 61,"%s-points", ip)
	format(value, 9,"%d", points[id])
	
	nvault_set(valut, key, value)
	nvault_close(valut)	
	
	return PLUGIN_CONTINUE;
}

public load_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[100], ip[33]
	
	get_user_ip(id, ip, 32, 1);
	
	formatex(key, 99,"%s-points", ip)
	
	points[id] = nvault_get(valut, key)	
	nvault_close(valut)
	
	return PLUGIN_CONTINUE;
}

public show_points(id)
{
	ColorChat(id, GREEN, "^x01[^x04ELF^x01]Detii in acest moment ^x03%d ^x01points!", points[id])
}

public give_time_points(id)
{
	if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
	{
		points[id] += get_pcvar_num(time_points)
		ColorChat(id, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai stat pe server timp de o ora",get_pcvar_num(time_points))
	}
}

public client_putinserver(id)
{
	set_task(3600.0, "give_time_points", id,_,_,"b")
	set_task(20.0, "advertise", id)
	load_points(id)
}

public client_disconnect(id)
{
	save_points(id)
}

public client_death(killer, victim, weapon, hitplace, TK)
{
	if(TK)
	{
		points[killer] -= get_pcvar_num(tk_points)
		ColorChat(killer, GREEN, "^x01[^x04PointsSystem^x01] You lost ^x03%d ^x01points for TKing!", get_pcvar_num(tk_points))
		
		return PLUGIN_CONTINUE
	}
	
	points[killer] += get_pcvar_num(kill_points)
	points[victim] -= get_pcvar_num(death_points)
	ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest frag!", get_pcvar_num(kill_points))
	ColorChat(victim, GREEN, "^x01[^x04ELF^x01] Ai pierdut ^x03%d ^x01points pentru ca ai murit!", get_pcvar_num(death_points))
	
	if(hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(head_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest HeadShoot!", get_pcvar_num(head_points))
	}
	
	if(weapon == CSW_KNIFE)
	{
		points[killer] += get_pcvar_num(knife_points)
		ColorChat(killer, GREEN , "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu cutitul!", get_pcvar_num(knife_points))
	}
	
	if(weapon == CSW_HEGRENADE)
	{
		points[killer] += get_pcvar_num(nade_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu HEgrenade!", get_pcvar_num(nade_points))
	}
	
	if(weapon == CSW_KNIFE && hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(skill_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru skill!", get_pcvar_num(skill_points))
	}
	
	if( get_pcvar_num(toggle_spree) )
	{
		if(get_user_team(killer)!=get_user_team(victim)&&killer!=victim)
		{
			kills[killer] = kills[killer] + 1
			deaths[victim] = deaths[victim] + 1
			
			check_kills(killer)
		}
	}
	
	return PLUGIN_CONTINUE;
}

public bomb_explode(planter)
{
	points[planter] += get_pcvar_num(boom_points)
	ColorChat(planter, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai detonat bomba!", get_pcvar_num(boom_points))
}

public bomb_defused(defuser)
{
	points[defuser] += get_pcvar_num(def_points)
	ColorChat(defuser, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai defuzat bomba!", get_pcvar_num(def_points))
}

public show_top15(id)
{
	new i, count;
	static sort[33][2], maxPlayers;
	
	if(!maxPlayers) maxPlayers = get_maxplayers();
	
	for(i=1;i<=maxPlayers;i++)
	{
		sort[count][0] = i;
		sort[count][1] = points;
		count++;
	}
	
	SortCustom2D(sort,count,"stats_custom_compare");
	
	new motd[1024], len	
	
	len = format(motd, 1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
	len += format(motd[len], 1023-len,"%2s %-22.22s %6s^n", "#", "Nick", "Points")
	
	static name[32]	
	for(new a = 0; a < 15; a++)
	{
		get_user_name(sort[a][0], name, 31)		
		len += format(motd[len], 1023-len,"%2d %-22.22s %6d^n", a + 1, name, sort[a][1])
	}
	
	len += format(motd[len], 1023-len,"</body></font></pre>")
	show_motd(id, motd, "Points Top 15:")
	
	return PLUGIN_CONTINUE;
}

public stats_custom_compare(elem1[],elem2[])
{
	if(elem1[1] > elem2[1]) return -1;
	else if(elem1[1] < elem2[1]) return 1;
		
	return 0;
}

public display_menu(id, reason[], mode[])
{
	new temp[56], name[32]
	
	get_user_name(id, name, 31)
	
	if(equal(mode, "give"))
		format(temp, 55, "\rA dat %s points deoarece %s?", name, reason)
	else if(equal(mode, "remove"))
		format(temp, 55, "\rA sters points lui %s deoarece %s?", name, reason)
	
	new menu = menu_create(temp, "menu_handler")
	
	menu_additem(menu, "\wYes", "1", 0)
	menu_additem(menu, "\wNo", "2", 0)
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_display(i, menu, 0)
	
	set_task(30.0, "finish_vote", id, mode, 16)
}

public finish_vote(id, mode[])
{
	client_print(0, print_chat, "Voting over...")
	
	if(vote_choices[1] > vote_choices[2])
	{
		if(equal(mode, "give"))
		{			
			points[id]++
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai castigat puncte in urma votului!")
		}
		else if(equal(mode, "remove"))
		{
			points[id]--
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai pierdut puncte in urma votului!")
		}
	}
	
	else if(vote_choices[1] < vote_choices[2])
	{
		if(equal(mode, "give"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Din pacate niciun punct pentru tine! =)")
		}
		else if(equal(mode, "remove"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Ai avut noroc si nu ai pierdut puncte")
		}
	}
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_cancel(i)
	
	return PLUGIN_CONTINUE;
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	vote_choices[key]++
	client_print(0, print_chat,"%s voted on %s", name, vote_choices[key] == 1 ? "yes":"no")
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED;
}

public advertise(id)
{
	set_hudmessage(0,255, 0, 0.30, 0.85, 1, 6.0, 6.0);
	show_hudmessage(id,"Acest server foloseste un Sistem de Puncte!Tasteaza /points.^nIn acest moment ai: %d points!",points[id])
}

public RoundStart(id)
{
	set_spree(id)
	reset_spree(id)
}

public check_kills(id)
{
	
	spree[id] = spree[id] + 1
	spreetime[id] = spreetime[id] + 4.0
	
	new name[20]
	get_user_name(id, name, 19)
	
	new r, g, b
	
	r = random(256)
	g = random(256)
	b = random(256)
	
	if(spree[id] == 2)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Double Kill: %s", name)
	}
	
	if(spree[id] == 3)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Triple Kill: %s", name)
	}
	
	if(spree[id] == 4)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Multi Kill: %s", name)
	}
	
	if(spree[id] == 5)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Ultra kill: %s", name)
	}
	
	if(spree[id] == 6)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Mega kill: %s", name)
	}
	
	if(spree[id] > 7)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Rampage: %s", name)
	}
	
	remove_task(id)
	set_task(spreetime[id], "reset_spree", id)
	
}

public reset_spree(id)
{
	set_spree(id)
	
	spree[id] = 0
}

public set_spree(id)
{
	if(spree[id] == 2)
		doublekills[id] = doublekills[id] + 1
	
	else if(spree[id] > 2)
		multikills[id] = multikills[id] + 1
}

public warmup(id,level,cid)
{
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;
	
	new arg1[4];
	read_argv(1,arg1,3);
	
	new players[32], num
	get_players(players, num)
	
	new player
	for(new i = 0; i < num; i++)
	{
		player = players
		
		if(equal(arg1,"1") || equali(arg1,"on"))
		{
			
			warmuptimer(player)
			showicon(player)
			
			set_task(0.1, "switchweapon", player,_,_,"b")
		}
		
	}
	
	return PLUGIN_CONTINUE
}

public warmuptimer(player)
{
	warmup_time--
	
	set_hudmessage(255,255,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(player, "Warm Up round! %d seconds left.", warmup_time)
	
	set_task(1.0, "warmuptimer", player);
	
	if(warmup_time < 1)
	{
		warmup_time = get_cvar_num("PS_warmuptime");
		
		server_cmd("sv_restart 1");
		remove_task(player);
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}

public switchweapon(player)
{
	engclient_cmd(player,"weapon_knife")
}

public showicon(player) {
	
	message_begin(MSG_ONE,iconstatus,{0,0,0},player);
	write_byte(2);
	write_string("d_knife");
	write_byte(0);
	write_byte(255);
	write_byte(0);
	message_end();
}

public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{	
	case YELLOW:
	{
		message[0] = 0x01;
	}
	case GREEN:
	{
		message[0] = 0x04;
	}
	default:
{
	message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
message[192] = '^0';
new team, ColorChange, index, MSG_Type;

if(!id)
{
index = FindPlayer();
MSG_Type = MSG_ALL;

} else {
MSG_Type = MSG_ONE;
index = id;
}

team = get_user_team(index); 
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);

if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}

ShowColorMessage(id, type, message[])
{
message_begin(type, SayText, _, id);
write_byte(id)  
write_string(message);
message_end(); 
}
Team_Info(id, type, team[])
{
message_begin(type, TeamInfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}

FindPlayer()
{
new i = -1;
while(i <= MaxSlots)
{
if(IsConnected[++i])
{
return i;
}
}
return -1;
}
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
RoyalServer 2
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

12 Jun 2014, 11:56

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <nvault>
#include <cstrike>
#include <fun>

#define Plugin "Points System"
#define Version "1.3"
#define Author "Alka / Doombringer"

#define MAXSLOTS 32

new doublekills[33], multikills[33], spree[33]
new kills[33], deaths[33]
new Float:spreetime[33]
new toggle_spree

enum Color {
	YELLOW = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE
}

new TeamName[][] = {
	
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
	
}

new kill_points, death_points, time_points;
new def_points, boom_points;
new head_points, knife_points, nade_points, tk_points, skill_points;
new TeamInfo,SayText,MaxSlots;

new points[32], vote_choices[3]

new bool:IsConnected[MAXSLOTS + 1];

new warmup_time
new iconstatus;

new bool:g_PistolsDisabled = false
new spawn_time

public plugin_init()
{
	
	register_plugin(Plugin, Version, Author);
	
	register_event("RoundTime", "RoundStart", "b");
	register_event("DeathMsg","Event_Death","a");
	
	kill_points = register_cvar("PS_kill_points", "1");
	death_points = register_cvar("PS_death_points", "0");
	
	def_points = register_cvar("PS_defusion_points", "20");
	boom_points = register_cvar("PS_boom_points", "20");
	
	time_points = register_cvar("PS_time_points", "00");
	head_points = register_cvar("PS_head_points", "2");
	
	knife_points = register_cvar("PS_knife_points", "5");
	nade_points = register_cvar("PS_nade_points", "5");
	
	tk_points = register_cvar("PS_tk_points", "0");
	skill_points = register_cvar("PS_skill_points", "0");
	
	toggle_spree = register_cvar("PS_spree","");
	
	register_cvar("PS_warmuptime", "0");
	
	register_cvar("PS_respawn", "0");
	register_cvar("PS_respawntime", "0");
	register_cvar("PS_sptime","0");
	
	register_clcmd("say /points", "show_points");
	register_clcmd("say /toppoints", "show_top15");
	
	register_concmd("amx_points", "cmd_points", ADMIN_LEVEL_H, " - <name> <points> Set's someones points");
	register_concmd("amx_vote_point", "cmd_vote_points", ADMIN_LEVEL_H, " - <name> <reason> <give/remove> Start's a point vote");
	register_concmd("amx_warmupround", "warmup", ADMIN_LEVEL_H, "WarmUp round! Only Knifes...");
	
	TeamInfo = get_user_msgid("TeamInfo");
	SayText = get_user_msgid("SayText");
	MaxSlots = get_maxplayers();
	iconstatus = get_user_msgid("StatusIcon");
	
}

public check_pistols()
{
	set_task(1.0, "check_pistols")
	new mapname[32]
	get_mapname(mapname,31) 
	if ( containi(mapname,"ka_")!=-1 || containi(mapname,"scoutzknivez")!=-1 )
		g_PistolsDisabled = true
}

public spawn_timer(id)
{
	spawn_time--
	
	if(spawn_time < 1)
	{
		set_task(0.4, "player_spawn", id)
		spawn_time = get_cvar_num("PS_respawntime")
		
		return PLUGIN_HANDLED;
	}
	
	set_hudmessage(0, 100,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(id, "You will respawn in %d seconds", spawn_time)
	
	set_task(1.0, "spawn_timer", id)
	return PLUGIN_HANDLED;
}

public Event_Death()
{
	if ( !get_cvar_num("PS_respawn") )
		return PLUGIN_CONTINUE;
	
	new victim = read_data(2)
	spawn_time = get_cvar_num("PS_respawntime")
	
	spawn_timer(victim) 
	return PLUGIN_CONTINUE;
}

public player_giveitems(id)
{
	give_item(id, "item_suit")
	give_item(id, "weapon_knife")
	
	if ( !g_PistolsDisabled )
	{
		new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false 
		get_user_weapons(id,wpnList,number)
		
		for (new i = 0;i < number;i++)
		{ 
			if (wpnList == CSW_GLOCK18) 
				foundGlock = true 
			if (wpnList == CSW_USP) 
				foundUSP = true 
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T && !foundGlock )
		{
			give_item(id,"weapon_glock18")
			give_item(id,"ammo_9mm")
			give_item(id,"ammo_9mm")
		}
		
		else if (cs_get_user_team(id) == CS_TEAM_CT && !foundUSP )
		{
			give_item(id,"weapon_usp")
			give_item(id,"ammo_45acp")
			give_item(id,"ammo_45acp")
		}
	}
	
	return PLUGIN_CONTINUE;
}

public player_spawn(id)
{
	if(!is_user_alive(id))
	{
		spawn(id);
		set_task(0.6, "player_spawn", id);
		
		if( get_cvar_num("PS_sptime") )
		{
			set_task(0.1, "protect", id)
		}
		
		return PLUGIN_CONTINUE;
	}
	
	set_task(0.2, "player_giveitems", id);
	return PLUGIN_CONTINUE;
}

public protect(id)
{
	new Float:SPTime = get_cvar_float("PS_sptime");
	
	set_user_godmode(id, 1)
	
	if(get_user_team(id) == 1)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	else if(get_user_team(id) == 2)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	set_task(SPTime, "protect_off", id)
	return PLUGIN_HANDLED;
}

public protect_off(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	else
	{
		set_user_godmode(id, 0)
		set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal,0)
	}
	
	return PLUGIN_HANDLED;
}

public cmd_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[11], name[32]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 10)
	
	new player = cmd_target(id, arg1, 1)
	
	if(!player)
		return PLUGIN_HANDLED;
	
	points[player] = str_to_num(arg2)
	
	get_user_name(player, name, 31)
	client_print(id, print_console,"Successfully set %s points to %s!", name, arg2)
	
	ColorChat(player,GREY,"An admin set your points to ^x04%s", arg2)
	
	return PLUGIN_HANDLED;
}

public cmd_vote_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[132], arg3[17]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 131)
	read_argv(3, arg3, 16)
	
	if(!equal(arg3, "give") && !equal(arg3, "remove"))
	{
		client_print(id, print_chat, "invalid mode. Valid modes are: give, remove.")
		return PLUGIN_HANDLED;
	}
	
	new player = cmd_target(id, arg1, 2)	
	display_menu(player, arg2, arg3)
	
	return PLUGIN_HANDLED;
}

public save_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[62], value[10], name[ 32 ];
	
	get_user_name( id, name, sizeof( name ) - 1 );
	
	format(key, 61,"%s-points", name)
	format(value, 9,"%d", points[id])
	
	nvault_set(valut, key, value)
	nvault_close(valut)	
	
	return PLUGIN_CONTINUE;
}

public load_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[100], name[ 32 ];
	
	get_user_name( id, name, sizeof( name ) - 1 );
	
	formatex(key, 99,"%s-points", name)
	
	points[id] = nvault_get(valut, key)	
	nvault_close(valut)
	
	return PLUGIN_CONTINUE;
}

public show_points(id)
{
	ColorChat(id, GREEN, "^x01[^x04ELF^x01]Detii in acest moment ^x03%d ^x01points!", points[id])
}

public give_time_points(id)
{
	if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
	{
		points[id] += get_pcvar_num(time_points)
		ColorChat(id, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai stat pe server timp de o ora",get_pcvar_num(time_points))
	}
}

public client_putinserver(id)
{
	set_task(3600.0, "give_time_points", id,_,_,"b")
	set_task(20.0, "advertise", id)
	load_points(id)
}

public client_disconnect(id)
{
	save_points(id)
}

public client_death(killer, victim, weapon, hitplace, TK)
{
	if(TK)
	{
		points[killer] -= get_pcvar_num(tk_points)
		ColorChat(killer, GREEN, "^x01[^x04PointsSystem^x01] You lost ^x03%d ^x01points for TKing!", get_pcvar_num(tk_points))
		
		return PLUGIN_CONTINUE
	}
	
	points[killer] += get_pcvar_num(kill_points)
	points[victim] -= get_pcvar_num(death_points)
	ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest frag!", get_pcvar_num(kill_points))
	ColorChat(victim, GREEN, "^x01[^x04ELF^x01] Ai pierdut ^x03%d ^x01points pentru ca ai murit!", get_pcvar_num(death_points))
	
	if(hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(head_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest HeadShoot!", get_pcvar_num(head_points))
	}
	
	if(weapon == CSW_KNIFE)
	{
		points[killer] += get_pcvar_num(knife_points)
		ColorChat(killer, GREEN , "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu cutitul!", get_pcvar_num(knife_points))
	}
	
	if(weapon == CSW_HEGRENADE)
	{
		points[killer] += get_pcvar_num(nade_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu HEgrenade!", get_pcvar_num(nade_points))
	}
	
	if(weapon == CSW_KNIFE && hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(skill_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru skill!", get_pcvar_num(skill_points))
	}
	
	if( get_pcvar_num(toggle_spree) )
	{
		if(get_user_team(killer)!=get_user_team(victim)&&killer!=victim)
		{
			kills[killer] = kills[killer] + 1
			deaths[victim] = deaths[victim] + 1
			
			check_kills(killer)
		}
	}
	
	return PLUGIN_CONTINUE;
}

public bomb_explode(planter)
{
	points[planter] += get_pcvar_num(boom_points)
	ColorChat(planter, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai detonat bomba!", get_pcvar_num(boom_points))
}

public bomb_defused(defuser)
{
	points[defuser] += get_pcvar_num(def_points)
	ColorChat(defuser, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai defuzat bomba!", get_pcvar_num(def_points))
}

public show_top15(id)
{
	new i, count;
	static sort[33][2], maxPlayers;
	
	if(!maxPlayers) maxPlayers = get_maxplayers();
	
	for(i=1;i<=maxPlayers;i++)
	{
		sort[count][0] = i;
		sort[count][1] = points;
		count++;
	}
	
	SortCustom2D(sort,count,"stats_custom_compare");
	
	new motd[1024], len	
	
	len = format(motd, 1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
	len += format(motd[len], 1023-len,"%2s %-22.22s %6s^n", "#", "Nick", "Points")
	
	static name[32]	
	for(new a = 0; a < 15; a++)
	{
		get_user_name(sort[a][0], name, 31)		
		len += format(motd[len], 1023-len,"%2d %-22.22s %6d^n", a + 1, name, sort[a][1])
	}
	
	len += format(motd[len], 1023-len,"</body></font></pre>")
	show_motd(id, motd, "Points Top 15:")
	
	return PLUGIN_CONTINUE;
}

public stats_custom_compare(elem1[],elem2[])
{
	if(elem1[1] > elem2[1]) return -1;
	else if(elem1[1] < elem2[1]) return 1;
		
	return 0;
}

public display_menu(id, reason[], mode[])
{
	new temp[56], name[32]
	
	get_user_name(id, name, 31)
	
	if(equal(mode, "give"))
		format(temp, 55, "\rA dat %s points deoarece %s?", name, reason)
	else if(equal(mode, "remove"))
		format(temp, 55, "\rA sters points lui %s deoarece %s?", name, reason)
	
	new menu = menu_create(temp, "menu_handler")
	
	menu_additem(menu, "\wYes", "1", 0)
	menu_additem(menu, "\wNo", "2", 0)
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_display(i, menu, 0)
	
	set_task(30.0, "finish_vote", id, mode, 16)
}

public finish_vote(id, mode[])
{
	client_print(0, print_chat, "Voting over...")
	
	if(vote_choices[1] > vote_choices[2])
	{
		if(equal(mode, "give"))
		{			
			points[id]++
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai castigat puncte in urma votului!")
		}
		else if(equal(mode, "remove"))
		{
			points[id]--
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai pierdut puncte in urma votului!")
		}
	}
	
	else if(vote_choices[1] < vote_choices[2])
	{
		if(equal(mode, "give"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Din pacate niciun punct pentru tine! =)")
		}
		else if(equal(mode, "remove"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Ai avut noroc si nu ai pierdut puncte")
		}
	}
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_cancel(i)
	
	return PLUGIN_CONTINUE;
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	vote_choices[key]++
	client_print(0, print_chat,"%s voted on %s", name, vote_choices[key] == 1 ? "yes":"no")
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED;
}

public advertise(id)
{
	set_hudmessage(0,255, 0, 0.30, 0.85, 1, 6.0, 6.0);
	show_hudmessage(id,"Acest server foloseste un Sistem de Puncte!Tasteaza /points.^nIn acest moment ai: %d points!",points[id])
}

public RoundStart(id)
{
	set_spree(id)
	reset_spree(id)
}

public check_kills(id)
{
	
	spree[id] = spree[id] + 1
	spreetime[id] = spreetime[id] + 4.0
	
	new name[20]
	get_user_name(id, name, 19)
	
	new r, g, b
	
	r = random(256)
	g = random(256)
	b = random(256)
	
	if(spree[id] == 2)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Double Kill: %s", name)
	}
	
	if(spree[id] == 3)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Triple Kill: %s", name)
	}
	
	if(spree[id] == 4)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Multi Kill: %s", name)
	}
	
	if(spree[id] == 5)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Ultra kill: %s", name)
	}
	
	if(spree[id] == 6)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Mega kill: %s", name)
	}
	
	if(spree[id] > 7)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Rampage: %s", name)
	}
	
	remove_task(id)
	set_task(spreetime[id], "reset_spree", id)
	
}

public reset_spree(id)
{
	set_spree(id)
	
	spree[id] = 0
}

public set_spree(id)
{
	if(spree[id] == 2)
		doublekills[id] = doublekills[id] + 1
	
	else if(spree[id] > 2)
		multikills[id] = multikills[id] + 1
}

public warmup(id,level,cid)
{
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;
	
	new arg1[4];
	read_argv(1,arg1,3);
	
	new players[32], num
	get_players(players, num)
	
	new player
	for(new i = 0; i < num; i++)
	{
		player = players
		
		if(equal(arg1,"1") || equali(arg1,"on"))
		{
			
			warmuptimer(player)
			showicon(player)
			
			set_task(0.1, "switchweapon", player,_,_,"b")
		}
		
	}
	
	return PLUGIN_CONTINUE
}

public warmuptimer(player)
{
	warmup_time--
	
	set_hudmessage(255,255,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(player, "Warm Up round! %d seconds left.", warmup_time)
	
	set_task(1.0, "warmuptimer", player);
	
	if(warmup_time < 1)
	{
		warmup_time = get_cvar_num("PS_warmuptime");
		
		server_cmd("sv_restart 1");
		remove_task(player);
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}

public switchweapon(player)
{
	engclient_cmd(player,"weapon_knife")
}

public showicon(player) {
	
	message_begin(MSG_ONE,iconstatus,{0,0,0},player);
	write_byte(2);
	write_string("d_knife");
	write_byte(0);
	write_byte(255);
	write_byte(0);
	message_end();
}

public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{	
	case YELLOW:
	{
		message[0] = 0x01;
	}
	case GREEN:
	{
		message[0] = 0x04;
	}
	default:
{
	message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
message[192] = '^0';
new team, ColorChange, index, MSG_Type;

if(!id)
{
index = FindPlayer();
MSG_Type = MSG_ALL;

} else {
MSG_Type = MSG_ONE;
index = id;
}

team = get_user_team(index); 
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);

if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}

ShowColorMessage(id, type, message[])
{
message_begin(type, SayText, _, id);
write_byte(id)  
write_string(message);
message_end(); 
}
Team_Info(id, type, team[])
{
message_begin(type, TeamInfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}

FindPlayer()
{
new i = -1;
while(i <= MaxSlots)
{
if(IsConnected[++i])
{
return i;
}
}
return -1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/


Ai si in semnatura la mine un sistem de puncte daca vrei...
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

12 Jun 2014, 12:59

Tot nu salveaza pe nume.

Atunci cand schimb numele imi raman punctele si pe cel nou.
Pluginu tau este mult prea complicat , top15 nu are ..nu este ceea ce caut.
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

12 Jun 2014, 13:07

Ba se salveaza! Ti-am adaugat pe nume!
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <nvault>
#include < fakemeta >
#include <cstrike>
#include <fun>

#define Plugin "Points System"
#define Version "1.3"
#define Author "Alka / Doombringer"

#define MAXSLOTS 32

new doublekills[33], multikills[33], spree[33]
new kills[33], deaths[33]
new Float:spreetime[33]
new toggle_spree

enum Color {
	YELLOW = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE
}

new TeamName[][] = {
	
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
	
}

new kill_points, death_points, time_points;
new def_points, boom_points;
new head_points, knife_points, nade_points, tk_points, skill_points;
new TeamInfo,SayText,MaxSlots;

new points[32], vote_choices[3]

new bool:IsConnected[MAXSLOTS + 1];

new warmup_time
new iconstatus;

new bool:g_PistolsDisabled = false
new spawn_time

public plugin_init()
{
	
	register_plugin(Plugin, Version, Author);
	
	register_event("RoundTime", "RoundStart", "b");
	register_event("DeathMsg","Event_Death","a");

	register_forward(FM_ClientUserInfoChanged, "ChangeName");
	
	kill_points = register_cvar("PS_kill_points", "1");
	death_points = register_cvar("PS_death_points", "0");
	
	def_points = register_cvar("PS_defusion_points", "20");
	boom_points = register_cvar("PS_boom_points", "20");
	
	time_points = register_cvar("PS_time_points", "00");
	head_points = register_cvar("PS_head_points", "2");
	
	knife_points = register_cvar("PS_knife_points", "5");
	nade_points = register_cvar("PS_nade_points", "5");
	
	tk_points = register_cvar("PS_tk_points", "0");
	skill_points = register_cvar("PS_skill_points", "0");
	
	toggle_spree = register_cvar("PS_spree","");
	
	register_cvar("PS_warmuptime", "0");
	
	register_cvar("PS_respawn", "0");
	register_cvar("PS_respawntime", "0");
	register_cvar("PS_sptime","0");
	
	register_clcmd("say /points", "show_points");
	register_clcmd("say /toppoints", "show_top15");
	
	register_concmd("amx_points", "cmd_points", ADMIN_LEVEL_H, " - <name> <points> Set's someones points");
	register_concmd("amx_vote_point", "cmd_vote_points", ADMIN_LEVEL_H, " - <name> <reason> <give/remove> Start's a point vote");
	register_concmd("amx_warmupround", "warmup", ADMIN_LEVEL_H, "WarmUp round! Only Knifes...");
	
	TeamInfo = get_user_msgid("TeamInfo");
	SayText = get_user_msgid("SayText");
	MaxSlots = get_maxplayers();
	iconstatus = get_user_msgid("StatusIcon");
	
}

public check_pistols()
{
	set_task(1.0, "check_pistols")
	new mapname[32]
	get_mapname(mapname,31) 
	if ( containi(mapname,"ka_")!=-1 || containi(mapname,"scoutzknivez")!=-1 )
		g_PistolsDisabled = true
}

public spawn_timer(id)
{
	spawn_time--
	
	if(spawn_time < 1)
	{
		set_task(0.4, "player_spawn", id)
		spawn_time = get_cvar_num("PS_respawntime")
		
		return PLUGIN_HANDLED;
	}
	
	set_hudmessage(0, 100,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(id, "You will respawn in %d seconds", spawn_time)
	
	set_task(1.0, "spawn_timer", id)
	return PLUGIN_HANDLED;
}

public Event_Death()
{
	if ( !get_cvar_num("PS_respawn") )
		return PLUGIN_CONTINUE;
	
	new victim = read_data(2)
	spawn_time = get_cvar_num("PS_respawntime")
	
	spawn_timer(victim) 
	return PLUGIN_CONTINUE;
}

public player_giveitems(id)
{
	give_item(id, "item_suit")
	give_item(id, "weapon_knife")
	
	if ( !g_PistolsDisabled )
	{
		new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false 
		get_user_weapons(id,wpnList,number)
		
		for (new i = 0;i < number;i++)
		{ 
			if (wpnList == CSW_GLOCK18) 
				foundGlock = true 
			if (wpnList == CSW_USP) 
				foundUSP = true 
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T && !foundGlock )
		{
			give_item(id,"weapon_glock18")
			give_item(id,"ammo_9mm")
			give_item(id,"ammo_9mm")
		}
		
		else if (cs_get_user_team(id) == CS_TEAM_CT && !foundUSP )
		{
			give_item(id,"weapon_usp")
			give_item(id,"ammo_45acp")
			give_item(id,"ammo_45acp")
		}
	}
	
	return PLUGIN_CONTINUE;
}

public player_spawn(id)
{
	if(!is_user_alive(id))
	{
		spawn(id);
		set_task(0.6, "player_spawn", id);
		
		if( get_cvar_num("PS_sptime") )
		{
			set_task(0.1, "protect", id)
		}
		
		return PLUGIN_CONTINUE;
	}
	
	set_task(0.2, "player_giveitems", id);
	return PLUGIN_CONTINUE;
}

public ChangeName(id, buffer) {

	if(!is_user_connected(id))
		return FMRES_IGNORED;
	
	static Name[32], Val[32];
	get_user_name(id, Name, sizeof Name - 1);
	engfunc(EngFunc_InfoKeyValue, buffer, "name", Val, sizeof Val - 1);
	
	if(equal(Val, Name))
		return FMRES_IGNORED;
	
	set_task(0.2, "client_connect", id);
	return FMRES_SUPERCEDE;
}

public protect(id)
{
	new Float:SPTime = get_cvar_float("PS_sptime");
	
	set_user_godmode(id, 1)
	
	if(get_user_team(id) == 1)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	else if(get_user_team(id) == 2)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	set_task(SPTime, "protect_off", id)
	return PLUGIN_HANDLED;
}

public protect_off(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	else
	{
		set_user_godmode(id, 0)
		set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal,0)
	}
	
	return PLUGIN_HANDLED;
}

public cmd_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[11], name[32]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 10)
	
	new player = cmd_target(id, arg1, 1)
	
	if(!player)
		return PLUGIN_HANDLED;
	
	points[player] = str_to_num(arg2)
	
	get_user_name(player, name, 31)
	client_print(id, print_console,"Successfully set %s points to %s!", name, arg2)
	
	ColorChat(player,GREY,"An admin set your points to ^x04%s", arg2)
	
	return PLUGIN_HANDLED;
}

public cmd_vote_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[132], arg3[17]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 131)
	read_argv(3, arg3, 16)
	
	if(!equal(arg3, "give") && !equal(arg3, "remove"))
	{
		client_print(id, print_chat, "invalid mode. Valid modes are: give, remove.")
		return PLUGIN_HANDLED;
	}
	
	new player = cmd_target(id, arg1, 2)	
	display_menu(player, arg2, arg3)
	
	return PLUGIN_HANDLED;
}

public save_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[62], value[10], name[ 32 ];
	
	get_user_name( id, name, sizeof( name ) - 1 );
	
	format(key, 61,"%s-points", name)
	format(value, 9,"%d", points[id])
	
	nvault_set(valut, key, value)
	nvault_close(valut)	
	
	return PLUGIN_CONTINUE;
}

public load_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[100], name[ 32 ];
	
	get_user_name( id, name, sizeof( name ) - 1 );
	
	formatex(key, 99,"%s-points", name)
	
	points[id] = nvault_get(valut, key)	
	nvault_close(valut)
	
	return PLUGIN_CONTINUE;
}

public show_points(id)
{
	ColorChat(id, GREEN, "^x01[^x04ELF^x01]Detii in acest moment ^x03%d ^x01points!", points[id])
}

public give_time_points(id)
{
	if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
	{
		points[id] += get_pcvar_num(time_points)
		ColorChat(id, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai stat pe server timp de o ora",get_pcvar_num(time_points))
	}
}

public client_putinserver(id)
{
	set_task(3600.0, "give_time_points", id,_,_,"b")
	set_task(20.0, "advertise", id)
	load_points(id)
}

public client_connect( id )
{
	set_task(3600.0, "give_time_points", id,_,_,"b")
	set_task(20.0, "advertise", id)
	load_points(id)
}

public client_disconnect(id)
{
	save_points(id)
}

public client_death(killer, victim, weapon, hitplace, TK)
{
	if(TK)
	{
		points[killer] -= get_pcvar_num(tk_points)
		ColorChat(killer, GREEN, "^x01[^x04PointsSystem^x01] You lost ^x03%d ^x01points for TKing!", get_pcvar_num(tk_points))
		
		return PLUGIN_CONTINUE
	}
	
	points[killer] += get_pcvar_num(kill_points)
	points[victim] -= get_pcvar_num(death_points)
	ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest frag!", get_pcvar_num(kill_points))
	ColorChat(victim, GREEN, "^x01[^x04ELF^x01] Ai pierdut ^x03%d ^x01points pentru ca ai murit!", get_pcvar_num(death_points))
	
	if(hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(head_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest HeadShoot!", get_pcvar_num(head_points))
	}
	
	if(weapon == CSW_KNIFE)
	{
		points[killer] += get_pcvar_num(knife_points)
		ColorChat(killer, GREEN , "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu cutitul!", get_pcvar_num(knife_points))
	}
	
	if(weapon == CSW_HEGRENADE)
	{
		points[killer] += get_pcvar_num(nade_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu HEgrenade!", get_pcvar_num(nade_points))
	}
	
	if(weapon == CSW_KNIFE && hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(skill_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru skill!", get_pcvar_num(skill_points))
	}
	
	if( get_pcvar_num(toggle_spree) )
	{
		if(get_user_team(killer)!=get_user_team(victim)&&killer!=victim)
		{
			kills[killer] = kills[killer] + 1
			deaths[victim] = deaths[victim] + 1
			
			check_kills(killer)
		}
	}
	
	return PLUGIN_CONTINUE;
}

public bomb_explode(planter)
{
	points[planter] += get_pcvar_num(boom_points)
	ColorChat(planter, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai detonat bomba!", get_pcvar_num(boom_points))
}

public bomb_defused(defuser)
{
	points[defuser] += get_pcvar_num(def_points)
	ColorChat(defuser, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai defuzat bomba!", get_pcvar_num(def_points))
}

public show_top15(id)
{
	new i, count;
	static sort[33][2], maxPlayers;
	
	if(!maxPlayers) maxPlayers = get_maxplayers();
	
	for(i=1;i<=maxPlayers;i++)
	{
		sort[count][0] = i;
		sort[count][1] = points;
		count++;
	}
	
	SortCustom2D(sort,count,"stats_custom_compare");
	
	new motd[1024], len	
	
	len = format(motd, 1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
	len += format(motd[len], 1023-len,"%2s %-22.22s %6s^n", "#", "Nick", "Points")
	
	static name[32]	
	for(new a = 0; a < 15; a++)
	{
		get_user_name(sort[a][0], name, 31)		
		len += format(motd[len], 1023-len,"%2d %-22.22s %6d^n", a + 1, name, sort[a][1])
	}
	
	len += format(motd[len], 1023-len,"</body></font></pre>")
	show_motd(id, motd, "Points Top 15:")
	
	return PLUGIN_CONTINUE;
}

public stats_custom_compare(elem1[],elem2[])
{
	if(elem1[1] > elem2[1]) return -1;
	else if(elem1[1] < elem2[1]) return 1;
		
	return 0;
}

public display_menu(id, reason[], mode[])
{
	new temp[56], name[32]
	
	get_user_name(id, name, 31)
	
	if(equal(mode, "give"))
		format(temp, 55, "\rA dat %s points deoarece %s?", name, reason)
	else if(equal(mode, "remove"))
		format(temp, 55, "\rA sters points lui %s deoarece %s?", name, reason)
	
	new menu = menu_create(temp, "menu_handler")
	
	menu_additem(menu, "\wYes", "1", 0)
	menu_additem(menu, "\wNo", "2", 0)
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_display(i, menu, 0)
	
	set_task(30.0, "finish_vote", id, mode, 16)
}

public finish_vote(id, mode[])
{
	client_print(0, print_chat, "Voting over...")
	
	if(vote_choices[1] > vote_choices[2])
	{
		if(equal(mode, "give"))
		{			
			points[id]++
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai castigat puncte in urma votului!")
		}
		else if(equal(mode, "remove"))
		{
			points[id]--
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai pierdut puncte in urma votului!")
		}
	}
	
	else if(vote_choices[1] < vote_choices[2])
	{
		if(equal(mode, "give"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Din pacate niciun punct pentru tine! =)")
		}
		else if(equal(mode, "remove"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Ai avut noroc si nu ai pierdut puncte")
		}
	}
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_cancel(i)
	
	return PLUGIN_CONTINUE;
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	vote_choices[key]++
	client_print(0, print_chat,"%s voted on %s", name, vote_choices[key] == 1 ? "yes":"no")
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED;
}

public advertise(id)
{
	set_hudmessage(0,255, 0, 0.30, 0.85, 1, 6.0, 6.0);
	show_hudmessage(id,"Acest server foloseste un Sistem de Puncte!Tasteaza /points.^nIn acest moment ai: %d points!",points[id])
}

public RoundStart(id)
{
	set_spree(id)
	reset_spree(id)
}

public check_kills(id)
{
	
	spree[id] = spree[id] + 1
	spreetime[id] = spreetime[id] + 4.0
	
	new name[20]
	get_user_name(id, name, 19)
	
	new r, g, b
	
	r = random(256)
	g = random(256)
	b = random(256)
	
	if(spree[id] == 2)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Double Kill: %s", name)
	}
	
	if(spree[id] == 3)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Triple Kill: %s", name)
	}
	
	if(spree[id] == 4)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Multi Kill: %s", name)
	}
	
	if(spree[id] == 5)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Ultra kill: %s", name)
	}
	
	if(spree[id] == 6)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Mega kill: %s", name)
	}
	
	if(spree[id] > 7)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Rampage: %s", name)
	}
	
	remove_task(id)
	set_task(spreetime[id], "reset_spree", id)
	
}

public reset_spree(id)
{
	set_spree(id)
	
	spree[id] = 0
}

public set_spree(id)
{
	if(spree[id] == 2)
		doublekills[id] = doublekills[id] + 1
	
	else if(spree[id] > 2)
		multikills[id] = multikills[id] + 1
}

public warmup(id,level,cid)
{
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;
	
	new arg1[4];
	read_argv(1,arg1,3);
	
	new players[32], num
	get_players(players, num)
	
	new player
	for(new i = 0; i < num; i++)
	{
		player = players
		
		if(equal(arg1,"1") || equali(arg1,"on"))
		{
			
			warmuptimer(player)
			showicon(player)
			
			set_task(0.1, "switchweapon", player,_,_,"b")
		}
		
	}
	
	return PLUGIN_CONTINUE
}

public warmuptimer(player)
{
	warmup_time--
	
	set_hudmessage(255,255,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(player, "Warm Up round! %d seconds left.", warmup_time)
	
	set_task(1.0, "warmuptimer", player);
	
	if(warmup_time < 1)
	{
		warmup_time = get_cvar_num("PS_warmuptime");
		
		server_cmd("sv_restart 1");
		remove_task(player);
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}

public switchweapon(player)
{
	engclient_cmd(player,"weapon_knife")
}

public showicon(player) {
	
	message_begin(MSG_ONE,iconstatus,{0,0,0},player);
	write_byte(2);
	write_string("d_knife");
	write_byte(0);
	write_byte(255);
	write_byte(0);
	message_end();
}

public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{	
	case YELLOW:
	{
		message[0] = 0x01;
	}
	case GREEN:
	{
		message[0] = 0x04;
	}
	default:
{
	message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
message[192] = '^0';
new team, ColorChange, index, MSG_Type;

if(!id)
{
index = FindPlayer();
MSG_Type = MSG_ALL;

} else {
MSG_Type = MSG_ONE;
index = id;
}

team = get_user_team(index); 
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);

if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}

ShowColorMessage(id, type, message[])
{
message_begin(type, SayText, _, id);
write_byte(id)  
write_string(message);
message_end(); 
}
Team_Info(id, type, team[])
{
message_begin(type, TeamInfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}

FindPlayer()
{
new i = -1;
while(i <= MaxSlots)
{
if(IsConnected[++i])
{
return i;
}
}
return -1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/


EDIT: Sa fii sanatos!
Last edited by YONTU on 12 Jun 2014, 13:26, edited 1 time in total.
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

12 Jun 2014, 13:22

Tot nu merge ...

daca ai vrea sa ma ajuti add request_ionutz sa iti arat ca nu merge.
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

13 Jun 2014, 13:58

UP , cineva care ma poate ajuta ?
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

14 Jun 2014, 12:17

UP .,...
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
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:

14 Jun 2014, 13:56

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <nvault>
#include <cstrike>
#include <fun>

#define Plugin "Points System"
#define Version "1.3"
#define Author "Alka / Doombringer"

#define MAXSLOTS 32

new doublekills[33], multikills[33], spree[33]
new kills[33], deaths[33]
new Float:spreetime[33]
new toggle_spree

enum Color {
	YELLOW = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE
}

new TeamName[][] = {
	
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
	
}

new kill_points, death_points, time_points;
new def_points, boom_points;
new head_points, knife_points, nade_points, tk_points, skill_points;
new TeamInfo,SayText,MaxSlots;

new points[32], vote_choices[3]

new bool:IsConnected[MAXSLOTS + 1];

new warmup_time
new iconstatus;

new bool:g_PistolsDisabled = false
new spawn_time

public plugin_init()
{
	
	register_plugin(Plugin, Version, Author);
	
	register_event("RoundTime", "RoundStart", "b");
	register_event("DeathMsg","Event_Death","a");
	
	kill_points = register_cvar("PS_kill_points", "1");
	death_points = register_cvar("PS_death_points", "0");
	
	def_points = register_cvar("PS_defusion_points", "20");
	boom_points = register_cvar("PS_boom_points", "20");
	
	time_points = register_cvar("PS_time_points", "00");
	head_points = register_cvar("PS_head_points", "2");
	
	knife_points = register_cvar("PS_knife_points", "5");
	nade_points = register_cvar("PS_nade_points", "5");
	
	tk_points = register_cvar("PS_tk_points", "0");
	skill_points = register_cvar("PS_skill_points", "0");
	
	toggle_spree = register_cvar("PS_spree","");
	
	register_cvar("PS_warmuptime", "0");
	
	register_cvar("PS_respawn", "0");
	register_cvar("PS_respawntime", "0");
	register_cvar("PS_sptime","0");
	
	register_clcmd("say /points", "show_points");
	register_clcmd("say /toppoints", "show_top15");
	
	register_concmd("amx_points", "cmd_points", ADMIN_LEVEL_H, " - <name> <points> Set's someones points");
	register_concmd("amx_vote_point", "cmd_vote_points", ADMIN_LEVEL_H, " - <name> <reason> <give/remove> Start's a point vote");
	register_concmd("amx_warmupround", "warmup", ADMIN_LEVEL_H, "WarmUp round! Only Knifes...");
	
	TeamInfo = get_user_msgid("TeamInfo");
	SayText = get_user_msgid("SayText");
	MaxSlots = get_maxplayers();
	iconstatus = get_user_msgid("StatusIcon");
	
}

public check_pistols()
{
	set_task(1.0, "check_pistols")
	new mapname[32]
	get_mapname(mapname,31) 
	if ( containi(mapname,"ka_")!=-1 || containi(mapname,"scoutzknivez")!=-1 )
		g_PistolsDisabled = true
}

public spawn_timer(id)
{
	spawn_time--
	
	if(spawn_time < 1)
	{
		set_task(0.4, "player_spawn", id)
		spawn_time = get_cvar_num("PS_respawntime")
		
		return PLUGIN_HANDLED;
	}
	
	set_hudmessage(0, 100,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(id, "You will respawn in %d seconds", spawn_time)
	
	set_task(1.0, "spawn_timer", id)
	return PLUGIN_HANDLED;
}

public Event_Death()
{
	if ( !get_cvar_num("PS_respawn") )
		return PLUGIN_CONTINUE;
	
	new victim = read_data(2)
	spawn_time = get_cvar_num("PS_respawntime")
	
	spawn_timer(victim) 
	return PLUGIN_CONTINUE;
}

public player_giveitems(id)
{
	give_item(id, "item_suit")
	give_item(id, "weapon_knife")
	
	if ( !g_PistolsDisabled )
	{
		new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false 
		get_user_weapons(id,wpnList,number)
		
		for (new i = 0;i < number;i++)
		{ 
			if (wpnList == CSW_GLOCK18) 
				foundGlock = true 
			if (wpnList == CSW_USP) 
				foundUSP = true 
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T && !foundGlock )
		{
			give_item(id,"weapon_glock18")
			give_item(id,"ammo_9mm")
			give_item(id,"ammo_9mm")
		}
		
		else if (cs_get_user_team(id) == CS_TEAM_CT && !foundUSP )
		{
			give_item(id,"weapon_usp")
			give_item(id,"ammo_45acp")
			give_item(id,"ammo_45acp")
		}
	}
	
	return PLUGIN_CONTINUE;
}

public player_spawn(id)
{
	if(!is_user_alive(id))
	{
		spawn(id);
		set_task(0.6, "player_spawn", id);
		
		if( get_cvar_num("PS_sptime") )
		{
			set_task(0.1, "protect", id)
		}
		
		return PLUGIN_CONTINUE;
	}
	
	set_task(0.2, "player_giveitems", id);
	return PLUGIN_CONTINUE;
}

public protect(id)
{
	new Float:SPTime = get_cvar_float("PS_sptime");
	
	set_user_godmode(id, 1)
	
	if(get_user_team(id) == 1)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	else if(get_user_team(id) == 2)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	set_task(SPTime, "protect_off", id)
	return PLUGIN_HANDLED;
}

public protect_off(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	else
	{
		set_user_godmode(id, 0)
		set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal,0)
	}
	
	return PLUGIN_HANDLED;
}

public cmd_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[11], name[32]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 10)
	
	new player = cmd_target(id, arg1, 1)
	
	if(!player)
		return PLUGIN_HANDLED;
	
	points[player] = str_to_num(arg2)
	
	get_user_name(player, name, 31)
	client_print(id, print_console,"Successfully set %s points to %s!", name, arg2)
	
	ColorChat(player,GREY,"An admin set your points to ^x04%s", arg2)
	
	return PLUGIN_HANDLED;
}

public cmd_vote_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[132], arg3[17]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 131)
	read_argv(3, arg3, 16)
	
	if(!equal(arg3, "give") && !equal(arg3, "remove"))
	{
		client_print(id, print_chat, "invalid mode. Valid modes are: give, remove.")
		return PLUGIN_HANDLED;
	}
	
	new player = cmd_target(id, arg1, 2)	
	display_menu(player, arg2, arg3)
	
	return PLUGIN_HANDLED;
}

public save_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[62], value[10];
	
	new szName [ 32 ];
	get_user_name ( id , szName , sizeof ( szName ) -1 );
	
	format(key, 61,"%s-points", szName)
	format(value, 9,"%d", points[id])
	
	nvault_set(valut, key, value)
	nvault_close(valut)	
	
	return PLUGIN_CONTINUE;
}

public load_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[100];
	
	new szName [ 32 ];
	get_user_name ( id , szName , sizeof ( szName ) -1 );
	
	formatex(key, 99,"%s-points", szName)
	
	points[id] = nvault_get(valut, key)	
	nvault_close(valut)
	
	return PLUGIN_CONTINUE;
}

public show_points(id)
{
	ColorChat(id, GREEN, "^x01[^x04ELF^x01]Detii in acest moment ^x03%d ^x01points!", points[id])
}

public give_time_points(id)
{
	if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
	{
		points[id] += get_pcvar_num(time_points)
		ColorChat(id, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai stat pe server timp de o ora",get_pcvar_num(time_points))
	}
}

public client_putinserver(id)
{
	set_task(3600.0, "give_time_points", id,_,_,"b")
	set_task(20.0, "advertise", id)
	load_points(id)
}

public client_disconnect(id)
{
	save_points(id)
}

public client_death(killer, victim, weapon, hitplace, TK)
{
	if(TK)
	{
		points[killer] -= get_pcvar_num(tk_points)
		ColorChat(killer, GREEN, "^x01[^x04PointsSystem^x01] You lost ^x03%d ^x01points for TKing!", get_pcvar_num(tk_points))
		
		return PLUGIN_CONTINUE
	}
	
	points[killer] += get_pcvar_num(kill_points)
	points[victim] -= get_pcvar_num(death_points)
	ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest frag!", get_pcvar_num(kill_points))
	ColorChat(victim, GREEN, "^x01[^x04ELF^x01] Ai pierdut ^x03%d ^x01points pentru ca ai murit!", get_pcvar_num(death_points))
	
	if(hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(head_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest HeadShoot!", get_pcvar_num(head_points))
	}
	
	if(weapon == CSW_KNIFE)
	{
		points[killer] += get_pcvar_num(knife_points)
		ColorChat(killer, GREEN , "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu cutitul!", get_pcvar_num(knife_points))
	}
	
	if(weapon == CSW_HEGRENADE)
	{
		points[killer] += get_pcvar_num(nade_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu HEgrenade!", get_pcvar_num(nade_points))
	}
	
	if(weapon == CSW_KNIFE && hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(skill_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru skill!", get_pcvar_num(skill_points))
	}
	
	if( get_pcvar_num(toggle_spree) )
	{
		if(get_user_team(killer)!=get_user_team(victim)&&killer!=victim)
		{
			kills[killer] = kills[killer] + 1
			deaths[victim] = deaths[victim] + 1
			
			check_kills(killer)
		}
	}
	
	return PLUGIN_CONTINUE;
}

public bomb_explode(planter)
{
	points[planter] += get_pcvar_num(boom_points)
	ColorChat(planter, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai detonat bomba!", get_pcvar_num(boom_points))
}

public bomb_defused(defuser)
{
	points[defuser] += get_pcvar_num(def_points)
	ColorChat(defuser, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai defuzat bomba!", get_pcvar_num(def_points))
}

public show_top15(id)
{
	new i, count;
	static sort[33][2], maxPlayers;
	
	if(!maxPlayers) maxPlayers = get_maxplayers();
	
	for(i=1;i<=maxPlayers;i++)
	{
		sort[count][0] = i;
		sort[count][1] = points;
		count++;
	}
	
	SortCustom2D(sort,count,"stats_custom_compare");
	
	new motd[1024], len	
	
	len = format(motd, 1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
	len += format(motd[len], 1023-len,"%2s %-22.22s %6s^n", "#", "Nick", "Points")
	
	static name[32]	
	for(new a = 0; a < 15; a++)
	{
		get_user_name(sort[a][0], name, 31)		
		len += format(motd[len], 1023-len,"%2d %-22.22s %6d^n", a + 1, name, sort[a][1])
	}
	
	len += format(motd[len], 1023-len,"</body></font></pre>")
	show_motd(id, motd, "Points Top 15:")
	
	return PLUGIN_CONTINUE;
}

public stats_custom_compare(elem1[],elem2[])
{
	if(elem1[1] > elem2[1]) return -1;
	else if(elem1[1] < elem2[1]) return 1;
		
	return 0;
}

public display_menu(id, reason[], mode[])
{
	new temp[56], name[32]
	
	get_user_name(id, name, 31)
	
	if(equal(mode, "give"))
		format(temp, 55, "\rA dat %s points deoarece %s?", name, reason)
	else if(equal(mode, "remove"))
		format(temp, 55, "\rA sters points lui %s deoarece %s?", name, reason)
	
	new menu = menu_create(temp, "menu_handler")
	
	menu_additem(menu, "\wYes", "1", 0)
	menu_additem(menu, "\wNo", "2", 0)
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_display(i, menu, 0)
	
	set_task(30.0, "finish_vote", id, mode, 16)
}

public finish_vote(id, mode[])
{
	client_print(0, print_chat, "Voting over...")
	
	if(vote_choices[1] > vote_choices[2])
	{
		if(equal(mode, "give"))
		{			
			points[id]++
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai castigat puncte in urma votului!")
		}
		else if(equal(mode, "remove"))
		{
			points[id]--
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai pierdut puncte in urma votului!")
		}
	}
	
	else if(vote_choices[1] < vote_choices[2])
	{
		if(equal(mode, "give"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Din pacate niciun punct pentru tine! =)")
		}
		else if(equal(mode, "remove"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Ai avut noroc si nu ai pierdut puncte")
		}
	}
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_cancel(i)
	
	return PLUGIN_CONTINUE;
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	vote_choices[key]++
	client_print(0, print_chat,"%s voted on %s", name, vote_choices[key] == 1 ? "yes":"no")
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED;
}

public advertise(id)
{
	set_hudmessage(0,255, 0, 0.30, 0.85, 1, 6.0, 6.0);
	show_hudmessage(id,"Acest server foloseste un Sistem de Puncte!Tasteaza /points.^nIn acest moment ai: %d points!",points[id])
}

public RoundStart(id)
{
	set_spree(id)
	reset_spree(id)
}

public check_kills(id)
{
	
	spree[id] = spree[id] + 1
	spreetime[id] = spreetime[id] + 4.0
	
	new name[20]
	get_user_name(id, name, 19)
	
	new r, g, b
	
	r = random(256)
	g = random(256)
	b = random(256)
	
	if(spree[id] == 2)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Double Kill: %s", name)
	}
	
	if(spree[id] == 3)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Triple Kill: %s", name)
	}
	
	if(spree[id] == 4)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Multi Kill: %s", name)
	}
	
	if(spree[id] == 5)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Ultra kill: %s", name)
	}
	
	if(spree[id] == 6)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Mega kill: %s", name)
	}
	
	if(spree[id] > 7)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Rampage: %s", name)
	}
	
	remove_task(id)
	set_task(spreetime[id], "reset_spree", id)
	
}

public reset_spree(id)
{
	set_spree(id)
	
	spree[id] = 0
}

public set_spree(id)
{
	if(spree[id] == 2)
		doublekills[id] = doublekills[id] + 1
	
	else if(spree[id] > 2)
		multikills[id] = multikills[id] + 1
}

public warmup(id,level,cid)
{
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;
	
	new arg1[4];
	read_argv(1,arg1,3);
	
	new players[32], num
	get_players(players, num)
	
	new player
	for(new i = 0; i < num; i++)
	{
		player = players
		
		if(equal(arg1,"1") || equali(arg1,"on"))
		{
			
			warmuptimer(player)
			showicon(player)
			
			set_task(0.1, "switchweapon", player,_,_,"b")
		}
		
	}
	
	return PLUGIN_CONTINUE
}

public warmuptimer(player)
{
	warmup_time--
	
	set_hudmessage(255,255,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(player, "Warm Up round! %d seconds left.", warmup_time)
	
	set_task(1.0, "warmuptimer", player);
	
	if(warmup_time < 1)
	{
		warmup_time = get_cvar_num("PS_warmuptime");
		
		server_cmd("sv_restart 1");
		remove_task(player);
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}

public switchweapon(player)
{
	engclient_cmd(player,"weapon_knife")
}

public showicon(player) {
	
	message_begin(MSG_ONE,iconstatus,{0,0,0},player);
	write_byte(2);
	write_string("d_knife");
	write_byte(0);
	write_byte(255);
	write_byte(0);
	message_end();
}

public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{	
	case YELLOW:
	{
		message[0] = 0x01;
	}
	case GREEN:
	{
		message[0] = 0x04;
	}
	default:
{
	message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
message[192] = '^0';
new team, ColorChange, index, MSG_Type;

if(!id)
{
index = FindPlayer();
MSG_Type = MSG_ALL;

} else {
MSG_Type = MSG_ONE;
index = id;
}

team = get_user_team(index); 
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);

if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}

ShowColorMessage(id, type, message[])
{
message_begin(type, SayText, _, id);
write_byte(id)  
write_string(message);
message_end(); 
}
Team_Info(id, type, team[])
{
message_begin(type, TeamInfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}

FindPlayer()
{
new i = -1;
while(i <= MaxSlots)
{
if(IsConnected[++i])
{
return i;
}
}
return -1;
}
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)
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

14 Jun 2014, 17:12

Tot nu merge adry .... tot asa face .
ex :
Intru pe server cu numele KALA, fac cateva fraguri ..schimb numele ( ar trebuie sa am 0 puncte, dar tot ca pe numele KALA am ) .
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
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:

14 Jun 2014, 19:27

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <nvault>
#include <cstrike>
#include <fun>

#define Plugin "Points System"
#define Version "1.3"
#define Author "Alka / Doombringer"

#define MAXSLOTS 32

new doublekills[33], multikills[33], spree[33]
new kills[33], deaths[33]
new Float:spreetime[33]
new toggle_spree

enum Color {
	YELLOW = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE
}

new TeamName[][] = {
	
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
	
}

new kill_points, death_points, time_points;
new def_points, boom_points;
new head_points, knife_points, nade_points, tk_points, skill_points;
new TeamInfo,SayText,MaxSlots;

new points[32], vote_choices[3]

new bool:IsConnected[MAXSLOTS + 1];

new warmup_time
new iconstatus;

new bool:g_PistolsDisabled = false
new spawn_time

public plugin_init()
{
	
	register_plugin(Plugin, Version, Author);
	
	register_event("RoundTime", "RoundStart", "b");
	register_event("DeathMsg","Event_Death","a");
	
	kill_points = register_cvar("PS_kill_points", "1");
	death_points = register_cvar("PS_death_points", "0");
	
	def_points = register_cvar("PS_defusion_points", "20");
	boom_points = register_cvar("PS_boom_points", "20");
	
	time_points = register_cvar("PS_time_points", "00");
	head_points = register_cvar("PS_head_points", "2");
	
	knife_points = register_cvar("PS_knife_points", "5");
	nade_points = register_cvar("PS_nade_points", "5");
	
	tk_points = register_cvar("PS_tk_points", "0");
	skill_points = register_cvar("PS_skill_points", "0");
	
	toggle_spree = register_cvar("PS_spree","");
	
	register_cvar("PS_warmuptime", "0");
	
	register_cvar("PS_respawn", "0");
	register_cvar("PS_respawntime", "0");
	register_cvar("PS_sptime","0");
	
	register_clcmd("say /points", "show_points");
	register_clcmd("say /toppoints", "show_top15");
	
	register_concmd("amx_points", "cmd_points", ADMIN_LEVEL_H, " - <name> <points> Set's someones points");
	register_concmd("amx_vote_point", "cmd_vote_points", ADMIN_LEVEL_H, " - <name> <reason> <give/remove> Start's a point vote");
	register_concmd("amx_warmupround", "warmup", ADMIN_LEVEL_H, "WarmUp round! Only Knifes...");
	
	TeamInfo = get_user_msgid("TeamInfo");
	SayText = get_user_msgid("SayText");
	MaxSlots = get_maxplayers();
	iconstatus = get_user_msgid("StatusIcon");
	
}

public check_pistols()
{
	set_task(1.0, "check_pistols")
	new mapname[32]
	get_mapname(mapname,31) 
	if ( containi(mapname,"ka_")!=-1 || containi(mapname,"scoutzknivez")!=-1 )
		g_PistolsDisabled = true
}

public spawn_timer(id)
{
	spawn_time--
	
	if(spawn_time < 1)
	{
		set_task(0.4, "player_spawn", id)
		spawn_time = get_cvar_num("PS_respawntime")
		
		return PLUGIN_HANDLED;
	}
	
	set_hudmessage(0, 100,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(id, "You will respawn in %d seconds", spawn_time)
	
	set_task(1.0, "spawn_timer", id)
	return PLUGIN_HANDLED;
}

public Event_Death()
{
	if ( !get_cvar_num("PS_respawn") )
		return PLUGIN_CONTINUE;
	
	new victim = read_data(2)
	spawn_time = get_cvar_num("PS_respawntime")
	
	spawn_timer(victim) 
	return PLUGIN_CONTINUE;
}

public player_giveitems(id)
{
	give_item(id, "item_suit")
	give_item(id, "weapon_knife")
	
	if ( !g_PistolsDisabled )
	{
		new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false 
		get_user_weapons(id,wpnList,number)
		
		for (new i = 0;i < number;i++)
		{ 
			if (wpnList == CSW_GLOCK18) 
				foundGlock = true 
			if (wpnList == CSW_USP) 
				foundUSP = true 
		}
		
		if (cs_get_user_team(id) == CS_TEAM_T && !foundGlock )
		{
			give_item(id,"weapon_glock18")
			give_item(id,"ammo_9mm")
			give_item(id,"ammo_9mm")
		}
		
		else if (cs_get_user_team(id) == CS_TEAM_CT && !foundUSP )
		{
			give_item(id,"weapon_usp")
			give_item(id,"ammo_45acp")
			give_item(id,"ammo_45acp")
		}
	}
	
	return PLUGIN_CONTINUE;
}

public player_spawn(id)
{
	if(!is_user_alive(id))
	{
		spawn(id);
		set_task(0.6, "player_spawn", id);
		
		if( get_cvar_num("PS_sptime") )
		{
			set_task(0.1, "protect", id)
		}
		
		return PLUGIN_CONTINUE;
	}
	
	set_task(0.2, "player_giveitems", id);
	return PLUGIN_CONTINUE;
}

public protect(id)
{
	new Float:SPTime = get_cvar_float("PS_sptime");
	
	set_user_godmode(id, 1)
	
	if(get_user_team(id) == 1)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	else if(get_user_team(id) == 2)
	{
		set_user_rendering(id,kRenderFxGlowShell,18,166,122,kRenderFxNone,1)
	}
	
	set_task(SPTime, "protect_off", id)
	return PLUGIN_HANDLED;
}

public protect_off(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	else
	{
		set_user_godmode(id, 0)
		set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal,0)
	}
	
	return PLUGIN_HANDLED;
}

public cmd_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[11], name[32]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 10)
	
	new player = cmd_target(id, arg1, 1)
	
	if(!player)
		return PLUGIN_HANDLED;
	
	points[player] = str_to_num(arg2)
	
	get_user_name(player, name, 31)
	client_print(id, print_console,"Successfully set %s points to %s!", name, arg2)
	
	ColorChat(player,GREY,"An admin set your points to ^x04%s", arg2)
	
	return PLUGIN_HANDLED;
}

public cmd_vote_points(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED;
	
	new arg1[32], arg2[132], arg3[17]
	
	read_argv(1, arg1, 31)
	read_argv(2, arg2, 131)
	read_argv(3, arg3, 16)
	
	if(!equal(arg3, "give") && !equal(arg3, "remove"))
	{
		client_print(id, print_chat, "invalid mode. Valid modes are: give, remove.")
		return PLUGIN_HANDLED;
	}
	
	new player = cmd_target(id, arg1, 2)	
	display_menu(player, arg2, arg3)
	
	return PLUGIN_HANDLED;
}

public save_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[64], value[64];
	
	new szName [ 32 ];
	get_user_name ( id , szName , sizeof ( szName ) -1 );
	
	formatex(key, charsmax(key),"%s-points", szName)
	formatex(value, charsmax(value),"%d", points[id])
	
	nvault_set(valut, key, value)
	nvault_close(valut)	
	
	return PLUGIN_CONTINUE;
}

public load_points(id)
{
	new valut = nvault_open("points")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("nValut returned invalid handle")
	
	new key[64], value[64];
	
	new szName [ 32 ];
	get_user_name ( id , szName , sizeof ( szName ) -1 );
	
	formatex(key, charsmax(key),"%s-points", szName)
	formatex(value, charsmax(value),"%d", points[id])
	
	points[id] = nvault_get(valut, key)	
	nvault_close(valut)
	
	return PLUGIN_CONTINUE;
}

public show_points(id)
{
	ColorChat(id, GREEN, "^x01[^x04ELF^x01]Detii in acest moment ^x03%d ^x01points!", points[id])
}

public give_time_points(id)
{
	if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
	{
		points[id] += get_pcvar_num(time_points)
		ColorChat(id, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai stat pe server timp de o ora",get_pcvar_num(time_points))
	}
}

public client_putinserver(id)
{
	set_task(3600.0, "give_time_points", id,_,_,"b")
	set_task(20.0, "advertise", id)
	load_points(id)
}

public client_disconnect(id)
{
	save_points(id)
}

public client_death(killer, victim, weapon, hitplace, TK)
{
	if(TK)
	{
		points[killer] -= get_pcvar_num(tk_points)
		ColorChat(killer, GREEN, "^x01[^x04PointsSystem^x01] You lost ^x03%d ^x01points for TKing!", get_pcvar_num(tk_points))
		
		return PLUGIN_CONTINUE
	}
	
	points[killer] += get_pcvar_num(kill_points)
	points[victim] -= get_pcvar_num(death_points)
	ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest frag!", get_pcvar_num(kill_points))
	ColorChat(victim, GREEN, "^x01[^x04ELF^x01] Ai pierdut ^x03%d ^x01points pentru ca ai murit!", get_pcvar_num(death_points))
	
	if(hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(head_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru acest HeadShoot!", get_pcvar_num(head_points))
	}
	
	if(weapon == CSW_KNIFE)
	{
		points[killer] += get_pcvar_num(knife_points)
		ColorChat(killer, GREEN , "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu cutitul!", get_pcvar_num(knife_points))
	}
	
	if(weapon == CSW_HEGRENADE)
	{
		points[killer] += get_pcvar_num(nade_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru frag cu HEgrenade!", get_pcvar_num(nade_points))
	}
	
	if(weapon == CSW_KNIFE && hitplace == HIT_HEAD)
	{
		points[killer] += get_pcvar_num(skill_points)
		ColorChat(killer, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru skill!", get_pcvar_num(skill_points))
	}
	
	if( get_pcvar_num(toggle_spree) )
	{
		if(get_user_team(killer)!=get_user_team(victim)&&killer!=victim)
		{
			kills[killer] = kills[killer] + 1
			deaths[victim] = deaths[victim] + 1
			
			check_kills(killer)
		}
	}
	
	return PLUGIN_CONTINUE;
}

public bomb_explode(planter)
{
	points[planter] += get_pcvar_num(boom_points)
	ColorChat(planter, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai detonat bomba!", get_pcvar_num(boom_points))
}

public bomb_defused(defuser)
{
	points[defuser] += get_pcvar_num(def_points)
	ColorChat(defuser, GREEN, "^x01[^x04ELF^x01] Ai primit ^x03%d ^x01points pentru ca ai defuzat bomba!", get_pcvar_num(def_points))
}

public show_top15(id)
{
	new i, count;
	static sort[33][2], maxPlayers;
	
	if(!maxPlayers) maxPlayers = get_maxplayers();
	
	for(i=1;i<=maxPlayers;i++)
	{
		sort[count][0] = i;
		sort[count][1] = points;
		count++;
	}
	
	SortCustom2D(sort,count,"stats_custom_compare");
	
	new motd[1024], len	
	
	len = format(motd, 1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
	len += format(motd[len], 1023-len,"%2s %-22.22s %6s^n", "#", "Nick", "Points")
	
	static name[32]	
	for(new a = 0; a < 15; a++)
	{
		get_user_name(sort[a][0], name, 31)		
		len += format(motd[len], 1023-len,"%2d %-22.22s %6d^n", a + 1, name, sort[a][1])
	}
	
	len += format(motd[len], 1023-len,"</body></font></pre>")
	show_motd(id, motd, "Points Top 15:")
	
	return PLUGIN_CONTINUE;
}

public stats_custom_compare(elem1[],elem2[])
{
	if(elem1[1] > elem2[1]) return -1;
	else if(elem1[1] < elem2[1]) return 1;
		
	return 0;
}

public display_menu(id, reason[], mode[])
{
	new temp[56], name[32]
	
	get_user_name(id, name, 31)
	
	if(equal(mode, "give"))
		format(temp, 55, "\rA dat %s points deoarece %s?", name, reason)
	else if(equal(mode, "remove"))
		format(temp, 55, "\rA sters points lui %s deoarece %s?", name, reason)
	
	new menu = menu_create(temp, "menu_handler")
	
	menu_additem(menu, "\wYes", "1", 0)
	menu_additem(menu, "\wNo", "2", 0)
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_display(i, menu, 0)
	
	set_task(30.0, "finish_vote", id, mode, 16)
}

public finish_vote(id, mode[])
{
	client_print(0, print_chat, "Voting over...")
	
	if(vote_choices[1] > vote_choices[2])
	{
		if(equal(mode, "give"))
		{			
			points[id]++
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai castigat puncte in urma votului!")
		}
		else if(equal(mode, "remove"))
		{
			points[id]--
			
			client_print(0, print_chat, "Alegerea ^"yes^" a castigat votul!")
			client_print(id, print_chat, "Ai pierdut puncte in urma votului!")
		}
	}
	
	else if(vote_choices[1] < vote_choices[2])
	{
		if(equal(mode, "give"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Din pacate niciun punct pentru tine! =)")
		}
		else if(equal(mode, "remove"))
		{		
			client_print(0, print_chat, "Alegerea ^"no^" a castigat votul!")
			client_print(id, print_chat, "Ai avut noroc si nu ai pierdut puncte")
		}
	}
	
	for(new i = 1; i < get_playersnum(); i++)
		menu_cancel(i)
	
	return PLUGIN_CONTINUE;
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	vote_choices[key]++
	client_print(0, print_chat,"%s voted on %s", name, vote_choices[key] == 1 ? "yes":"no")
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED;
}

public advertise(id)
{
	set_hudmessage(0,255, 0, 0.30, 0.85, 1, 6.0, 6.0);
	show_hudmessage(id,"Acest server foloseste un Sistem de Puncte!Tasteaza /points.^nIn acest moment ai: %d points!",points[id])
}

public RoundStart(id)
{
	set_spree(id)
	reset_spree(id)
}

public check_kills(id)
{
	
	spree[id] = spree[id] + 1
	spreetime[id] = spreetime[id] + 4.0
	
	new name[20]
	get_user_name(id, name, 19)
	
	new r, g, b
	
	r = random(256)
	g = random(256)
	b = random(256)
	
	if(spree[id] == 2)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Double Kill: %s", name)
	}
	
	if(spree[id] == 3)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Triple Kill: %s", name)
	}
	
	if(spree[id] == 4)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Multi Kill: %s", name)
	}
	
	if(spree[id] == 5)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Ultra kill: %s", name)
	}
	
	if(spree[id] == 6)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Mega kill: %s", name)
	}
	
	if(spree[id] > 7)
	{
		set_hudmessage(r, g, b, 0.01, 0.54, 1, 6.0, 6.0, 0.1, 0.2, -1);
		show_hudmessage(0, "Rampage: %s", name)
	}
	
	remove_task(id)
	set_task(spreetime[id], "reset_spree", id)
	
}

public reset_spree(id)
{
	set_spree(id)
	
	spree[id] = 0
}

public set_spree(id)
{
	if(spree[id] == 2)
		doublekills[id] = doublekills[id] + 1
	
	else if(spree[id] > 2)
		multikills[id] = multikills[id] + 1
}

public warmup(id,level,cid)
{
	if(!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED;
	
	new arg1[4];
	read_argv(1,arg1,3);
	
	new players[32], num
	get_players(players, num)
	
	new player
	for(new i = 0; i < num; i++)
	{
		player = players
		
		if(equal(arg1,"1") || equali(arg1,"on"))
		{
			
			warmuptimer(player)
			showicon(player)
			
			set_task(0.1, "switchweapon", player,_,_,"b")
		}
		
	}
	
	return PLUGIN_CONTINUE
}

public warmuptimer(player)
{
	warmup_time--
	
	set_hudmessage(255,255,255, -1.0, 0.35, 0, 3.0, 2.0)
	show_hudmessage(player, "Warm Up round! %d seconds left.", warmup_time)
	
	set_task(1.0, "warmuptimer", player);
	
	if(warmup_time < 1)
	{
		warmup_time = get_cvar_num("PS_warmuptime");
		
		server_cmd("sv_restart 1");
		remove_task(player);
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}

public switchweapon(player)
{
	engclient_cmd(player,"weapon_knife")
}

public showicon(player) {
	
	message_begin(MSG_ONE,iconstatus,{0,0,0},player);
	write_byte(2);
	write_string("d_knife");
	write_byte(0);
	write_byte(255);
	write_byte(0);
	message_end();
}

public ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
static message[256];
switch(type)
{	
	case YELLOW:
	{
		message[0] = 0x01;
	}
	case GREEN:
	{
		message[0] = 0x04;
	}
	default:
{
	message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
message[192] = '^0';
new team, ColorChange, index, MSG_Type;

if(!id)
{
index = FindPlayer();
MSG_Type = MSG_ALL;

} else {
MSG_Type = MSG_ONE;
index = id;
}

team = get_user_team(index); 
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);

if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}

ShowColorMessage(id, type, message[])
{
message_begin(type, SayText, _, id);
write_byte(id)  
write_string(message);
message_end(); 
}
Team_Info(id, type, team[])
{
message_begin(type, TeamInfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}

FindPlayer()
{
new i = -1;
while(i <= MaxSlots)
{
if(IsConnected[++i])
{
return i;
}
}
return -1;
}
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)
User avatar
lycanian
Membru, skill 0
Membru, skill 0
Posts: 64
Joined: 12 Jan 2011, 00:33
Detinator Steam: Da
CS Status: I`m fine .
Detinator server CS: Da
SteamID: madfather_ro
Location: Constanta
Has thanked: 2 times
Been thanked: 1 time
Contact:

15 Jun 2014, 00:50

Multumesc , functioneaza.

Acum ma poti ajuta si cu topul la acest plugin , functioneaza doar la cei de pe server, eu vreau sa fie general , crezi ca ma poti ajuta ?

PS : Ai un multumesc la cel anterior .
CSGO.GAMEFEAR.RO - CSGO CLASSY V2

Tranzactii reusite, a dat primul. Click
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:

15 Jun 2014, 12:54

lycanian wrote:Multumesc , functioneaza.

Acum ma poti ajuta si cu topul la acest plugin , functioneaza doar la cei de pe server, eu vreau sa fie general , crezi ca ma poti ajuta ?

PS : Ai un multumesc la cel anterior .
Cum adica functioneaza doar celor depe server? vrei sa le apara si celor care nu sunt conectati pe server ? :)))
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)
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 31 guests