Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

EbuBebu - zdjęcie

EbuBebu

Rejestracja: 25.11.2019
Aktualnie: Przegląda temat Anty KZ Hack by Niscree
Poza forum Ostatnio: 14.06.2020 15:14
-----

Moje tematy

Przekierowanie graczy bez rezerwacji slota

13.04.2020 11:47

Witam, czy jest ktoś w stanie przerobić mi plugin tak żeby przekierowywało tylko graczy NS oraz tych bez rezerwacji slotu? 

 

Z góry dzięki za pomoc, pozdro! :) 

/* AMXX Mod Script
*
* Simple Redirection Plugin for AMXX
* Orginal Code by Sonic ([email protected])
* Modified and Made for AMXX by BigBaller
*
*  Place following cvars in server.cfg
*
*  amx_rd_maxplayers <x>             // - begin redirection when more the x ppl connected ( 0 = redirect all players )
*  amx_rd_server <ip>                // - redirect to this server
*  amx_rd_serverport <port>          // - redirect server port
*  amx_rd_serverpw <password>        // - password for the amx_rd_server (if needed)
*
*
*  To Disable this plugin set amx_rd_maxppl to 33 or remove from plugins.ini
*/

#include <amxmodx>

public plugin_init() {
	register_plugin("Simple Redirect","1.0","BigBaller")
	register_cvar("amx_rd_maxplayers","0")

	register_cvar("amx_rd_server","")
	register_cvar("amx_rd_serverport","")
	register_cvar("amx_rd_serverpw","")
}

public client_connect(id){
	new rd_maxplayers = get_cvar_num("amx_rd_maxplayers")
	new rd_serverport = get_cvar_num("amx_rd_serverport")
	new rd_server[64], rd_serverpw[32]
	get_cvar_string("amx_rd_server",rd_server,63)
	get_cvar_string("amx_rd_serverpw",rd_serverpw,31)
	if ( get_playersnum() >= rd_maxplayers) {
		if ( !equal(rd_serverpw,"") )
			client_cmd(id,"echo ^"[AMXX] Simple Redirection - Set Password to %s^";password %s",rd_serverpw,rd_serverpw)
		client_cmd(id,"echo ^"[AMXX] Simple Redirection -  Redirecting to %s:%d^";Connect %s:%d",rd_server,rd_serverport,rd_server,rd_serverport)
	}
	return PLUGIN_CONTINUE
}

Prośba o przerobienie pluginu

21.03.2020 17:06

Witam, posiadam taki o to plugin: 

#include < amxmodx >
#include < sqlx >

new sqlConfig[ ][ ] = {
	"127.0.0.1",
	"root",
	"password",
	"database"
}

enum playerData {
	SteamID[ 33 ],
	IP[ 16 ],
	Nick[ 64 ],
	Time
};

new Handle: gSqlTuple;

new gPlayer[ 33 ][ playerData ];

public SqlInit( ) {
	gSqlTuple = SQL_MakeDbTuple( sqlConfig[ 0 ], sqlConfig[ 1 ], sqlConfig[ 2 ], sqlConfig[ 3 ] );
	
	if( gSqlTuple == Empty_Handle )
		set_fail_state( "Nie mozna utworzyc uchwytu do polaczenia" );
	
	new iErr, szError[ 32 ];
	new Handle:link = SQL_Connect( gSqlTuple, iErr, szError, 31 );
	
	if( link == Empty_Handle ) {
		log_amx( "Error (%d): %s", iErr, szError );
		set_fail_state( "Brak polaczenia z baza danych" );
	}
	
	new Handle: query;
	query = SQL_PrepareQuery( link, "CREATE TABLE IF NOT EXISTS `players_time` (\
		`id` int(11) NOT NULL AUTO_INCREMENT,\
		`steamid` varchar(33) NOT NULL,\
		`nick` varchar(64) NOT NULL,\
		`ip` varchar(16) NOT NULL,\
		`first` int(16) NOT NULL,\
		`last` int(16) NOT NULL,\
		`time` int(16) NOT NULL,\
		`type` int(1) NOT NULL,\
		PRIMARY KEY (`id`),\
		UNIQUE KEY `authid` (`nick`)\
	)" );
	
	SQL_Execute( query );
	SQL_FreeHandle( query );
	SQL_FreeHandle( link );
}

