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
 

Zdjęcie
Modyfikacja

Prosba o Przerobienie

Modyfikacja

  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 PaN

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:26
Offline

Napisano 10.05.2009 14:17

Witam... Mam Prosbe czy mogl by mi ktor przerobic ten oto plik .sma aby.
Bylo 100aa
i zeby nie bylo takiego takiego czegos ze Developer 0 musi byc bo zawsze na poacztku rundy tak jakby wymusza developer 0 a ja nie chce zeby to bylo ;).

Jak cos jeszcze trzeba bedzie dac jakis plik to pisac.

Dam ++

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <colorchat>
#include <hamsandwich>
#include <jumpstats_const>
#include <jumpstats_stocks>
#include <engine>

new const g_team_names[][] =
{
	"Terrorist",
	"Counter-Terrorist",
	"Spectator"
};

#define ONOFF_SPEED		(1<<0)
#define ONOFF_COLORCHAT		(1<<1)
#define ONOFF_SOUNDS		(1<<2)
#define ONOFF_JUMPSTATS		(1<<3)
#define ONOFF_STRAFESTATS	(1<<4)
#define ONOFF_BEAM		(1<<5)
#define ONOFF_SPECSTATS		(1<<6)
#define ONOFF_PRESTRAFE		(1<<7)

new const g_onoff_names[][] =
{
	"Speedometer",
	"Jump Chat Messages",
	"Jump Sounds",
	"Jump Stats",
	"Strafe Stats",
	"Jump Beam",
	"Spectator Stats",
	"Prestrafe Shower"
};

new const g_onoff_verbs[sizeof(g_onoff_names)][] =
{
	"has",
	"have",
	"have",
	"have",
	"have",
	"has",
	"have",
	"has"
};

new const g_onoff_commands[sizeof(g_onoff_names)][] =
{
	"say /speed",
	"say /colorchat",
	"say /ljsounds",
	"say /ljstats",
	"say /strafestats",
	"say /ljbeam",
	"say /specstats",
	"say /preshow"
};

new const g_cvar_names[][] =
{
	"edgefriction",
	"mp_footsteps",
	"sv_cheats",
	"sv_maxspeed",
	"sv_stepsize",
	"sv_maxvelocity"
};

new const g_cvar_values[sizeof(g_cvar_names)] =
{
	2, // edgefriction
	1, // mp_footsteps
	0, // sv_cheats
	320, // sv_maxspeed
	18, // sv_stepsize
	2000 // sv_maxvelocity
};

new g_cvar_pointers[sizeof(g_cvar_names)];

new Float:g_speed_delay;

new Float:g_beamtime[33];

new g_flags[33];

new cvar_allowteam;
new cvar_connectflags;
new cvar_developer;
new cvar_servertype;

new g_agree_menu;
new bool:g_agreed[33];

new g_max_clients;

new g_config_forward;
new g_cvar_forward;

new g_cache_entity;

public plugin_precache()
{
	precache_sound(SOUND_IMPRESSIVE);
	precache_sound(SOUND_PERFECT);
	precache_sound(SOUND_GODLIKE);
	precache_sound(SOUND_HOLYSHIT);
	precache_sound(SOUND_DOMINATING);
	precache_sound(SOUND_DOMINATING_GODLIKE);
	precache_sound(SOUND_RAMPAGE);
	
	new filename[64];
	get_configsdir(filename, sizeof(filename) - 1);
	
	add(filename, sizeof(filename) - 1, "/jumpstats_reset.ini");
	
	if( !file_exists(filename) )
	{
		new const commands[][] =
		{
			"tele", "tp", "gocheck", "gc",
			"stuck", "unstuck",
			"start", "reset", "spawn", "restart"
		};
		
		new const prefixes[][] =
		{
			"", ".", "/"
		};
		
		new f = fopen(filename, "wt");
		
		fputs(f, "; These commands are not allowed to be used during jumps^n; Place commands in here that allow players to move with the use of other plugins^n^n");
		
		for( new s = 0; s < 2; s++ )
		{
			for( new i = 0; i < sizeof(commands); i++ )
			{
				for( new j = 0; j < sizeof(prefixes); j++ )
				{
					fprintf(f, "%s%s%s^n", (s == 0) ? "" : "say ", prefixes[j], commands[i]);
				}
			}
		}
		
		fputs(f, "+hook^n-hook");
		
		fclose(f);
	}
	
	get_datadir(filename, sizeof(filename) - 1);
	add(filename, sizeof(filename) - 1, "/jumpstats");
	
	if( !dir_exists(filename) )
	{
		mkdir(filename);
	}
}

