Cerere plugin [Rezolvat]

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

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

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
User avatar
MADARFACAR ;x
Membru, skill +2
Membru, skill +2
Posts: 566
Joined: 23 Jul 2011, 14:47
Detinator Steam: Da
CS Status: @
Detinator server CS: Nu
Reputatie: Membru Club eXtreamCS (o luna)
Location: Iasi
Has thanked: 64 times
Been thanked: 33 times

21 Mar 2012, 15:08

As vrea sa stiu si eu daca imi puteti modifica si mie plugin-ul astfel incat:

Code: Select all

.Dupa terminarea votului sa se restarteze automat runda . 
timelimit.sma | Afiseaza codul
#include <amxmodx>
#include <amxmisc>

#define PLUGIN	"TimeLimit vote"
#define AUTHOR	"many"
#define VERSION	"0.4"

#define MAX_RESULTS 3

new Float:g_timelimit
new menu

new g_voteCount[MAX_RESULTS + 1]
new g_tls[MAX_RESULTS]
new tls[MAX_RESULTS]

new g_CountSys

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_CountSys	= register_cvar("amx_countsys",	"1")
	
	new name[12], string[12]
	new multiplic = 20 // +++++
	
	for(new i=0;i<MAX_RESULTS;i++)
	{
		format(name, sizeof name -1, "amx_tl_%d", i+1)
		
		format(string, sizeof string -1, "%d", multiplic)
		
		tls = register_cvar(name, string)
		
		multiplic += 10
	}
}

public plugin_cfg()
{
	menu = menu_create("\rCat vrei sa joci aceasta harta?", "menu_handler")
	
	for(new i=0;i<MAX_RESULTS;i++)
		g_tls = get_pcvar_num(tls)
	
	set_task(20.0, "start_vote")
	
	build_menu()
}

build_menu()
{	
	new option[64], temp[12]
	for(new i=0;i<MAX_RESULTS;i++)
	{
		format(option, sizeof option -1, "\y%d \wminute", g_tls)
		format(temp, sizeof temp -1, "%d", i+1)
		
		menu_additem(menu, option, temp, 0)
	}
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
}

public start_vote(id)
{	
	new players[32], inum, i
	get_players(players, inum, "ch")
	
	for(i=0;i<inum;i++)
		menu_display(players, menu, 0)
	
	set_task(15.0, "finish_vote")
	
	for(i=1;i<(MAX_RESULTS+1);i++)
		g_voteCount = 0
	
	return PLUGIN_CONTINUE
}

public menu_handler(id, menu, item)
{
	if( !is_user_connected( id ) )
		return PLUGIN_HANDLED 

	if(item == MENU_EXIT)
	{
		menu_cancel(id)
		
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, "", 0, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	client_print(0, print_chat, "[uGames] %s a votat pentru %d minute", name, g_tls[key -1])
	
	g_voteCount[key]++
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED
}

public finish_vote()
{	
	new players[32], inum
	get_players(players, inum, "ch")
	
	for(new i=0;i<inum;i++)
		client_cmd(players, "slot10")
	
	CountVotes()
}

public CountVotes()
{
	g_timelimit = get_cvar_float("mp_timelimit")
	new votesNum = 0
	
	if(!get_pcvar_num(g_CountSys))
	{	
		new best = 0
		
		for(new i=1;i<(MAX_RESULTS+1);i++)
		{
			if(g_voteCount > g_voteCount[best])
				best = i
		}
		
		for(new i=1;i<(MAX_RESULTS+1);i++)
			votesNum += g_voteCount
		
		new iRatio = votesNum ? floatround(get_cvar_float("amx_vote_ratio") * float(votesNum), floatround_ceil) : 1
		new iResult = g_voteCount[best]
		
		if(iResult >= iRatio)
		{
			new new_time = g_tls[best -1]
			
			client_print(0, print_chat, "[uGames] Votarea a avut loc cu succes. Mapa se va juca %d minute!", new_time)
			
			set_cvar_num("mp_timelimit", new_time)
		}
		else
		{
			client_print(0, print_chat, "** Votare esuata!")
		}
	}
	if(get_pcvar_num(g_CountSys) == 1)
	{
		new summ_time = 0
		new _time
		
		for(new i=1;i<(MAX_RESULTS+1);i++)
		{
			votesNum += g_voteCount
			summ_time += g_voteCount[i] * g_tls[i-1]
		}
		
		if(votesNum)
		{
			_time = floatround(float(summ_time) / float(votesNum), floatround_ceil)
			if (_time - (_time = _time / 10 * 10) >= 5) 
				_time += 10
			
			client_print(0, print_chat, "** Votarea a avut loc cu succes. Mapa se va juca %d minute!", _time)
			
			set_cvar_num("mp_timelimit", _time)
			
		}
		else
		{
			client_print(0, print_chat, "** Votare esuata!")
		}
		
	}
}

public plugin_end() 
{
	set_cvar_float("mp_timelimit", g_timelimit)
}


Multumesc.
Last edited by tweky on 22 Mar 2012, 15:19, edited 1 time in total.
Reason: Rezolvat.
RoyalServer
User avatar
Andrei.B
Fost administrator
Fost administrator
Posts: 6479
Joined: 17 Aug 2009, 09:15
Detinator Steam: Da
CS Status: Plecat pe mari si tari
Detinator server CS: Nu detin !
SteamID: andreybci94
Reputatie: Fost Membru Club eXtreamCS (o luna)
Fost Administrator
Nume anterior : bLack, Andrei,krusc
Contribuitor
Location: ConstanTa
Has thanked: 275 times
Been thanked: 557 times

21 Mar 2012, 18:00

Uite am gasit un plugin , ca sa nu-l mai modificam pe ala .


http://www.extreamcs.com/forum/pluginur ... 41913.html

Mereu in suflet culorile ( Roş -Albastru )
Image
ImageImage
!Sk|t!
Membru, skill +1
Membru, skill +1
Posts: 101
Joined: 09 Feb 2011, 10:02
Detinator Steam: Da
CS Status: Omfg?
Detinator server CS: dr.rgaming.ro
SteamID: skitaila
Has thanked: 4 times
Been thanked: 22 times
Contact:

21 Mar 2012, 22:23

Code: Select all

#include <amxmodx>
#include <amxmisc>

#define PLUGIN	"TimeLimit vote"
#define AUTHOR	"many"
#define VERSION	"0.4"

#define MAX_RESULTS 3

new Float:g_timelimit
new menu

new g_voteCount[MAX_RESULTS + 1]
new g_tls[MAX_RESULTS]
new tls[MAX_RESULTS]

new g_CountSys

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_CountSys	= register_cvar("amx_countsys",	"1")
	
	new name[12], string[12]
	new multiplic = 20 // +++++
	
	for(new i=0;i<MAX_RESULTS;i++)
	{
		format(name, sizeof name -1, "amx_tl_%d", i+1)
		
		format(string, sizeof string -1, "%d", multiplic)
		
		tls[i] = register_cvar(name, string)
		
		multiplic += 10
	}
}