public Query( failstate, Handle:query, error[ ] ) {
	if( failstate != TQUERY_SUCCESS ) {
		log_amx( "SQL query error: %s", error );
		return;
	}
}

public plugin_init() {
	register_plugin( "Czas Online", "2.1.0", "byCZEK" );
	
	set_task( 0.1, "SqlInit" );
}

public client_connect( id ) {
	gPlayer[ id ][ Time ] = 0;
	
	get_user_authid( id, gPlayer[ id ][ SteamID ], 32 );
	get_user_ip( id, gPlayer[ id ][ IP ], 15, 1 );
	get_user_name( id, gPlayer[ id ][ Nick ], 63 );
	
	SQL_PrepareString( gPlayer[ id ][ Nick ], gPlayer[ id ][ Nick ], 63 );
}

public client_disconnect( id ) {
	if(is_user_hltv(id) || is_user_bot(id))
		return PLUGIN_HANDLED;
		
	gPlayer[ id ][ Time ] = get_user_time( id, 1 );
	
	saveTime( id );
	
	gPlayer[ id ][ Time ] = 0;
	
	return PLUGIN_CONTINUE;
}

stock SQL_PrepareString( const szQuery[], szOutPut[], size ) {
	copy( szOutPut, size, szQuery );
	replace_all( szOutPut, size, "'", "\'" );
	replace_all( szOutPut, size, "`", "\`" );    
	replace_all( szOutPut, size, "\\", "\\\\" );
	replace_all( szOutPut, size, "^0", "\0");
	replace_all( szOutPut, size, "^n", "\n");
	replace_all( szOutPut, size, "^r", "\r");
	replace_all( szOutPut, size, "^x1a", "\Z");	
}

