[Cerere Plugin] Resetscore

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
Alexandru P.
Membru, skill 0
Membru, skill 0
Posts: 77
Joined: 10 Apr 2020, 11:27
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: CS.BHZD.RO
Fond eXtream: 0
Has thanked: 7 times
Contact:

24 Feb 2021, 18:18

Plugin Cerut: Vreau un plugin pentru resetarea scorului.
Descriere (adica ce face el mai exact): -> Atunci cand vreai sa iti resetezi scorul, tastand comanda /rs sau /resetscore sa platesti: [5] silver coins sau [2] gold coins, Doresc sa apara mesaj in chat ca cel din poza -- https://i.imgur.com/Cx7oSEt.jpg, doresc sa aiba un sunet atunci cand folosesti comanda /rs sau /resetscore #define sReset "buttons/bell1.wav" si un mesaj colorat atunci cand nu ai "Coins" : You don't have enough coins.
Serverul impune conditii strict HLDS/REHLDS?: RHLDS
Ai cautat pluginul?(daca da, precizeaza cum): -
Necesita mod special?: Nu
Configuratie server: -

[5] silver coins sau [2] gold coins - la aceste 2 optiuni sa pot schimba valorile

Natives:
| Afiseaza codul
public plugin_natives()
{
	register_native("open_buyadmin","native_openbuy");
	register_native("set_gold_coins","native_setg");
	register_native("get_gold_coins","native_getg");
	register_native("set_silver_coins","native_sets");
	register_native("get_silver_coins","native_gets");
}
Daca se poate as dori sa modificati acest plugin pe care il folosesc in momentul acesta pe server:
| Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN_NAME "Resetscore System"
#define PLUGIN_VERSION "1.1"
#define PLUGIN_AUTHOR "OciXCrom"

#define sReset "buttons/bell1.wav"
#define sResetAll "buttons/lightswitch2.wav"

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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


new const g_Commands[][] = {
	"say /rs",
	"say /resetscore",
	"say_team /rs",
	"say_team /resetscore"
}

new cvar_prefix, cvar_alive, cvar_viponly, cvar_vipflag, cvar_limit, cvar_resetkills, cvar_resetdeaths, cvar_resetmoney, cvar_notifyall, cvar_sound, cvar_chat, cvar_adverttime
new limit[33], advert

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_cvar("ResetscoreSystem", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	
	cvar_prefix = 			register_cvar("resetscore_prefix", 			"!g[!tResetscore System!g]")
	cvar_alive = 			register_cvar("resetscore_alive", 			"1")
	cvar_viponly = 			register_cvar("resetscore_viponly", 		"0")
	cvar_vipflag = 			register_cvar("resetscore_vipflag", 		"b")
	cvar_limit =			register_cvar("resetscore_limit", 			"0")
	cvar_resetkills = 		register_cvar("resetscore_resetkills", 		"1")
	cvar_resetdeaths = 		register_cvar("resetscore_resetdeaths", 	"1")
	cvar_resetmoney = 		register_cvar("resetscore_resetmoney",		"0")
	cvar_notifyall = 		register_cvar("resetscore_notifyall", 		"1")
	cvar_sound = 			register_cvar("resetscore_sound", 			"1")
	cvar_chat = 			register_cvar("resetscore_chat", 			"0")
	cvar_adverttime = 		register_cvar("resetscore_adverttime", 		"120")
	
	for(new i = 0; i < sizeof(g_Commands); i++)
		register_clcmd(g_Commands, "cmd_resetscore")
}

public plugin_cfg()
{
	advert = get_pcvar_num(cvar_adverttime)
	if(advert > 0) set_task(float(advert), "rs_advertise", 2222, "", 0, "b", 0)
}

public cmd_resetscore(id)
{
	static szPrefix[100]
	szPrefix = get_prefix()
	
	static cmd_limit
	cmd_limit = get_pcvar_num(cvar_limit)
	
	if(!get_pcvar_num(cvar_alive) && is_user_alive(id))
	{
		ColorChat(id, TEAM_COLOR, "%s ^1You can't ^3reset ^1your ^4score ^1while you are ^3alive^1.", szPrefix)
		return PLUGIN_HANDLED
	}
	
	if(get_pcvar_num(cvar_viponly) == 1 && !user_has_flag(id, cvar_vipflag))
	{
		new flag_vip[2]
		get_pcvar_string(cvar_vipflag, flag_vip, charsmax(flag_vip))
		
		ColorChat(id, TEAM_COLOR, "%s ^1Flag ^3%s ^1is neeeded to ^4reset your score^1.", szPrefix, flag_vip)
		return PLUGIN_HANDLED
	}
	
	if(cmd_limit > 0)
	{
		if(limit[id] == cmd_limit)
		{
			ColorChat(id, TEAM_COLOR, "%s ^1You can ^4reset your score ^1only ^3%i ^1times per map.", szPrefix, cmd_limit)
			return PLUGIN_HANDLED
		}
		
		if(limit[id] < cmd_limit)
			limit[id]++
	}
	
	new limit_left = cmd_limit - limit[id]
	
	switch(get_pcvar_num(cvar_notifyall))
	{
		case 0:
		{
			if(cmd_limit > 0)
			{
				if(limit_left == 0) ColorChat(id, TEAM_COLOR, "%s ^1You have just ^3reset ^1your ^4score^1. You ^3can't ^1use this command anymore.", szPrefix)
				else ColorChat(id, TEAM_COLOR, "%s ^1You have just ^3reset ^1your ^4score^1. You can do this ^3%i ^1more time%s.", szPrefix, limit_left, (limit_left == 1) ? "" : "s")
			}
			else ColorChat(id, TEAM_COLOR, "%s ^1You have just ^3reset ^1your ^4score^1.", szPrefix)
		}
		case 1:
		{
			new name[32]
			get_user_name(id, name, charsmax(name))
			
			if(cmd_limit > 0) ColorChat(0, TEAM_COLOR, "%s ^1Player ^3%s ^1has just ^4reset his score ^1[^4Limit: ^3%i^1/^3%i^1]", szPrefix, name, limit[id], cmd_limit)
			else ColorChat(0, TEAM_COLOR, "%s ^1Player ^3%s ^1has just ^4reset his score^1.", szPrefix, name)
		}
	}
	
	switch(get_pcvar_num(cvar_sound))
	{
		case 1: client_cmd(id, "spk %s", sReset)
		case 2: client_cmd(0, "spk %s", sResetAll)
	}
	
	resetscore(id)
	return (get_pcvar_num(cvar_chat) == 1) ? PLUGIN_CONTINUE : PLUGIN_HANDLED
}