public plugin_cfg()
{
	menu = menu_create("\rCat vrei sa joci aceasta harta?", "menu_handler")
	
	for(new i=0;i<MAX_RESULTS;i++)
		g_tls[i] = get_pcvar_num(tls[i])
	
	set_task(20.0, "start_vote")
	
	build_menu()
}

build_menu()
{	
	new option[64], temp[12]
	for(new i=0;i<MAX_RESULTS;i++)
	{
		format(option, sizeof option -1, "\y%d \wminute", g_tls[i])
		format(temp, sizeof temp -1, "%d", i+1)
		
		menu_additem(menu, option, temp, 0)
	}
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
}

public start_vote(id)
{	
	new players[32], inum, i
	get_players(players, inum, "ch")
	
	for(i=0;i<inum;i++)
		menu_display(players[i], menu, 0)
	
	set_task(15.0, "finish_vote")
	
	for(i=1;i<(MAX_RESULTS+1);i++)
		g_voteCount[i] = 0
	
	return PLUGIN_CONTINUE
}

public menu_handler(id, menu, item)
{
	if( !is_user_connected( id ) )
		return PLUGIN_HANDLED 

	if(item == MENU_EXIT)
	{
		menu_cancel(id)
		
		return PLUGIN_HANDLED
	}
	
	new data[6], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 5, "", 0, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	client_print(0, print_chat, "[uGames] %s a votat pentru %d minute", name, g_tls[key -1])
	
	g_voteCount[key]++
	
	menu_cancel(id)
	
	return PLUGIN_HANDLED
}

public finish_vote()
{	
	new players[32], inum
	get_players(players, inum, "ch")
	
	for(new i=0;i<inum;i++)
		client_cmd(players[i], "slot10")
		set_cvar_num("sv_restart", 1)
	CountVotes()
}

public CountVotes()
{
	g_timelimit = get_cvar_float("mp_timelimit")
	new votesNum = 0
	
	if(!get_pcvar_num(g_CountSys))
	{	
		new best = 0
		
		for(new i=1;i<(MAX_RESULTS+1);i++)
		{
			if(g_voteCount[i] > g_voteCount[best])
				best = i
		}
		
		for(new i=1;i<(MAX_RESULTS+1);i++)
			votesNum += g_voteCount[i]
		
		new iRatio = votesNum ? floatround(get_cvar_float("amx_vote_ratio") * float(votesNum), floatround_ceil) : 1
		new iResult = g_voteCount[best]
		
		if(iResult >= iRatio)
		{
			new new_time = g_tls[best -1]
			
			client_print(0, print_chat, "[uGames] Votarea a avut loc cu succes. Mapa se va juca %d minute!", new_time)
			
			set_cvar_num("mp_timelimit", new_time)
		}
		else
		{
			client_print(0, print_chat, "** Votare esuata!")
		}
	}
	if(get_pcvar_num(g_CountSys) == 1)
	{
		new summ_time = 0
		new _time
		
		for(new i=1;i<(MAX_RESULTS+1);i++)
		{
			votesNum += g_voteCount[i]
			summ_time += g_voteCount[i] * g_tls[i-1]
		}
		
		if(votesNum)
		{
			_time = floatround(float(summ_time) / float(votesNum), floatround_ceil)
			if (_time - (_time = _time / 10 * 10) >= 5) 
				_time += 10
			
			client_print(0, print_chat, "** Votarea a avut loc cu succes. Mapa se va juca %d minute!", _time)
			
			set_cvar_num("mp_timelimit", _time)
			
		}
		else
		{
			client_print(0, print_chat, "** Votare esuata!")
		}
		
	}
}

public plugin_end() 
{
	set_cvar_float("mp_timelimit", g_timelimit)
}
vezi daca merge:)
new Y!M: [email protected]
Bye!
User avatar
MADARFACAR ;x
Membru, skill +2
Membru, skill +2
Posts: 566
Joined: 23 Jul 2011, 14:47
Detinator Steam: Da
CS Status: @
Detinator server CS: Nu
Reputatie: Membru Club eXtreamCS (o luna)
Location: Iasi
Has thanked: 64 times
Been thanked: 33 times

22 Mar 2012, 15:08

Sar'na !Sk|t! .

Rezolvat .
Post Reply

Return to “Cereri”

  • Information