public plugin_init()
{
	register_plugin("JumpStats Main", PLUGIN_VERSION, PLUGIN_AUTHOR);
	register_cvar(PLUGIN_NAME, PLUGIN_VERSION, (FCVAR_SERVER|FCVAR_SPONLY));
	
	if( !is_running("cstrike") ) return;
	
	register_clcmd("say /ljsmenu", "CmdMenu");
	for( new i = 0; i < sizeof(g_onoff_commands); i++ )
	{
		register_clcmd(g_onoff_commands[i], "CmdMenu");
	}
	
	register_forward(FM_StartFrame, "FwdStartFrame");
	
	RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawn", 1);
	
	for( new i = 0; i < sizeof(g_cvar_names); i++ )
	{
		g_cvar_pointers[i] = get_cvar_pointer(g_cvar_names[i]);
	}
	
	cvar_allowteam = register_cvar("js_allowteam", "abc");
	cvar_connectflags = register_cvar("js_connectflags", "abcdefg");
	cvar_developer = register_cvar("js_developer", "1");
	cvar_servertype = register_cvar("js_servertype", "1");
	
	g_max_clients = get_maxplayers();
	
	g_agree_menu = menu_create("This server requires ^"developer 0^"^nDo you accept this?", "MenuAgree");
	menu_additem(g_agree_menu, "Yes", "1");
	menu_additem(g_agree_menu, "No", "2");
	menu_setprop(g_agree_menu, MPROP_EXIT, MEXIT_NEVER);
	
	g_config_forward = CreateMultiForward("js_config_executed", ET_IGNORE);
	g_cvar_forward = CreateMultiForward("js_update_cvars", ET_IGNORE);
}

public plugin_cfg()
{
	set_task(CONFIG_EXEC_DELAY, "TaskDelayedConfig");
}

public TaskDelayedConfig()
{
	// addons/amxmodx/configs/jumpstats.cfg
	// 123456789012345678901234567890123456
	
	new filename[40];
	get_configsdir(filename, sizeof(filename) - 1);
	add(filename, sizeof(filename) - 1, "/jumpstats.cfg");
	
	if( file_exists(filename) )
	{
		server_cmd("exec %s", filename);
		//server_exec();
	}
	
	new retval;
	ExecuteForward(g_config_forward, retval);
	ExecuteForward(g_cvar_forward, retval);
	
	new servertype = get_pcvar_num(cvar_servertype);
	if( servertype == 1 )
	{
		register_event("HLTV", "EventCacheCvars", "a", "1=0", "2=0");
	}
	else
	{
		g_cache_entity = create_entity("info_target");
		if( !is_valid_ent(g_cache_entity) )
		{
			// it's a last resort <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/bored.gif' class='bbc_emoticon' alt=':|' />
			set_task(CACHE_UPDATE_INERVAL, "EventCacheCvars", _, _, _, "b");
		}
		else
		{
			entity_set_string(g_cache_entity, EV_SZ_classname, "js_cvar_cache");
			register_think("js_cvar_cache", "FwdCacheCvars");
			
			entity_set_float(g_cache_entity, EV_FL_nextthink, get_gametime());
		}
	}
}

public plugin_natives()
{
	register_library("jumpstats_main");
	
	register_native("js_user_has_colorchat", "_colorchat");
	register_native("js_user_has_sounds", "_sounds");
	register_native("js_user_has_jumpstats", "_jumpstats");
	register_native("js_user_has_strafestats", "_strafestats");
	register_native("js_user_has_beam", "_beam");
	register_native("js_user_has_specstats", "_specstats");
	register_native("js_user_has_prestrafe", "_prestrafe");
	register_native("js_set_user_beamtime", "_set_beamtime");
	register_native("js_get_user_beamtime", "_get_beamtime");
}