public rs_advertise()
	ColorChat(0, TEAM_COLOR, "%s ^1Type ^4/rs ^1or ^4/resetscore ^1to reset your ^4score^1.", get_prefix())

resetscore(id)
{
	if(get_pcvar_num(cvar_resetkills) == 1) set_user_frags(id, 0)
	if(get_pcvar_num(cvar_resetdeaths) == 1) cs_set_user_deaths(id, 0)
	if(get_pcvar_num(cvar_resetmoney) == 1) cs_set_user_money(id, get_cvar_num("mp_startmoney"))
}

stock get_prefix()
{
	static szPrefix[100]
	get_pcvar_string(cvar_prefix, szPrefix, charsmax(szPrefix))
	
	replace_all(szPrefix, charsmax(szPrefix), "!n", "^1")
	replace_all(szPrefix, charsmax(szPrefix), "!t", "^3")
	replace_all(szPrefix, charsmax(szPrefix), "!g", "^4")
	
	return szPrefix
}

stock user_has_flag(id, cvar)
{
	new flags[32]
	get_flags(get_user_flags(id), flags, charsmax(flags))
	
	new vip_flag[2]
	get_pcvar_string(cvar, vip_flag, charsmax(vip_flag))
	
	return (contain(flags, vip_flag) != -1) ? true : false
}

public plugin_precache()
{
	precache_sound(sReset)
	precache_sound(sResetAll)
}