stock saveTime( id ) {
	new     query[ 1024 ],
	flags = get_user_flags( id );
	
	formatex( query, charsmax( query ), "INSERT IGNORE INTO `players_time` ( `steamid`, `nick`, `ip`, `first`, `last`, `time`, `type` ) VALUES ( '%s', '%s', '%s', UNIX_TIMESTAMP(NOW()), UNIX_TIMESTAMP(NOW()), %d, %d ) ON DUPLICATE KEY UPDATE `time` = `time` + %d, `last` = UNIX_TIMESTAMP(NOW())",
	gPlayer[ id ][ SteamID ], gPlayer[ id ][ Nick ], gPlayer[ id ][ IP ], gPlayer[ id ][ Time ], ( ( flags > 0 && !( flags & ADMIN_USER ) ) ? 1 : 0 ), gPlayer[ id ][ Time ]);
	
	if( gSqlTuple )
		SQL_ThreadQuery (gSqlTuple, "Query", query );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Czy jest możliwość dodania do niego jeszcze jednej kolumny? Mianowicie " Tygodniowy czas online " ? Chciałbym aby ta nowa kolumna resetowała się co tydzień o np. północy. Czy takie coś jest w ogóle możliwe do zrobienia? 

 

Pozdrawiam serdecznie i z góry dziękuję wszystkim za pomoc! :D  

Przerobienie pluginu Czas Online - czy ktoś się podejmie?

15.03.2020 21:15

Witam, posiadam taki o to plugin:

#include < amxmodx >
#include < sqlx >

new sqlConfig[ ][ ] = {
	"127.0.0.1",
	"root",
	"password",
	"database"
}

enum playerData {
	SteamID[ 33 ],
	IP[ 16 ],
	Nick[ 64 ],
	Time
};

new Handle: gSqlTuple;

new gPlayer[ 33 ][ playerData ];

public SqlInit( ) {
	gSqlTuple = SQL_MakeDbTuple( sqlConfig[ 0 ], sqlConfig[ 1 ], sqlConfig[ 2 ], sqlConfig[ 3 ] );
	
	if( gSqlTuple == Empty_Handle )
		set_fail_state( "Nie mozna utworzyc uchwytu do polaczenia" );
	
	new iErr, szError[ 32 ];
	new Handle:link = SQL_Connect( gSqlTuple, iErr, szError, 31 );
	
	if( link == Empty_Handle ) {
		log_amx( "Error (%d): %s", iErr, szError );
		set_fail_state( "Brak polaczenia z baza danych" );
	}
	
	new Handle: query;
	query = SQL_PrepareQuery( link, "CREATE TABLE IF NOT EXISTS `players_time` (\
		`id` int(11) NOT NULL AUTO_INCREMENT,\
		`steamid` varchar(33) NOT NULL,\
		`nick` varchar(64) NOT NULL,\
		`ip` varchar(16) NOT NULL,\
		`first` int(16) NOT NULL,\
		`last` int(16) NOT NULL,\
		`time` int(16) NOT NULL,\
		`type` int(1) NOT NULL,\
		PRIMARY KEY (`id`),\
		UNIQUE KEY `authid` (`nick`)\
	)" );
	
	SQL_Execute( query );
	SQL_FreeHandle( query );
	SQL_FreeHandle( link );
}

public Query( failstate, Handle:query, error[ ] ) {
	if( failstate != TQUERY_SUCCESS ) {
		log_amx( "SQL query error: %s", error );
		return;
	}
}

public plugin_init() {
	register_plugin( "Czas Online", "2.1.0", "byCZEK" );
	
	set_task( 0.1, "SqlInit" );
}

public client_connect( id ) {
	gPlayer[ id ][ Time ] = 0;
	
	get_user_authid( id, gPlayer[ id ][ SteamID ], 32 );
	get_user_ip( id, gPlayer[ id ][ IP ], 15, 1 );
	get_user_name( id, gPlayer[ id ][ Nick ], 63 );
	
	SQL_PrepareString( gPlayer[ id ][ Nick ], gPlayer[ id ][ Nick ], 63 );
}

public client_disconnect( id ) {
	if(is_user_hltv(id) || is_user_bot(id))
		return PLUGIN_HANDLED;
		
	gPlayer[ id ][ Time ] = get_user_time( id, 1 );
	
	saveTime( id );
	
	gPlayer[ id ][ Time ] = 0;
	
	return PLUGIN_CONTINUE;
}

stock SQL_PrepareString( const szQuery[], szOutPut[], size ) {
	copy( szOutPut, size, szQuery );
	replace_all( szOutPut, size, "'", "\'" );
	replace_all( szOutPut, size, "`", "\`" );    
	replace_all( szOutPut, size, "\\", "\\\\" );
	replace_all( szOutPut, size, "^0", "\0");
	replace_all( szOutPut, size, "^n", "\n");
	replace_all( szOutPut, size, "^r", "\r");
	replace_all( szOutPut, size, "^x1a", "\Z");	
}

stock saveTime( id ) {
	new     query[ 1024 ],
	flags = get_user_flags( id );
	
	formatex( query, charsmax( query ), "INSERT IGNORE INTO `players_time` ( `steamid`, `nick`, `ip`, `first`, `last`, `time`, `type` ) VALUES ( '%s', '%s', '%s', UNIX_TIMESTAMP(NOW()), UNIX_TIMESTAMP(NOW()), %d, %d ) ON DUPLICATE KEY UPDATE `time` = `time` + %d, `last` = UNIX_TIMESTAMP(NOW())",
	gPlayer[ id ][ SteamID ], gPlayer[ id ][ Nick ], gPlayer[ id ][ IP ], gPlayer[ id ][ Time ], ( ( flags > 0 && !( flags & ADMIN_USER ) ) ? 1 : 0 ), gPlayer[ id ][ Time ]);
	
	if( gSqlTuple )
		SQL_ThreadQuery (gSqlTuple, "Query", query );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Czy byłby w stanie ktoś przerobić mi go tak, że podczas gdy ktoś wchodziłby na serwer wyświetlałby mu się komunikat na chacie: " Witaj Ponownie <nick>! Twój czas spędzony na serwerze to: xxx godzin. Zapraszaj znajomych i baw się dobrze! " 

 

Z góry bardzo dziękuje za pomoc, pozdrawiam! :D

[ROZWIĄZANE] Rezerwacja slotu

08.03.2020 11:47

Witam, chciałbym ustawić aby każdy gracz posiadał rezerwację slotu, jak można tego dokonać? Czy istnieje możliwość zmiany rezerwacji slotu z flagi ADMIN_RESERVATION 2 na ADMIN_USER ? 

 

Pozdrawiam i z góry dziękuje za odpowiedź. 

Zakup odznak przez sklep sms

30.12.2019 19:50

Witam, jestem szczęściarzem posiadania licencji sklepu SMS i wszystko działa prawidłowo ( VIP, REZERWACJA NICKU oraz SLOTU) poza jedną usługą, BF2_BADGE. 

 

Jak mam skonfigurować ten plugin tak aby działał mi na serwerze? Dodałem usługę w cenniku jednak na serwerze nie pokazuje mi się pod komendą /sklepsms

 

Poniżej załączam sma tego pluginu oraz pluginu BF2 z którego korzystam. 

 

Plugin BF2 z sklepsms

#include <amxmodx>
#include <shop_sms>

native bf2_get_maxbadges();
native bf2_get_badge_name(badge_id, badge_level, name[], len);
native bf2_get_user_badge(index, badge_id);
native bf2_set_user_badge(index, badge_id, level);

new const service_id[MAX_SERVICE_ID + 1] = "bf2_badge";
#define PLUGIN "Sklep-SMS: Usluga BF2 Odznaki"
#define AUTHOR "SeeK"

#define TASK_MENU1 1000

new stronaP[33], bool:wybranoP[33]
new dane[33]

public plugin_natives() {
	set_native_filter("native_filter");
}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
}

public plugin_cfg() {
	ss_register_service(service_id);
}

public ss_service_chosen(id, amount) {
	new menu = menu_create("Wybierz odznake:", "menuHandler")
	new menu_callback = menu_makecallback("menuCallback");
	new nazwa[64]
	for(new i = 0; i < bf2_get_maxbadges(); ++i) {
		bf2_get_badge_name(i, amount, nazwa, charsmax(nazwa))
		new data[2]
		data[0] = i+1
		data[1] = bf2_get_user_badge(id, i) >= amount ? 0 : 1
		
		menu_additem(menu, nazwa, data, 0, menu_callback)
	}
	
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	
	//Zerujemy
	wybranoP[id] = false
	stronaP[id] = 0
	
	// Dane dla taska
	new data[2]
	data[0] = id
	data[1] = menu
	
	// Wyswietlamy
	wyswietlMenu(data)
	
	return SS_STOP
}

public menuCallback(id, menu, item) {
	new data[3], iName[2];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data, charsmax(data), iName, charsmax(iName), callback);
	
	return data[1] ? ITEM_ENABLED : ITEM_DISABLED
	//return ITEM_ENABLED
}