public bool:_colorchat(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_COLORCHAT);
}

public bool:_sounds(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_SOUNDS);
}

public bool:_jumpstats(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_JUMPSTATS);
}

public bool:_strafestats(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_STRAFESTATS);
}

public bool:_beam(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_BEAM);
}

public bool:_specstats(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_SPECSTATS);
}

public bool:_prestrafe(plugin, params)
{
	return bool:(g_flags[get_param(1)] & ONOFF_PRESTRAFE);
}

public _set_beamtime(plugin, params)
{
	g_beamtime[get_param(1)] = get_param_f(2);
}

public Float:_get_beamtime(plugin, params)
{
	return g_beamtime[get_param(1)];
}

public client_putinserver(client)
{
	g_beamtime[client] = 0.0;
	
	if( get_pcvar_num(cvar_developer) )
	{
		g_agreed[client] = false;
		
		g_flags[client] = 0;
	}
	else
	{
		g_agreed[client] = true;
		
		static flags[10];
		get_pcvar_string(cvar_connectflags, flags, sizeof(flags) - 1);
		g_flags[client] = read_flags(flags);
	}
}

public client_disconnect(client)
{
	remove_task(client);
}

public CmdMenu(client)
{
	static command[20];
	read_argv(1, command, sizeof(command) - 1);
	
	for( new i = 0; i < sizeof(g_onoff_commands); i++ )
	{
		if( !strcmp(command, g_onoff_commands[i][4], 1) )
		{
			SwitchOnOff(client, i);
			return;
		}
	}
	
	ShowMainMenu(client);
}

public FwdStartFrame()
{
	for( new i = 0; i < sizeof(g_cvar_names); i++ )
	{
		set_pcvar_num(g_cvar_pointers[i], g_cvar_values[i]);
	}
	
	new Float:gametime = get_gametime();
	
	static is_alive, alive, Float:velocity[3], Float:length;
	
	for( new client = 1; client <= g_max_clients; client++ )
	{
		if( !is_user_connected(client) ) continue;
		
		is_alive = is_user_alive(client);
		
		if( gametime > g_speed_delay && (g_flags[client] & ONOFF_SPEED) )
		{
			if( is_alive
			|| !(alive = GetSpectatedPlayer(client)) )
			{
				alive = client;
			}
			
			if( !is_alive && !(g_flags[client] & ONOFF_SPECSTATS) ) continue;
			
			pev(alive, pev_velocity, velocity);
			
			length = vector_length(velocity);
			
			velocity[2] = 0.0;
			
			set_hudmessage(255, 255, 255, -1.0, 0.65, 0, 0.0, 0.2, 0.0, 0.0, 3);
			show_hudmessage(client, "%.3f units/second^n%.3f velocity", vector_length(velocity), length);
		}
	}
	
	if( gametime > g_speed_delay )
	{
		g_speed_delay = gametime + 0.1;
	}
}

public FwdPlayerSpawn(client)
{
	if( !g_agreed[client] && is_user_alive(client) )
	{
		menu_display(client, g_agree_menu);
	}
}

public FwdCacheCvars(entity)
{
	if( entity == g_cache_entity )
	{
		EventCacheCvars();
		
		entity_set_float(entity, EV_FL_nextthink, get_gametime() + CACHE_UPDATE_INERVAL);
	}
}

public EventCacheCvars()
{
	static retval;
	ExecuteForward(g_cvar_forward, retval);
}

ShowMainMenu(client)
{
	if( !g_agreed[client] )
	{
		menu_display(client, g_agree_menu);
		return;
	}
	
	new menu = menu_create("JumpStats Menu", "MenuMain");
	
	menu_additem(menu, "Top Jumps", "1");
	
	if( access(client, ADMIN_RCON) )
	{
		menu_additem(menu, "On/Off Menu^n^nrAdmin Menu", "2");
		
		menu_additem(menu, "Reset Tops Menu", "3");
		menu_additem(menu, "Connect Enabler Menu", "4");
		menu_additem(menu, "Allow Team Menu", "5");
	}
	else
	{
		menu_additem(menu, "On/Off Menu", "2");
	}
	
	menu_display(client, menu);
}