/* ColorChat */

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	static message[256];

	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}

	vformat(message[1], 251, msg, 4);

	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';

	static team, ColorChange, index, MSG_Type;
	
	if(id)
	{
		MSG_Type = MSG_ONE;
		index = id;
	} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	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, get_user_msgid("SayText"), _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	message_begin(type, get_user_msgid("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()
{
	static i;
	i = -1;

	while(i <= get_maxplayers())
	{
		if(is_user_connected(++i))
		{
			return i;
		}
	}

	return -1;
}
RoyalServer 2
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

25 Feb 2021, 01:16

Poftim , ti-am facut unul de la 0 , imi zici daca mai vrei modificari la el

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <fun>

#define sunet1 "buttons/bell1.wav"
#define sunet2 "buttons/lightswitch2.wav"
#define PREFIX "!v[!eRS!v] "


native set_gold_coins(id)
native get_gold_coins(id)
native set_silver_coins(id)
native get_silver_coins(id)


new const gComenzi[][] = {"say /rs", "say /resetscore", "say_team /rs", "say_team /resetscore"};

enum {
	RS_SUNETE_ON_OFF,
	RS_SUNET_TYPE,
	RS_COST_TYPE,
	RS_GOLD_COST,
	RS_SILVER_COST,
	RS_MESAJ_TYPE,
	MAX_CVARS
}

new Configs[MAX_CVARS]

public plugin_init()
{
	register_plugin("RS", "1.0", "Senor")
	Configs[RS_SUNETE_ON_OFF] = register_cvar("rs_sunte_on_off", "1") // 1 - sunete la rs ; 0 - fara sunete la rs
	Configs[RS_COST_TYPE] = register_cvar("rs_cost_type", "1") // 1 - rs costa gold ; 2 - rs costa silver
	Configs[RS_SUNET_TYPE] = register_cvar("rs_sunt_type", "1") // 1 - primul sunet ; 2 - al doilea sunet
	Configs[RS_GOLD_COST] = register_cvar("rs_gold_cost", "2") // cat gold sa coste rs
	Configs[RS_SILVER_COST] = register_cvar("rs_silver_cost", "2") // cat silver sa coste rs
	Configs[RS_MESAJ_TYPE] = register_cvar("rs_mesaj_type", "1") // 1 - arata doar la cel care a dat /rs ; 2 - arata la toti


	for(new comenzi; comenzi < sizeof(gComenzi); ++comenzi)	register_clcmd(gComenzi[comenzi], "ResetScoreMain")
}

public plugin_precache()
{
	precache_sound(sunet1)
	precache_sound(sunet2)
}

public ResetScoreMain(id)
{
	new name[33];
	get_user_name(id,name,charsmax(name))
	switch(get_pcvar_num(Configs[RS_MESAJ_TYPE]))
	{
		case 1:	
		{
			print_color(id, "%s !e%s !nyour score has been !ereseted",PREFIX, name)
		}
		case 2:	
		{
			print_color(0, "%s !e%s !nreseted his !escore",PREFIX, name)

		}
	}
	switch(get_pcvar_num(Configs[RS_SUNETE_ON_OFF]))
	{
		case 0: return PLUGIN_HANDLED
		case 1:
		{
			switch(get_pcvar_num(Configs[RS_SUNET_TYPE]))
			{
				case 1: client_cmd(id, "spk %s", sunet1)
				case 2: client_cmd(id, "spk %s", sunet2)
			}
		}

	}
	ResetScoreIntern(id)
	return PLUGIN_CONTINUE
}
ResetScoreIntern(id)
{
	new getGold, getSilver, goldNeed, silverNeed
	goldNeed = get_pcvar_num(Configs[RS_GOLD_COST])
	silverNeed = get_pcvar_num(Configs[RS_SILVER_COST])
	getGold = get_gold_coins(id)
	getSilver = get_silver_coins(id)
	switch(get_pcvar_num(Configs[RS_COST_TYPE]))
	{
		case 1: 
		{
			if(getGold < goldNeed)	print_color(id, "%s You don't have !e%s gold !nto reset your score ! ",PREFIX,goldNeed)
			else
			get_gold_coins(getGold - goldNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
		case 2: 
		{
			if(getSilver < silverNeed)	print_color(id, "%s You don't have !e%s silver !nto reset your score ! ",PREFIX,silverNeed)
			else
			get_silver_coins(getSilver - silverNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
	}

}
stock print_color( const id, const input[ ], any:... )
{
	new count = 1, players[ 32 ]

	static msg[ 191 ]
	vformat( msg, 190, input, 3 )

	replace_all( msg, 190, "!v", "^4" ) //- verde
	replace_all( msg, 190, "!g", "^1" ) //- galben
	replace_all( msg, 190, "!e", "^3" ) //- echipa
	replace_all( msg, 190, "!n", "^0" ) //- normal

	if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
	{
		for( new i = 0; i < count; i++ )
			{
				if( is_user_connected( players[ i ] ) )
					{
						message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
						write_byte( players[ i ] );
						write_string( msg );
						message_end( );
					}
				}
			}
		}			
p.s : netestat pentru ca nu am sistemul de puncte :ily_gesture:
User avatar
EnTeR_
Membru, skill +2
Membru, skill +2
Posts: 577
Joined: 13 Sep 2014, 16:36
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 3 times
Been thanked: 29 times

25 Feb 2021, 09:59

N3v3rM1nd wrote:
25 Feb 2021, 01:16
Poftim , ti-am facut unul de la 0 , imi zici daca mai vrei modificari la el

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <fun>

#define sunet1 "buttons/bell1.wav"
#define sunet2 "buttons/lightswitch2.wav"
#define PREFIX "!v[!eRS!v] "


native set_gold_coins(id)
native get_gold_coins(id)
native set_silver_coins(id)
native get_silver_coins(id)


new const gComenzi[][] = {"say /rs", "say /resetscore", "say_team /rs", "say_team /resetscore"};

enum {
	RS_SUNETE_ON_OFF,
	RS_SUNET_TYPE,
	RS_COST_TYPE,
	RS_GOLD_COST,
	RS_SILVER_COST,
	RS_MESAJ_TYPE,
	MAX_CVARS
}

new Configs[MAX_CVARS]

public plugin_init()
{
	register_plugin("RS", "1.0", "Senor")
	Configs[RS_SUNETE_ON_OFF] = register_cvar("rs_sunte_on_off", "1") // 1 - sunete la rs ; 0 - fara sunete la rs
	Configs[RS_COST_TYPE] = register_cvar("rs_cost_type", "1") // 1 - rs costa gold ; 2 - rs costa silver
	Configs[RS_SUNET_TYPE] = register_cvar("rs_sunt_type", "1") // 1 - primul sunet ; 2 - al doilea sunet
	Configs[RS_GOLD_COST] = register_cvar("rs_gold_cost", "2") // cat gold sa coste rs
	Configs[RS_SILVER_COST] = register_cvar("rs_silver_cost", "2") // cat silver sa coste rs
	Configs[RS_MESAJ_TYPE] = register_cvar("rs_mesaj_type", "1") // 1 - arata doar la cel care a dat /rs ; 2 - arata la toti


	for(new comenzi; comenzi < sizeof(gComenzi); ++comenzi)	register_clcmd(gComenzi[comenzi], "ResetScoreMain")
}

public plugin_precache()
{
	precache_sound(sunet1)
	precache_sound(sunet2)
}

public ResetScoreMain(id)
{
	new name[33];
	get_user_name(id,name,charsmax(name))
	switch(get_pcvar_num(Configs[RS_MESAJ_TYPE]))
	{
		case 1:	
		{
			print_color(id, "%s !e%s !nyour score has been !ereseted",PREFIX, name)
		}
		case 2:	
		{
			print_color(0, "%s !e%s !nreseted his !escore",PREFIX, name)

		}
	}
	switch(get_pcvar_num(Configs[RS_SUNETE_ON_OFF]))
	{
		case 0: return PLUGIN_HANDLED
		case 1:
		{
			switch(get_pcvar_num(Configs[RS_SUNET_TYPE]))
			{
				case 1: client_cmd(id, "spk %s", sunet1)
				case 2: client_cmd(id, "spk %s", sunet2)
			}
		}

	}
	ResetScoreIntern(id)
	return PLUGIN_CONTINUE
}
ResetScoreIntern(id)
{
	new getGold, getSilver, goldNeed, silverNeed
	goldNeed = get_pcvar_num(Configs[RS_GOLD_COST])
	silverNeed = get_pcvar_num(Configs[RS_SILVER_COST])
	getGold = get_gold_coins(id)
	getSilver = get_silver_coins(id)
	switch(get_pcvar_num(Configs[RS_COST_TYPE]))
	{
		case 1: 
		{
			if(getGold < goldNeed)	print_color(id, "%s You don't have !e%s gold !nto reset your score ! ",PREFIX,goldNeed)
			else
			get_gold_coins(getGold - goldNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
		case 2: 
		{
			if(getSilver < silverNeed)	print_color(id, "%s You don't have !e%s silver !nto reset your score ! ",PREFIX,silverNeed)
			else
			get_silver_coins(getSilver - silverNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
	}

}
stock print_color( const id, const input[ ], any:... )
{
	new count = 1, players[ 32 ]

	static msg[ 191 ]
	vformat( msg, 190, input, 3 )

	replace_all( msg, 190, "!v", "^4" ) //- verde
	replace_all( msg, 190, "!g", "^1" ) //- galben
	replace_all( msg, 190, "!e", "^3" ) //- echipa
	replace_all( msg, 190, "!n", "^0" ) //- normal

	if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
	{
		for( new i = 0; i < count; i++ )
			{
				if( is_user_connected( players[ i ] ) )
					{
						message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
						write_byte( players[ i ] );
						write_string( msg );
						message_end( );
					}
				}
			}
		}			
p.s : netestat pentru ca nu am sistemul de puncte :ily_gesture:
Nu o sa functioneze.
1. Nativa la set_ are 2 parametrii.
2. Verificarea daca are numărul de puncte nu e bună, o sa i reseteze indiferent daca are sau nu puncte.
3. Numărul de puncte il scazi cu set_.

get_gold_coins(getSilver - silverNeed) (nu stiu ce logica are asta dar in fine)
-->
set_gold_coins ( id, get_gold_coins( id ) - număr )

Edit: Dacă opresc sunetele o sa afecteze tot pluginul.
Discord: eyekon13
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

25 Feb 2021, 10:18

EnTeR_ wrote:
25 Feb 2021, 09:59
N3v3rM1nd wrote:
25 Feb 2021, 01:16
Poftim , ti-am facut unul de la 0 , imi zici daca mai vrei modificari la el

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <fun>

#define sunet1 "buttons/bell1.wav"
#define sunet2 "buttons/lightswitch2.wav"
#define PREFIX "!v[!eRS!v] "


native set_gold_coins(id)
native get_gold_coins(id)
native set_silver_coins(id)
native get_silver_coins(id)


new const gComenzi[][] = {"say /rs", "say /resetscore", "say_team /rs", "say_team /resetscore"};

enum {
	RS_SUNETE_ON_OFF,
	RS_SUNET_TYPE,
	RS_COST_TYPE,
	RS_GOLD_COST,
	RS_SILVER_COST,
	RS_MESAJ_TYPE,
	MAX_CVARS
}

new Configs[MAX_CVARS]

public plugin_init()
{
	register_plugin("RS", "1.0", "Senor")
	Configs[RS_SUNETE_ON_OFF] = register_cvar("rs_sunte_on_off", "1") // 1 - sunete la rs ; 0 - fara sunete la rs
	Configs[RS_COST_TYPE] = register_cvar("rs_cost_type", "1") // 1 - rs costa gold ; 2 - rs costa silver
	Configs[RS_SUNET_TYPE] = register_cvar("rs_sunt_type", "1") // 1 - primul sunet ; 2 - al doilea sunet
	Configs[RS_GOLD_COST] = register_cvar("rs_gold_cost", "2") // cat gold sa coste rs
	Configs[RS_SILVER_COST] = register_cvar("rs_silver_cost", "2") // cat silver sa coste rs
	Configs[RS_MESAJ_TYPE] = register_cvar("rs_mesaj_type", "1") // 1 - arata doar la cel care a dat /rs ; 2 - arata la toti


	for(new comenzi; comenzi < sizeof(gComenzi); ++comenzi)	register_clcmd(gComenzi[comenzi], "ResetScoreMain")
}

public plugin_precache()
{
	precache_sound(sunet1)
	precache_sound(sunet2)
}

public ResetScoreMain(id)
{
	new name[33];
	get_user_name(id,name,charsmax(name))
	switch(get_pcvar_num(Configs[RS_MESAJ_TYPE]))
	{
		case 1:	
		{
			print_color(id, "%s !e%s !nyour score has been !ereseted",PREFIX, name)
		}
		case 2:	
		{
			print_color(0, "%s !e%s !nreseted his !escore",PREFIX, name)

		}
	}
	switch(get_pcvar_num(Configs[RS_SUNETE_ON_OFF]))
	{
		case 0: return PLUGIN_HANDLED
		case 1:
		{
			switch(get_pcvar_num(Configs[RS_SUNET_TYPE]))
			{
				case 1: client_cmd(id, "spk %s", sunet1)
				case 2: client_cmd(id, "spk %s", sunet2)
			}
		}

	}
	ResetScoreIntern(id)
	return PLUGIN_CONTINUE
}
ResetScoreIntern(id)
{
	new getGold, getSilver, goldNeed, silverNeed
	goldNeed = get_pcvar_num(Configs[RS_GOLD_COST])
	silverNeed = get_pcvar_num(Configs[RS_SILVER_COST])
	getGold = get_gold_coins(id)
	getSilver = get_silver_coins(id)
	switch(get_pcvar_num(Configs[RS_COST_TYPE]))
	{
		case 1: 
		{
			if(getGold < goldNeed)	print_color(id, "%s You don't have !e%s gold !nto reset your score ! ",PREFIX,goldNeed)
			else
			get_gold_coins(getGold - goldNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
		case 2: 
		{
			if(getSilver < silverNeed)	print_color(id, "%s You don't have !e%s silver !nto reset your score ! ",PREFIX,silverNeed)
			else
			get_silver_coins(getSilver - silverNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
	}

}
stock print_color( const id, const input[ ], any:... )
{
	new count = 1, players[ 32 ]

	static msg[ 191 ]
	vformat( msg, 190, input, 3 )

	replace_all( msg, 190, "!v", "^4" ) //- verde
	replace_all( msg, 190, "!g", "^1" ) //- galben
	replace_all( msg, 190, "!e", "^3" ) //- echipa
	replace_all( msg, 190, "!n", "^0" ) //- normal

	if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
	{
		for( new i = 0; i < count; i++ )
			{
				if( is_user_connected( players[ i ] ) )
					{
						message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
						write_byte( players[ i ] );
						write_string( msg );
						message_end( );
					}
				}
			}
		}			
p.s : netestat pentru ca nu am sistemul de puncte :ily_gesture:
Nu o sa functioneze.
1. Nativa la set_ are 2 parametrii.
2. Verificarea daca are numărul de puncte nu e bună, o sa i reseteze indiferent daca are sau nu puncte.
3. Numărul de puncte il scazi cu set_.

get_gold_coins(getSilver - silverNeed) (nu stiu ce logica are asta dar in fine)
-->
set_gold_coins ( id, get_gold_coins( id ) - număr )

Edit: Dacă opresc sunetele o sa afecteze tot pluginul.
Ok , am corectat pluginul

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <fun>

#define sunet1 "buttons/bell1.wav"
#define sunet2 "buttons/lightswitch2.wav"
#define PREFIX "!v[!eRS!v] "


native set_gold_coins(id,amount)
native get_gold_coins(id)
native set_silver_coins(id,amount)
native get_silver_coins(id)


new const gComenzi[][] = {"say /rs", "say /resetscore", "say_team /rs", "say_team /resetscore"}

enum {
	RS_SUNETE_ON_OFF,
	RS_SUNET_TYPE,
	RS_COST_TYPE,
	RS_GOLD_COST,
	RS_SILVER_COST,
	RS_MESAJ_TYPE,
	MAX_CVARS
}

new Configs[MAX_CVARS]

public plugin_init()
{
	register_plugin("RS", "1.0", "Senor")
	Configs[RS_SUNETE_ON_OFF] = register_cvar("rs_sunte_on_off", "1") // 1 - sunete la rs ; 0 - fara sunete la rs
	Configs[RS_COST_TYPE] = register_cvar("rs_cost_type", "1") // 1 - rs costa gold ; 2 - rs costa silver
	Configs[RS_SUNET_TYPE] = register_cvar("rs_sunt_type", "1") // 1 - primul sunet ; 2 - al doilea sunet
	Configs[RS_GOLD_COST] = register_cvar("rs_gold_cost", "2") // cat gold sa coste rs
	Configs[RS_SILVER_COST] = register_cvar("rs_silver_cost", "2") // cat silver sa coste rs
	Configs[RS_MESAJ_TYPE] = register_cvar("rs_mesaj_type", "1") // 1 - arata doar la cel care a dat /rs ; 2 - arata la toti


	for(new comenzi; comenzi < sizeof(gComenzi); ++comenzi)	register_clcmd(gComenzi[comenzi], "ResetScoreMain")
}

public plugin_precache()
{
	precache_sound(sunet1)
	precache_sound(sunet2)
}

public ResetScoreMain(id)
{
	new name[33];
	get_user_name(id,name,charsmax(name))
	switch(get_pcvar_num(Configs[RS_MESAJ_TYPE]))
	{
		case 1:	
		{
			print_color(id, "%s !e%s !nyour score has been !ereseted",PREFIX, name)
		}
		case 2:	
		{
			print_color(0, "%s !e%s !nreseted his !escore",PREFIX, name)

		}
	}
	switch(get_pcvar_num(Configs[RS_SUNETE_ON_OFF]))
	{
		case 0: console_print(id, "*Sunetele de la rs sunt oprite :)")
		case 1:
		{
			switch(get_pcvar_num(Configs[RS_SUNET_TYPE]))
			{
				case 1: client_cmd(id, "spk %s", sunet1)
				case 2: client_cmd(id, "spk %s", sunet2)
			}
		}

	}
	ResetScoreIntern(id)
	return PLUGIN_CONTINUE
}
ResetScoreIntern(id)
{
	new getGold, getSilver, goldNeed, silverNeed
	goldNeed = get_pcvar_num(Configs[RS_GOLD_COST])
	silverNeed = get_pcvar_num(Configs[RS_SILVER_COST])
	getGold = get_gold_coins(id)
	getSilver = get_silver_coins(id)
	switch(get_pcvar_num(Configs[RS_COST_TYPE]))
	{
		case 1: 
		{
			if(getGold < goldNeed)
			{
				print_color(id, "%s You don't have !e%s gold !nto reset your score ! ",PREFIX,goldNeed)
				return
			}
			else if(getSilver >= silverNeed) {
			set_gold_coins(id, getGold - goldNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
		}
		case 2: 
		{
			if(getSilver < silverNeed)	
			{
			print_color(id, "%s You don't have !e%s silver !nto reset your score ! ",PREFIX,silverNeed)
			return
			}	
			else if(getSilver >= silverNeed) {
			set_silver_coins(id, getSilver - silverNeed)
			set_user_frags(id, 0)
			cs_set_user_deaths(id, 0)
		}
		}
	}

}
stock print_color( const id, const input[ ], any:... )
{
	new count = 1, players[ 32 ]

	static msg[ 191 ]
	vformat( msg, 190, input, 3 )

	replace_all( msg, 190, "!v", "^4" ) //- verde
	replace_all( msg, 190, "!g", "^1" ) //- galben
	replace_all( msg, 190, "!e", "^3" ) //- echipa
	replace_all( msg, 190, "!n", "^0" ) //- normal

	if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
	{
		for( new i = 0; i < count; i++ )
			{
				if( is_user_connected( players[ i ] ) )
					{
						message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
						write_byte( players[ i ] );
						write_string( msg );
						message_end( );
					}
				}
			}
		}			
uitasem de al doilea parametru la nativa ) ,restul l-am editat acm😁
User avatar
Alexandru P.
Membru, skill 0
Membru, skill 0
Posts: 77
Joined: 10 Apr 2020, 11:27
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: CS.BHZD.RO
Fond eXtream: 0
Has thanked: 7 times
Contact:

25 Feb 2021, 16:58

Functioneaza dar atunci cand folosesc comanda "/rs" sau "/resetscore" nu vreau sa arate in chat ambele mesaje daca nu am monezile necesare pentru a reseta scorul

si acolo in mesaj nu arata monezile ""%s You don't have !e%s silver !nto reset your score !"


Image
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

25 Feb 2021, 17:06

Il editez cand vin de la munca
User avatar
Alexandru P.
Membru, skill 0
Membru, skill 0
Posts: 77
Joined: 10 Apr 2020, 11:27
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: CS.BHZD.RO
Fond eXtream: 0
Has thanked: 7 times
Contact:

25 Feb 2021, 17:10

N3v3rM1nd wrote:
25 Feb 2021, 17:06
Il editez cand vin de la munca
Daca poti si nu te superi, poti adauga pentru flag "x" "y" sa fie free ?
User avatar
robbencsgo
Membru, skill 0
Membru, skill 0
Posts: 96
Joined: 31 Aug 2019, 19:14
Detinator Steam: Da
CS Status: aimer
SteamID: an prevat
Fond eXtream: 0
Has thanked: 9 times
Been thanked: 11 times
Contact:

25 Feb 2021, 18:28

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <colorchat>

#pragma semicolon 1

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define TAG	"[ResetScore]"

static const sunet1[] = "button/bell1.wav", sunet2[] = "button/lightswitch2.wav";

enum cvars {
	bool:sounds,
	sound_type,
	reset_type,
	reset_cost_silver,
	reset_cost_gold,
	reset_message
};

new pcvar[cvars];

static const comenzi[] = {
	"say /rs",
	"say_team /rs",
	"say /resetscore",
	"say_team /resetscore"
};

native set_gold_coins(index, goldc);
native get_gold_coins(index);
native set_silver_coins(index, silverp);
native get_silver_coins(index);

#define IsFreeForHim(%1)	get_user_flags(%1) & read_flags("x") ||	get_user_flags(%1) & read_flags("y")

public plugin_init() 
{	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	pcvar[sounds] = bool:register_cvar("reset_sounds", "1");
	pcvar[sound_type] = register_cvar("reset_sound", "1");
	pcvar[reset_type] = register_cvar("reset_type", "1");
	pcvar[reset_cost_silver] = register_cvar("reset_silverp_cost", "5");
	pcvar[reset_cost_gold] = register_cvar("reset_goldp_cost", "2");
	pcvar[reset_message] = register_cvar("reset_messagge", "1");
	
	for(new i = 0; i < sizeof(comenzi); i++)	register_clcmd(comenzi[i], "cmd_reset_score");
}

public plugin_precache()
{
	precache_sound(sunet1);
	precache_sound(sunet2);
}

public cmd_reset_score(id)
{
	new szName[32];
	get_user_name(id, szName, charsmax(szName));
	
	switch(pcvar[reset_type])
	{
		case 1:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_silver_coins(id) >= pcvar[reset_cost_silver])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_silver_coins(id, get_silver_coins(id) - pcvar[reset_cost_silver]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01silver coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_silver] - get_silver_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
		
		case 2:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
					case false: return PLUGIN_CONTINUE;
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_gold_coins(id) >= pcvar[reset_cost_gold])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_gold_coins(id, get_gold_coins(id) - pcvar[reset_cost_gold]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
						case false: return PLUGIN_CONTINUE;
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01gold coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_gold] - get_gold_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
	}
	
	return PLUGIN_HANDLED;
}
Daca te-am ajutat, lasa si tu un +1
User avatar
Alexandru P.
Membru, skill 0
Membru, skill 0
Posts: 77
Joined: 10 Apr 2020, 11:27
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: CS.BHZD.RO
Fond eXtream: 0
Has thanked: 7 times
Contact:

25 Feb 2021, 18:43

robbencsgo wrote:
25 Feb 2021, 18:28

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <colorchat>

#pragma semicolon 1

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define TAG	"[ResetScore]"

static const sunet1[] = "button/bell1.wav", sunet2[] = "button/lightswitch2.wav";

enum cvars {
	bool:sounds,
	sound_type,
	reset_type,
	reset_cost_silver,
	reset_cost_gold,
	reset_message
};

new pcvar[cvars];

static const comenzi[] = {
	"say /rs",
	"say_team /rs",
	"say /resetscore",
	"say_team /resetscore"
};

native set_gold_coins(index, goldc);
native get_gold_coins(index);
native set_silver_coins(index, silverp);
native get_silver_coins(index);

#define IsFreeForHim(%1)	get_user_flags(%1) & read_flags("x") ||	get_user_flags(%1) & read_flags("y")

public plugin_init() 
{	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	pcvar[sounds] = bool:register_cvar("reset_sounds", "1");
	pcvar[sound_type] = register_cvar("reset_sound", "1");
	pcvar[reset_type] = register_cvar("reset_type", "1");
	pcvar[reset_cost_silver] = register_cvar("reset_silverp_cost", "5");
	pcvar[reset_cost_gold] = register_cvar("reset_goldp_cost", "2");
	pcvar[reset_message] = register_cvar("reset_messagge", "1");
	
	for(new i = 0; i < sizeof(comenzi); i++)	register_clcmd(comenzi[i], "cmd_reset_score");
}

public plugin_precache()
{
	precache_sound(sunet1);
	precache_sound(sunet2);
}

public cmd_reset_score(id)
{
	new szName[32];
	get_user_name(id, szName, charsmax(szName));
	
	switch(pcvar[reset_type])
	{
		case 1:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_silver_coins(id) >= pcvar[reset_cost_silver])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_silver_coins(id, get_silver_coins(id) - pcvar[reset_cost_silver]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01silver coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_silver] - get_silver_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
		
		case 2:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
					case false: return PLUGIN_CONTINUE;
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_gold_coins(id) >= pcvar[reset_cost_gold])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_gold_coins(id, get_gold_coins(id) - pcvar[reset_cost_gold]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
						case false: return PLUGIN_CONTINUE;
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01gold coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_gold] - get_gold_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
	}
	
	return PLUGIN_HANDLED;
}
pluginul arata ca functoneaza dar nu se intampla nimic cand folosesc comanda
User avatar
robbencsgo
Membru, skill 0
Membru, skill 0
Posts: 96
Joined: 31 Aug 2019, 19:14
Detinator Steam: Da
CS Status: aimer
SteamID: an prevat
Fond eXtream: 0
Has thanked: 9 times
Been thanked: 11 times
Contact:

25 Feb 2021, 18:52

Alexandru P. wrote:
25 Feb 2021, 18:43
robbencsgo wrote:
25 Feb 2021, 18:28

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <colorchat>

#pragma semicolon 1

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define TAG	"[ResetScore]"

static const sunet1[] = "button/bell1.wav", sunet2[] = "button/lightswitch2.wav";

enum cvars {
	bool:sounds,
	sound_type,
	reset_type,
	reset_cost_silver,
	reset_cost_gold,
	reset_message
};

new pcvar[cvars];

static const comenzi[] = {
	"say /rs",
	"say_team /rs",
	"say /resetscore",
	"say_team /resetscore"
};

native set_gold_coins(index, goldc);
native get_gold_coins(index);
native set_silver_coins(index, silverp);
native get_silver_coins(index);

#define IsFreeForHim(%1)	get_user_flags(%1) & read_flags("x") ||	get_user_flags(%1) & read_flags("y")

public plugin_init() 
{	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	pcvar[sounds] = bool:register_cvar("reset_sounds", "1");
	pcvar[sound_type] = register_cvar("reset_sound", "1");
	pcvar[reset_type] = register_cvar("reset_type", "1");
	pcvar[reset_cost_silver] = register_cvar("reset_silverp_cost", "5");
	pcvar[reset_cost_gold] = register_cvar("reset_goldp_cost", "2");
	pcvar[reset_message] = register_cvar("reset_messagge", "1");
	
	for(new i = 0; i < sizeof(comenzi); i++)	register_clcmd(comenzi[i], "cmd_reset_score");
}

public plugin_precache()
{
	precache_sound(sunet1);
	precache_sound(sunet2);
}

public cmd_reset_score(id)
{
	new szName[32];
	get_user_name(id, szName, charsmax(szName));
	
	switch(pcvar[reset_type])
	{
		case 1:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_silver_coins(id) >= pcvar[reset_cost_silver])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_silver_coins(id, get_silver_coins(id) - pcvar[reset_cost_silver]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01silver coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_silver] - get_silver_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
		
		case 2:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
					case false: return PLUGIN_CONTINUE;
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_gold_coins(id) >= pcvar[reset_cost_gold])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_gold_coins(id, get_gold_coins(id) - pcvar[reset_cost_gold]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
						case false: return PLUGIN_CONTINUE;
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01gold coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_gold] - get_gold_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
	}
	
	return PLUGIN_HANDLED;
}
pluginul arata ca functoneaza dar nu se intampla nimic cand folosesc comanda

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <colorchat>

#pragma semicolon 1

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define TAG	"[ResetScore]"

static const sunet1[] = "button/bell1.wav", sunet2[] = "button/lightswitch2.wav";

enum cvars {
	bool:sounds,
	sound_type,
	reset_type,
	reset_cost_silver,
	reset_cost_gold,
	reset_message
};

new pcvar[cvars];

static const comenzi[][] = {
	"say /rs",
	"say_team /rs",
	"say /resetscore",
	"say_team /resetscore"
};

native set_gold_coins(index, goldc);
native get_gold_coins(index);
native set_silver_coins(index, silverp);
native get_silver_coins(index);

#define IsFreeForHim(%1)	get_user_flags(%1) & read_flags("x") ||	get_user_flags(%1) & read_flags("y")

public plugin_init() 
{	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	pcvar[sounds] = bool:register_cvar("reset_sounds", "1");
	pcvar[sound_type] = register_cvar("reset_sound", "1");
	pcvar[reset_type] = register_cvar("reset_type", "1");
	pcvar[reset_cost_silver] = register_cvar("reset_silverp_cost", "5");
	pcvar[reset_cost_gold] = register_cvar("reset_goldp_cost", "2");
	pcvar[reset_message] = register_cvar("reset_messagge", "1");
	
	for(new i = 0; i < sizeof(comenzi); i++)	register_clcmd(comenzi[i], "cmd_reset_score");
}

public plugin_precache()
{
	precache_sound(sunet1);
	precache_sound(sunet2);
}

public cmd_reset_score(id)
{
	new szName[32];
	get_user_name(id, szName, charsmax(szName));
	
	switch(pcvar[reset_type])
	{
		case 1:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_silver_coins(id) >= pcvar[reset_cost_silver])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_silver_coins(id, get_silver_coins(id) - pcvar[reset_cost_silver]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01silver coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_silver] - get_silver_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
		
		case 2:
		{
			if(IsFreeForHim(id))
			{
				set_user_frags(id, 0);
				cs_set_user_deaths(id, 0);
				
				switch(reset_message)
				{
					case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
					case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
				}
				switch(pcvar[sounds])
				{
					case true: 
					{
						switch(pcvar[sound_type])
						{
							case 1: client_cmd(id, "spk ^"%s^"", sunet1);
							case 2: client_cmd(id, "spk ^"%s^"", sunet2);
						}
					}
					case false: return PLUGIN_CONTINUE;
				}
				return PLUGIN_CONTINUE;
			}
			else
			{
				if(get_gold_coins(id) >= pcvar[reset_cost_gold])
				{
					set_user_frags(id, 0);
					cs_set_user_deaths(id, 0);
					set_gold_coins(id, get_gold_coins(id) - pcvar[reset_cost_gold]);
				
					switch(reset_message)
					{
						case 1: ColorChat(id, GREEN, "%s ^01Scorul tau a fost resetat");
						case 2: ColorChat(0, GREEN, "%s ^01Jucatorul^04 %s ^01si-a resetat scorul", TAG, szName);
					}
					switch(pcvar[sounds])
					{
						case true: 
						{
							switch(pcvar[sound_type])
							{
								case 1: client_cmd(id, "spk ^"%s^"", sunet1);
								case 2: client_cmd(id, "spk ^"%s^"", sunet2);
							}
						}
						case false: return PLUGIN_CONTINUE;
					}
				}
				else
				{
					ColorChat(id, GREEN, "%s ^01Iti mai trebuie^04 %d ^01gold coins pentru ati reseta scorul !", TAG, pcvar[reset_cost_gold] - get_gold_coins(id));
					
					return PLUGIN_CONTINUE;
				}
			}
		}
	}
	
	return PLUGIN_HANDLED;
}
Ia asta, am gresit ceva.
Daca te-am ajutat, lasa si tu un +1
User avatar
Alexandru P.
Membru, skill 0
Membru, skill 0
Posts: 77
Joined: 10 Apr 2020, 11:27
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: CS.BHZD.RO
Fond eXtream: 0
Has thanked: 7 times
Contact:

25 Feb 2021, 18:55

tot nu se intampla nimic ...
User avatar
kidd0x
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1054
Joined: 06 Oct 2018, 14:41
Detinator Steam: Da
SteamID: /id/kidd0x/
Reputatie: Utilizator neserios (tepar!)
Fond eXtream: 0
Location: Constangeles
Discord: kidd0x
Has thanked: 172 times
Been thanked: 81 times

25 Feb 2021, 19:39

Done , vezi discord
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 19 guests