public wyswietlMenu(data[]) {
	new id = data[0]
	if(!is_user_connected(id)) {
		menu_destroy(data[1])
		return
	}
	if(!wybranoP[id]) {
		new menu, newmenu, page
		player_menu_info(id, menu, newmenu, page)
		if(newmenu != data[1])
			menu_display(id, data[1], stronaP[id])
		else
			stronaP[id] = page
			
		set_task(0.1, "wyswietlMenu", TASK_MENU1+id, data, 2)
	}
}

public menuHandler(id, menu, item) {
	if(item == MENU_EXIT) {
		// Niszczymy menu
		wybranoP[id] = true
		menu_destroy(menu)
		return
	}
	
	if(item >= 0) {
		// Wybrano odznake
		wybranoP[id] = true
		
		new data[2], iName[2];
		new zaccess, callback;
		menu_item_getinfo(menu, item, zaccess, data, charsmax(data), iName, charsmax(iName), callback);
		
		dane[id] = data[0]-1
		
		// Niszczymy menu
		menu_destroy(menu)
		
		ss_show_sms_info(id)
	}
}

public ss_service_bought(id, amount) {
	new badge_id = dane[id];
	new badge_level = amount;
	
	if( bf2_set_user_badge(id, badge_id, badge_level) == -1 )
		return SS_ERROR;
	
	new szText[512];
	bf2_get_badge_name(badge_id, badge_level, szText, charsmax(szText));
	format(szText, charsmax(szText), "<html><body style=^"background-color: #0f0f0f; color: #ccc; font-size: 14px;^"><center><br /><br />\
						<h1>Kupiles/as odznake: <span style=^"color: red^">%s</span><br /><br />\
						W razie problemow skontaktuj sie z nami.\
						</center></body></html>", szText);
	show_motd(id, szText, "Informacje dotyczace uslugi");
		
	return SS_OK;
}

public native_filter(const native_name[], index, trap) {
	if(trap == 0) {
		register_plugin(PLUGIN, VERSION, AUTHOR); // Rejestrujemy plugin, aby nie bylo na liscie unknown
		pause_plugin();
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}

Mój plugin BF2

#include <amxmodx>

#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <csx>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <koncowka>
#include <sqlx>
 
#pragma semicolon 1
 
#include "bf2/core.inl"
#include "bf2/effect.inl"
#include "bf2/cmds.inl"
#include "bf2/events.inl"
#include "bf2/save.inl"
#include "bf2/forwards.inl"
#include "bf2/check.inl"
#include "bf2/badgepowers.inl"
#include "bf2/menu.inl"
#include "bf2/hud.inl"
#include "bf2/csx.inl"
#include "bf2/ham.inl"
#include "bf2/sql.inl"
 
public plugin_init( ) {
register_plugin( gPluginInfo[ piNazwa ], gPluginInfo[ piWersja ], gPluginInfo[ piAutor ] );
 
register_clcmd( "say /ranks", "show_rankhelp", 0, "Pokazuje Informacje o Ranku" );
register_clcmd( "say_team /ranks", "show_rankhelp", 0, "Pokazuje Informacje o Ranku" );
 
register_clcmd( "say /badges1", "show_badgehelp", 0, "Pokazuje Informacje o Odznakach" );
register_clcmd( "say_team /badges1", "show_badgehelp", 0, "Pokazuje Informacje o Odznakach" );
register_clcmd( "say /odznaki1", "show_badgehelp", 0, "Pokazuje Informacje o Odznakach" );
register_clcmd( "say_team /odznaki1", "show_badgehelp", 0, "Pokazuje Informacje o Odznakach" );
 
register_clcmd( "say /badges2", "show_badgehelp2", 0, "Pokazuje Informacje o Odznakach 2" );
register_clcmd( "say_team /badges2", "show_badgehelp2", 0, "Pokazuje Informacje o Odznakach 2" );
register_clcmd( "say /odznaki2", "show_badgehelp2", 0, "Pokazuje Informacje o Odznakach 2" );
register_clcmd( "say_team /odznaki2", "show_badgehelp2", 0, "Pokazuje Informacje o Odznakach 2" );
 
register_clcmd( "say /badges3", "show_badgehelp3", 0, "Pokazuje Informacje o Odznakach 3" );
register_clcmd( "say_team /badges3", "show_badgehelp3", 0, "Pokazuje Informacje o Odznakach 3" );
register_clcmd( "say /odznaki3", "show_badgehelp3", 0, "Pokazuje Informacje o Odznakach 3" );
register_clcmd( "say_team /odznaki3", "show_badgehelp3", 0, "Pokazuje Informacje o Odznakach 3" );
 
register_clcmd( "say", "cmd_say", 0, "<target> " );
register_clcmd( "say_team", "cmd_say", 0, "<target> " );
 
register_clcmd( "say /who", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy" );
register_clcmd( "say_team /who", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy" );
register_clcmd( "say /gracze", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy" );
register_clcmd( "say_team /gracze", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy" );
 
register_clcmd( "say /help", "cmd_help", 0, "Pokaz pomoc BF2Mod" );
register_clcmd( "say_team /help", "cmd_help", 0, "Pokaz pomoc BF2Mod" );
 
register_clcmd( "say /bf2menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team /bf2menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say bf2menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team bf2menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say /bf2", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team /bf2", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say bf2", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team bf2", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say /menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team /menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team menu", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say /help", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team /help", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say help", "Bf2menu", 0, "Pokazuje Menu" );
register_clcmd( "say_team help", "Bf2menu", 0, "Pokazuje Menu" );
 
register_clcmd( "say /bf2helpmenu", "helpmenu", 0, "Pokazuje Menu Pomocy" );
register_clcmd( "say_team /bf2helpmenu", "helpmenu", 0, "Pokazuje Menu Pomocy" );
 
register_clcmd( "say /bf2statsmenu", "helpmenu", 0, "Pokazuje Menu Statystyk" );
register_clcmd( "say_team /bf2statsmenu", "helpmenu", 0, "Pokazuje Menu Statystyk" );
 
register_clcmd( "say /bf2adminmenu", "adminmenu", 0, "Pokazuje Menu Admina" );
register_clcmd( "say_team /bf2adminmenu", "adminmenu", 0, "Pokazuje Menu Admina" );
 
register_clcmd( "say /bf2stats", "show_stats", 0, "Pokazuje twoje aktualne statystyki" );
register_clcmd( "say_team /bf2stats", "show_stats", 0, "Pokazuje twoje aktualne statystyki" );
 
register_clcmd( "say /serverstats", "show_server_stats", 0, "Pokazuje aktualne statystyki serwera" );
register_clcmd( "say_team /serverstats", "show_server_stats", 0, "Pokazuje aktualne statystyki serwera" );
 
register_clcmd( "say /bf2save", "save_badges", 0, "Zapisuje Aktualne Statystyki" );
register_clcmd( "say_team /bf2save", "save_badges", 0, "Zapisuje Aktualne Statystyki" );
 
register_clcmd( "bf2_addbadge", "add_badge", ADMIN_LEVEL, "<player> <badge#> <level#>" );
register_clcmd( "bf2_addkills", "add_kills", ADMIN_LEVEL, "<player> <kills#>" );
 
register_cvar( "bf2_version", gPluginInfo[ piWersja ], FCVAR_SERVER );
set_cvar_string( "bf2_version", gPluginInfo[ piWersja ] );
 
gPcvar[ ACTIVE ] = register_cvar( "bf2_active", "1" );
gPcvar[ BADGESACTIVE ] = register_cvar( "bf2_badges", "1" );
gPcvar[ FREEAWP ] = register_cvar( "bf2_awp", "0" );
gPcvar[ XPMULTI ] = register_cvar( "bf2_xpmultiplier", "0.1" );
gPcvar[ XPMINI ] = register_cvar( "bf2_xpminplayers", "2" );
gPcvar[ ICONTIME ] = register_cvar( "bf2_icon_time", "1.5" );
gPcvar[ HELPURL ] = register_cvar( "bf2_help_url", "http://bf2.cs-wysypisko.pl");
gPcvar[ BADGESPOWERS ] = register_cvar( "bf2_badgepowers", "1" );
gPcvar[ HUDOPTIONS ] = register_cvar( "bf2_hud_options", "abcde" );
gPcvar[ STATUSTEXT ] = register_cvar( "bf2_statustext", "1" );
gPcvar[ FFA ] = register_cvar( "bf2_ffa", "0" );
gPcvar[ WYMUS ] = register_cvar( "bf2_wymus", "1" );
 
gPcvar[ SAVETYPE ] = get_cvar_pointer( "csstats_rank" );
gPcvar[ SVLAN ] = get_cvar_pointer( "sv_lan" );
 
gMsg[ mStatusText ] = get_user_msgid( "StatusText" );
gMsg[ mScreenFade ] = get_user_msgid( "ScreenFade" );
gMsg[ mScreenShake ] = get_user_msgid( "ScreenShake" );
 
register_event( "HLTV", "Event_HLTV", "a", "1=0", "2=0" );
register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" );
register_event( "SetFOV", "Event_SetFOV", "be" );
register_event( "DeathMsg", "Event_DeathMsg", "a" );
 
register_logevent( "LogEvent_Round_Start", 2, "0=World triggered", "1=Round_Start" );
register_logevent( "LogEvent_Round_End", 2, "1=Round_End" );
 
register_message( SVC_INTERMISSION, "Message_Intermission" );
register_message( get_user_msgid( "StatusValue" ), "Message_StatusValue" );
 
register_event( "StatusValue", "setTeam", "be", "1=1" );
register_event( "StatusValue", "on_ShowStatus", "be", "1=2", "2!0" );
register_event( "StatusValue", "on_HideStatus", "be", "1=1", "2=0" );
 
RegisterHam( Ham_Spawn, "player", "Ham_Spawn_Post", 1 );
RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamage_Pre" );
 
gHudSyncAimInfo = CreateHudSyncObj( );
gPlayerName = get_xvar_id( "PlayerName" );
 
register_forward( FM_PlayerPreThink, "Bug_Ciche_Chodzenie" );
 
return PLUGIN_HANDLED;
}
 
public Bug_Ciche_Chodzenie( id ) {
if( !is_user_alive( id ) )
return FMRES_IGNORED;
 
new Float:fVector[ 3 ];
pev( id, pev_velocity, fVector );
new Float: fSpeed = floatsqroot( fVector[ 0 ]*fVector[ 0 ]+fVector[ 1 ]*fVector[ 1 ]+fVector[ 2 ]*fVector[ 2 ] );
if( ( fm_get_user_maxspeed( id ) * 5 ) > ( fSpeed*9 ) )
set_pev( id, pev_flTimeStepSound, 999 );
 
return FMRES_IGNORED;
}
 
public plugin_natives( ) {
register_library( "battlefield" );
register_native( "bf2_get_user_badge", "_bf2_get_user_badge" );
register_native( "bf2_get_user_rank", "_bf2_get_user_rank" );
register_native( "bf2_get_user_medals", "_bf2_get_user_medals" );
register_native( "bf2_get_user_kills", "_bf2_get_user_kills" );
register_native( "bf2_set_user_badge", "_bf2_set_user_badge" );
register_native( "bf2_set_user_rank", "_bf2_set_user_rank" );
register_native( "bf2_set_user_medals", "_bf2_set_user_medals" );
}
public _bf2_get_user_badge( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
return g_PlayerBadges[ get_param( 1 ) ][ get_param( 2 ) ];
}
 
public _bf2_get_user_rank( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
return g_PlayerRank[ get_param( 1 ) ];
}
 
public _bf2_get_user_medals( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
switch( get_param( 2 ) ) {
case MEDAL_BRONZE:
return gPlayerStats[ get_param( 1 ) ][ psBronze ];
case MEDAL_SILVER:
return gPlayerStats[ get_param( 1 ) ][ psSilver ];
case MEDAL_GOLD:
return gPlayerStats[ get_param( 1 ) ][ psGold ];
}
return g_PlayerRank[ get_param( 1 ) ];
}
 
public _bf2_get_user_kills( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
return gPlayerStats[ get_param( 1 ) ][ psTotal ];
}
 
public _bf2_set_user_badge( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
return g_PlayerBadges[ get_param( 1 ) ][ get_param( 2 ) ]=get_param( 3 );
}
 
public _bf2_set_user_rank( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
return g_PlayerRank[ get_param( 1 ) ]=get_param( 2 );
}
 
public _bf2_set_user_medals( plugin, params ) {
if( !is_user_connected( get_param( 1 ) ) )
return 404;
 
switch( get_param( 2 ) ) {
case MEDAL_BRONZE:
return gPlayerStats[ get_param( 1 ) ][ psBronze ]=get_param( 3 );
case MEDAL_SILVER:
return gPlayerStats[ get_param( 1 ) ][ psSilver ]=get_param( 3 );
case MEDAL_GOLD:
return gPlayerStats[ get_param( 1 ) ][ psGold ]=get_param( 3 );
}
return g_PlayerRank[ get_param( 1 ) ];
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/