public MenuMain(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return;
	}
	
	static _access, info[3], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	switch( info[0] )
	{
		case '1':
		{
			client_cmd(client, "main_top");
		}
		case '2':
		{
			ShowOnOffMenu(client);
		}
		case '3':
		{
			client_cmd(client, "main_reset");
		}
		case '4':
		{
			ShowCustomizeMenu(client);
		}
		case '5':
		{
			ShowAllowTeamMenu(client);
		}
	}
}

ShowOnOffMenu(client)
{
	if( !g_agreed[client] )
	{
		menu_display(client, g_agree_menu);
		return;
	}
	
	static item[32], info[3];
	
	new menu = menu_create("JumpStats On/Off Menu", "MenuOnOff");
	
	for( new i = 0; i < sizeof(g_onoff_names); i++ )
	{
		formatex(item, sizeof(item) - 1, "%s: %s", g_onoff_names[i], (g_flags[client] & (1<<i)) ? "yOn" : "rOff");
		num_to_str(i, info, sizeof(info) - 1);
		
		menu_additem(menu, item, info);
	}
	
	menu_display(client, menu);
}

public MenuOnOff(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[3], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	SwitchOnOff(client, str_to_num(info));
	
	ShowOnOffMenu(client);
}

SwitchOnOff(client, num)
{
	if( g_agreed[client] )
	{
		new flag = (1<<num);
		
		g_flags[client] ^= flag;
		
		ColorChat(client, (g_flags[client] & flag) ? BLUE : RED, "^x04[JUMPSTATS]^x03 %s %s been %sabled!", g_onoff_names[num], g_onoff_verbs[num], (g_flags[client] & flag) ? "en" : "dis");
	}
	else
	{
		ColorChat(client, RED, "^x04[JUMPSTATS]^x03 You must agree to accept legal jump settings!");
		
		menu_display(client, g_agree_menu);
	}
}

ShowCustomizeMenu(client)
{
	new menu = menu_create("Connect Enabler", "MenuCustomize");
	
	static connect_flags[16];
	get_pcvar_string(cvar_connectflags, connect_flags, sizeof(connect_flags) - 1);
	
	new flags = read_flags(connect_flags);
	
	new item[64], info[3];
	for( new i = 0; i < sizeof(g_onoff_names); i++ )
	{
		formatex(item, sizeof(item) - 1, "%s: %s", g_onoff_names[i], (flags & (1<<i)) ? "yOn" : "rOff");
		num_to_str(i, info, sizeof(info) - 1);
		
		menu_additem(menu, item, info);
	}
	
	menu_display(client, menu);
}

public MenuCustomize(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[3], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	new num = str_to_num(info);
	new flag = (1<<num);
	
	new connect_flags[16];
	get_pcvar_string(cvar_connectflags, connect_flags, sizeof(connect_flags) - 1);
	
	new flags = read_flags(connect_flags);
	
	flags ^= flag;
	
	get_flags(flags, connect_flags, sizeof(connect_flags) - 1);
	set_pcvar_string(cvar_connectflags, connect_flags);
	
	ColorChat(client, (flags & flag) ? BLUE : RED, "^x04[JUMPSTATS]^x03 %s %s been %sabled!", g_onoff_names[num], g_onoff_verbs[num], (flags & flag) ? "en" : "dis");
	
	ShowCustomizeMenu(client);
}

ShowAllowTeamMenu(client)
{
	new menu = menu_create("Allow Teams", "MenuAllowTeam");
	
	new team_flags[5];
	get_pcvar_string(cvar_allowteam, team_flags, sizeof(team_flags) - 1);
	
	new flags = read_flags(team_flags);
	
	new item[64], info[3];
	for( new i = 0; i < sizeof(g_team_names); i++ )
	{
		formatex(item, sizeof(item) - 1, "%s: %s", g_team_names[i], (flags & (1<<i)) ? "yOn" : "rOff");
		num_to_str(i, info, sizeof(info) - 1);
		
		menu_additem(menu, item, info);
	}
	
	menu_display(client, menu);
}

public MenuAllowTeam(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[3], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	new num = str_to_num(info);
	new flag = (1<<num);
	
	new team_flags[16];
	get_pcvar_string(cvar_allowteam, team_flags, sizeof(team_flags) - 1);
	
	new flags = read_flags(team_flags);
	
	flags ^= flag;
	
	get_flags(flags, team_flags, sizeof(team_flags) - 1);
	set_pcvar_string(cvar_allowteam, team_flags);
	
	ColorChat(0, (flags & flag) ? BLUE : RED, "^x04[JUMPSTATS]^x03 JumpStats for %ss have been %sabled!", g_team_names[num], (flags & flag) ? "en" : "dis");
	
	ShowAllowTeamMenu(client);
}

public MenuAgree(client, menu, item)
{
	if( item == MENU_EXIT ) return;
	
	static _access, info[3], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	
	if( info[0] == '1' )
	{
		g_agreed[client] = true;
		
		static params[2];
		params[0] = 0;
		set_task(10.0, "TaskCheckDeveloper", client, params, sizeof(params));
		
		static flags[10];
		get_pcvar_string(cvar_connectflags, flags, sizeof(flags) - 1);
		g_flags[client] = read_flags(flags);
	}
}

public TaskCheckDeveloper(params[], client)
{
	query_client_cvar(client, "developer", "DeveloperResult", 2, params);
}

public DeveloperResult(client, const cvar_name[], const cvar_value[], const params[])
{
	if( equali(cvar_value, "Bad CVAR request") ) return;
	
	new secondtime = params[0];
	
	if( !IsStringNumeric(cvar_value) || str_to_num(cvar_value) != 0 )
	{
		if( !secondtime )
		{
			ColorChat(client, RED, "^x04[JUMPSTATS]^x03 Your developer was set to 0.");
			
			static params2[2];
			params2[0] = 1;
			set_task(5.0, "TaskCheckDeveloper", client, params2, sizeof(params2));
		}
		else
		{
			client_cmd(client, "echo ^"^"");
			client_cmd(client, "echo ^"You have set your developer to an illegal value and then aliased the cvar.^"");
			client_cmd(client, "echo ^"If you wish to play in this server, then you must restart your CS and make sure the cvar isn't aliased.^"")
			
			message_begin(MSG_ONE_UNRELIABLE, SVC_DISCONNECT, _, client);
			write_string("Check your console.");
			message_end();
		}
	}
	
	if( !secondtime )
	{
		client_cmd(client, "developer 0;alias developer");
	}
}

bool:IsStringNumeric(const string[])
{
	new len = strlen(string);
	for( new i = 0; i < len; i++ )
	{
		if( !('0' <= string[i] <= '9') )
		{
			return false;
		}
	}
	return true;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{ rtf1 ansi deff0{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard lang1033 f0 fs16 n par }
*/


[ Dodano: 13-05-2009, 08:07 ]
Umie ktos To zobic ?
  • +
  • -
  • 0

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 13.05.2009 18:55

100aa nie zrozumiałem ;>


co do developer 0 to masz cvar:

js_developer 0

dodaj do amxx.cfg i po kłopocie
  • +
  • -
  • 0

#3 GoForIT

    Zaawansowany

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:99
  • GG:
  • Lokalizacja:z Nienacka
Offline

Napisano 13.05.2009 19:04

100aa to airaccelarate 100
  • +
  • -
  • 0

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 14.05.2009 18:08

Nie znalazłem żadnej komendy gracza związanej z aa. Znalazłem za to cvar serwa sv_airaccelerate, więc do server.cfg dopisz:

sv_airaccelerate 100


  • +
  • -
  • 0

#5 PaN

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:26
Offline

Napisano 16.05.2009 14:52

ale rzecz w tym jak wpisze do amxx.cfg to sie zmienia na 10 automatycznie
  • +
  • -
  • 0

#6 igor2-10

    Wszechwiedzący

  • Użytkownik

Reputacja: 111
Zaawansowany

  • Postów:525
  • Steam:steam
  • Lokalizacja:Byczyna
Offline

Napisano 16.05.2009 15:23

Sprawdź czy w server.cfg nie ma tej komendy ustawionej na 10.
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych