Skip to content
View in the app

A better way to browse. Learn more.

GAMELIFE România

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[ Plugins ] - [Surf] XP Mod / Level System

  • Administrators

[Surf] XP Mod / Level System


Descriere: Toata lumea cred ca stie ce-i ala un level mod. Ei, daca nu stiai pana acum, level mod inseamna un plugin bazat pe nivele, avansezi in level facand experienta. Odata ce ai ajuns la x/x experienta, avansezi la nivelul urmator. Pluginul are in total 15 levele, beneficii. Toate astea mai jos

Descarcare: Link!

SMA (EDITAT) | 

Spoiler
// Includes
#include < amxmodx >
#include < amxmisc >
#include < hamsandwich >
#include < cstrike >
#include < fakemeta >
#include < fun >
#include < fvault >

// Register Plugin
new const PLUGIN_NAME[  ] = "[SURF] Level System", 
	 PLUGIN_VERSION[  ] = "1.7", 
	 PLUGIN_AUTHOR[  ] = "YONTU";

#define MAX_LEVEL	15	// This is max level
#define ADMIN_ACCESS	ADMIN_LEVEL_G
#define is_user_valid(%1)	(1 <= %1 <= 32)

enum bs_data { Level = 1, Gravity, Speed, Health, Armor, Flash, He, Smoke }

new const Tag[  ] = "[SURF: Level System]";
new const SoundLevelUp[  ] = "misc/levelup.wav";
new const g_Vault[  ] = "surf_levelmod_1.7";

new g_UserXP[ 33 ], g_UserLevel[ 33 ];

new cvar_levelup_protect, cvar_levelup_effects, cvar_kill_xp, cvar_hs_xp;
new c_levelup_protect, c_levelup_effects, SyncHudMessage;

// Hack to be able to use Ham_Player_ResetMaxSpeed (by joaquimandrade)
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;

enum e_data { Xp, Float:Gravity, Float:Speed, Health, Armor, Flash, He, Smoke }

new const g_PlayerData[ MAX_LEVEL+1 ][ e_data ] = {

	/* XP	Gravity	Speed	Health	Armor	Flash	He	Smoke */	// e_data
	{ 0,	800.0,	260.0,	100,	0,	0,	0,	0 },	// NU modifica nimic pe linia asta
	{ 100,	800.0,	260.0,	100,	0,	0,	0,	0 },	// Level 1
	{ 250,	780.0,	260.5,	105,	5,	0,	0,	0 },	// Level 2
	{ 300,	760.0,	270.0,	105,	10,	0,	0,	0 },	// Level 3
	{ 400,	740.0,	270.5,	110,	10,	0,	0,	0 },	// Level 4
	{ 500,	720.0,	280.0,	110,	15,	0,	0,	0 },	// Level 5
	{ 750,	700.0,	280.5,	115,	20,	0,	0,	0 },	// Level 6
	{ 1000,	680.0,	290.0,	120,	25,	0,	0,	0 },	// Level 7
	{ 1400,	660.0,	290.5,	125,	30,	0,	0,	0 },	// Level 8
	{ 1800,	640.0,	300.0,	130,	35,	0,	0,	0 },	// Level 9
	{ 2500,	620.0,	300.5,	150,	50,	0,	0,	0 },	// Level 10
	{ 4000,	600.0,	310.0,	150,	50,	1,	0,	0 },	// Level 11
	{ 5500,	580.0,	310.5,	150,	50,	1,	0,	1 },	// Level 12
	{ 7500,	560.0,	315.0,	150,	50,	2,	0,	1 },	// Level 13
	{ 9000,	540.0,	320.0,	150,	50,	2,	1,	1 },	// Level 14
	{ 12000,	500.0,	330.0,	175,	75,	2,	1,	1 }	// Level 15
	/* XP	Gravity	Speed	Health	Armor	Flash	He	Smoke */	//e_data
}

public plugin_init(  ) {

	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
	register_cvar( "level_mod_", PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER );
	set_cvar_string( "level_mod_", PLUGIN_VERSION );

	cvar_kill_xp = register_cvar( "surf_kill_xp", "25" );
	cvar_hs_xp = register_cvar( "surf_hs_xp", "50" );
	cvar_levelup_protect = register_cvar( "surf_levelup_protect", "1" );
	cvar_levelup_effects = register_cvar( "surf_levelup_effects", "1" );

	register_event( "HLTV", "event_NewRound", "a", "1=0", "2=0" );
	register_event( "DeathMsg", "event_DeathMsg", "a" );

	// Block change name. Is restricted.
	register_forward( FM_ClientUserInfoChanged, "fw_ChangeName" );

	RegisterHam( Ham_Spawn, "player", "fw_PlayerSpawn", 1 );
	RegisterHam( Ham_Player_ResetMaxSpeed, "player", "fw_ResetMaxSpeed_Post", 1 );

	register_clcmd( "say /xp", "ClShowXp" );
	register_clcmd( "say_team /xp", "ClShowXp" );

	register_clcmd( "say /level", "CmdManagePlayers" );
	register_clcmd( "say_team /level", "CmdManagePlayers" );

	SyncHudMessage = CreateHudSyncObj(  );
}

public plugin_precache(  )
	precache_sound( SoundLevelUp );

public plugin_cfg(  ) {

	c_levelup_protect = get_pcvar_num( cvar_levelup_protect );
	c_levelup_effects = get_pcvar_num( cvar_levelup_effects );
}

public plugin_natives(  ) {

	// Player specific natives
	register_native( "xp_mod", "native_xp_mod", 1 );
	register_native( "get_user_xp", "native_get_user_xp", 1 );
	register_native( "get_user_level", "native_get_user_level", 1 );
	register_native( "get_max_level", "native_get_max_level", 1 );
	register_native( "get_user_next_level_xp", "native_get_user_next_level_xp", 1 );
}

public native_xp_mod( id, set_xp, xp, set_level, level, update, save ) {

	if( !is_user_valid( id ) ) {

		log_error( AMX_ERR_NATIVE, "%s: Invalid Player (%d).", PLUGIN_NAME, id );
		return false;
	}

	return make_user_happy( id, set_xp, xp, set_level, level, update, save );
}

public native_get_user_xp( id ) {

	if( !is_user_valid( id ) ) {

		log_error( AMX_ERR_NATIVE, "%s: Invalid Player (%d).", PLUGIN_NAME, id );
		return false;
	}

	return g_UserXP[ id ];
}

public native_get_user_level( id ) {

	if( !is_user_valid( id ) ) {

		log_error( AMX_ERR_NATIVE, "%s: Invalid Player (%d).", PLUGIN_NAME, id );
		return false;
	}

	return g_UserLevel[ id ];
}

public native_get_max_level(  )
	return MAX_LEVEL;

public native_get_user_next_level_xp( id ) {

	if( !is_user_valid( id ) ) {

		log_error( AMX_ERR_NATIVE, "%s: Invalid Player (%d).", PLUGIN_NAME, id );
		return false;
	}

	if( is_user_connected( id ) && g_UserLevel[ id ] <= native_get_max_level(  ) )
		return get_xp_on_level( id );

	return true;
}

public client_putinserver( id ) {

	LoadUserExperience( id );
	set_task( 1.0, "task_ShowHUD", id + 1221, _, _, "b" );
}

public client_disconnect( id ) {

	SaveUserExperience( id );
	remove_task( id + 1221 );
}

public fw_ChangeName( id ) {

	if( is_user_connected( id ) ) {

		new g_NewName[ 32 ];
		get_user_info( id, "name", g_NewName, charsmax( g_NewName ) );

		if( !equal( get_name( id ), g_NewName ) ) {

			ColorChat( id, "!3%s!1 Este!4 INTERZISA!1 schimbarea numelui pe server.", Tag );
			set_user_info( id, "name", get_name( id ) );
		}
	}
}

public fw_ResetMaxSpeed_Post( id ) {

	if( !is_user_alive( id ) )
		return HAM_HANDLED;

	new Float:fMaxSpeed = g_PlayerData[ g_UserLevel[ id ] ][ Speed ];
	set_user_maxspeed( id, fMaxSpeed );

	new command[ 128 ];
	formatex( command, charsmax( command ), "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", fMaxSpeed, fMaxSpeed, fMaxSpeed );
	client_cmd( id, command );

	return HAM_IGNORED;
}

public fw_PlayerSpawn( id ) {

	if( !is_user_alive( id ) )
		return PLUGIN_HANDLED;

	if( g_UserLevel[ id ] == MAX_LEVEL)
		ColorChat( id, "!4***!1 Level:!3 %d!4 ***!1 XP:!3 %d", MAX_LEVEL, g_UserXP[ id ] );
	else
		ColorChat( id, "!4***!1 Level:!3 %d!1/!3%d!4 ***!1 XP:!3 %d!1/!3%d", g_UserLevel[ id ], MAX_LEVEL, g_UserXP[ id ], get_xp_on_level( id ) );

	if( g_UserLevel[ id ] == 0 ) {

		make_user_happy( id, 0, 0, 0, 0, 1, 0 );
		return PLUGIN_CONTINUE;
	}

	set_task( 1.0, "set_user_items", id );

	return PLUGIN_CONTINUE;
}

public event_NewRound(  ) {

	c_levelup_protect = get_pcvar_num( cvar_levelup_protect );
	c_levelup_effects = get_pcvar_num( cvar_levelup_effects );
}

public event_DeathMsg(  ) {

	new iAttacker = read_data( 1 );
	new iVictim = read_data( 2 );
	new iHeadShot = read_data( 3 );
	new HitSelf = ( iAttacker == iVictim ) ? 1 : 0;

	if( HitSelf )
		return PLUGIN_HANDLED;

	new _xp_kill, _xp_hs;
	_xp_hs = get_pcvar_num( cvar_hs_xp );
	_xp_kill = get_pcvar_num( cvar_kill_xp );

	if( is_user_connected( iAttacker ) && is_user_connected( iVictim ) && !HitSelf ) {

		if( iHeadShot ) {

			if( _xp_hs != 0 ) {

				make_user_happy( iAttacker, 1, _xp_hs, 0, 0, 1, 1 );
				ColorChat( iAttacker, "!4%s!1 You have been received!3 %i xp!1 for getting a headshot.", Tag, _xp_hs );
			}

			return PLUGIN_HANDLED;
		} else {

			if( _xp_kill != 0 ) {

				make_user_happy( iAttacker, 1, _xp_kill, 0, 0, 1, 1 );
				ColorChat( iAttacker, "!4%s!1 You have been received!3 %i xp!1 for killing the enemy.", Tag, _xp_kill );
			}

			return PLUGIN_HANDLED;
		}

		return PLUGIN_CONTINUE;
	}

	return PLUGIN_CONTINUE;
}

public ClShowXp( id ) {

	if( is_user_connected( id ) ) {

		if( g_UserLevel[ id ] == MAX_LEVEL)
			ColorChat( id, "!4***!1 Level:!3 %d!4 ***!1 XP:!3 %d", MAX_LEVEL, g_UserXP[ id ] );
		else
			ColorChat( id, "!4***!1 Level:!3 %d!1/!3%d!4 ***!1 XP:!3 %d!1/!3%d", g_UserLevel[ id ], MAX_LEVEL, g_UserXP[ id ], get_xp_on_level( id ) );
	}

	return PLUGIN_HANDLED;
}

public CmdManagePlayers( id ) {

	if( !( get_user_flags( id ) & ADMIN_ACCESS ) ) {

		ColorChat( id, "!4%s!1 Doar!3 ADMINII!1 au acces!", Tag );
		return PLUGIN_HANDLED;
	}

	new menu = menu_create( "Alege un jucator:", "MenuHandler" );

	new iPlayers[ 32 ], iNum, i, player;
	new szUserID[ 32 ], szName[ 64 ];
	get_players( iPlayers, iNum );

	for( i = 0; i < iNum; i++ ) {

		player = iPlayers[ i ];

		formatex( szName, charsmax( szName ), "%s:\y Level:\r %d", get_name( player ), g_UserLevel[ player ] );
		formatex( szUserID, charsmax( szUserID ), "%d", get_user_userid( player ) );
		menu_additem( menu, szName, szUserID );
	}

	menu_display( id, menu );
	return PLUGIN_HANDLED;
}

public MenuHandler( id, menu, item ) {

	if( item == MENU_EXIT ) {

		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
   
	new item_access, callback, info[ 64 ], name[ 32 ];
	menu_item_getinfo( menu, item, item_access, info, charsmax( info ), name, charsmax( name ), callback );
	
	new userid = str_to_num( info );
	new player = find_player( "k", userid );

	ChoosePlayer( id, player );
	return PLUGIN_HANDLED;
}

public ChoosePlayer( id, Choosen ) {

	new szTitle[ 101 ], mm[ 200 ], szChoosen[ 200 ];
	formatex( szTitle, charsmax( szTitle ), "Schimba-i lui \r%s\y level-ul in:", get_name( Choosen ) );
	new menu = menu_create( szTitle, "SetLevelHandler" );
	
	num_to_str( Choosen, szChoosen, charsmax( szChoosen ) );
	
	for( new i = 1; i < sizeof( g_PlayerData ); i++ ) {

		formatex( mm, charsmax( mm ), "%d", g_PlayerData[ i ][ Xp ] );
		menu_additem( menu, mm, szChoosen );
	}
	
	menu_display( id, menu );
	return PLUGIN_HANDLED;
}

public SetLevelHandler( id, menu, item ) {

	if( item == MENU_EXIT ) {

		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	
	new item_access, callback, info[ 64 ], name[ 32 ];
	menu_item_getinfo( menu, item, item_access, info, charsmax( info ), name, charsmax( name ), callback );
	
	new player = str_to_num( info );

	g_UserXP[ player ] = g_PlayerData[ item ][ Xp ];
	g_UserLevel[ player ] = item;
	CheckUserLevel( player );

	//make_user_happy( player, 1, g_PlayerData[ item ][ Xp ], 1, item, 1, 1 );
	ColorChat( player, "!4%s!1 Adminul!3 %s!1 ti-a schimbat level-ul in!4 %d!1.", Tag, get_name( id ), g_UserLevel[ player ] );
	
	menu_destroy( menu );
	return PLUGIN_HANDLED;
}

public CheckUserLevel( id ) {

	if( g_UserLevel[ id ] <= MAX_LEVEL ) {

		if( g_UserXP[ id ] >= get_xp_on_level( id ) ) {

			make_user_happy( id, 0, 0, 1, 1, 0, 1 );
			emit_sound( id, CHAN_AUTO, SoundLevelUp, 1.0, ATTN_NORM, 0, PITCH_NORM );

			// Un mic efect? Nu strica...
			if( c_levelup_effects ) {

				// Luam culorile setate pentru fiecare level in parte
				new g_Color[ 3 ];
				g_Color[ 0 ] = get_color_level( id, 0 ); // r
				g_Color[ 1 ] = get_color_level( id, 1 ); // g
				g_Color[ 2 ] = get_color_level( id, 2 ); // b

				// Producem efectul jucatorului
				MakeFadeScreen( id, 1.5, g_Color[ 2 ], g_Color[ 1 ], g_Color[ 0 ], random_num( 100, 200 ) );
			}

			if( c_levelup_protect ) {

				fm_set_user_godmode( id, 1 );
				set_task( 1.0, "task_RemoveProtect", id );
			}

			ColorChat( id, "!3%s!1 Congratulations, you've !4leveled up!1. Current level:!3 %d!1 !", Tag, g_UserLevel[ id ] );
			if( g_UserLevel[ id ] <= MAX_LEVEL -1 )
				ColorChat( id, "!3%s!1 Next XP:!4 %d!1 !", Tag, get_xp_on_level( id ) );
		}
	}

	return PLUGIN_HANDLED;
}

stock MakeFadeScreen( id, const Float:Seconds, const Red, const Green, const Blue, const Alpha ) {

	static g_MsgScreenFade = 0;
	if( !g_MsgScreenFade )
		g_MsgScreenFade = get_user_msgid( "ScreenFade" );

	message_begin( MSG_ONE, g_MsgScreenFade, _, id );
	write_short( floatround( 4096.0 * Seconds, floatround_round ) );
	write_short( floatround( 4096.0 * Seconds, floatround_round ) );
	write_short( 0x0000 );
	write_byte( Red );
	write_byte( Green );
	write_byte( Blue );
	write_byte( Alpha );
	message_end(  );
}

public get_color_level( id, number ) {

	new g_Color[ 3 ];
	switch( g_UserLevel[ id ] ) {

		case 1:	g_Color = { 248, 172, 58 };
		case 2:	g_Color = { 0, 255, 128 };
		case 3:	g_Color = { 170, 255, 127 };
		case 4:	g_Color = { 155, 240, 70 };
		case 5:	g_Color = { 255, 255, 0 };
		case 6:	g_Color = { 255, 127, 85 };
		case 7:	g_Color = { 0, 212, 255 };
		case 8:	g_Color = { 70, 70, 240 };
		case 9:	g_Color = { 170, 0, 255 };
		case 10:	g_Color = { 255, 255, 0 };
		default:	g_Color = { 0, 255, 0 };
	}
	
	return g_Color[ number ];
}

public task_RemoveProtect( id )
	fm_set_user_godmode( id, 0 );

public task_ShowHUD( taskid ) {

	new ID_SHOWHUD = taskid - 1221;
	new player = ID_SHOWHUD;

	if( !is_user_alive( player ) ) {

		player = pev( player, pev_iuser2 );

		if( !is_user_alive( player ) )
			return;
	}

	if( player == ID_SHOWHUD ) {

		new g_Color[ 3 ];
		g_Color[ 0 ] = get_color_level( player, 0 );
		g_Color[ 1 ] = get_color_level( player, 1 );
		g_Color[ 2 ] = get_color_level( player, 2 );

		if( g_UserLevel[ player ] == MAX_LEVEL) {

			set_hudmessage( g_Color[ 0 ], g_Color[ 1 ], g_Color[ 2 ], 0.02, 0.92, 0, 6.0, 1.1, 0.0, 0.0, -1 );
			ShowSyncHudMsg( player, SyncHudMessage, "LEVEL: Max Level  -  XP: %d", g_UserXP[ player ] );
		} else {

			set_hudmessage( g_Color[ 0 ], g_Color[ 1 ], g_Color[ 2 ], 0.02, 0.92, 0, 6.0, 1.1, 0.0, 0.0, -1 );
			ShowSyncHudMsg( player, SyncHudMessage, "LEVEL: %d/%d  -  XP: %d/%d  -  SPEED: %1.f", g_UserLevel[ player ], MAX_LEVEL, g_UserXP[ player ], get_xp_on_level( player ), get_user_maxspeed( player ) );
		}
	}
}

public SaveUserExperience( id ) {

	new szVaultKey[ 64 ], szVaultData[ 256 ];
	format( szVaultKey, charsmax( szVaultKey ), "%s", get_name( id ) );
	format( szVaultData, charsmax( szVaultData ), "%d %d", g_UserXP[ id ], g_UserLevel[ id ] );

	fvault_set_data( g_Vault, szVaultKey, szVaultData );
}

public LoadUserExperience( id ) {

	new szVaultKey[ 64 ], szVaultData[ 256 ], xp[ 33 ], levels[ 33 ];
	format( szVaultKey, charsmax( szVaultKey ), "%s", get_name( id ) );
	format( szVaultData, charsmax( szVaultData ), "%d %d", g_UserXP[ id ], g_UserLevel[ id ] );

	if( fvault_get_data( g_Vault, szVaultKey, szVaultData, charsmax( szVaultData ) ) ) {

		parse( szVaultData, xp, charsmax( xp ), levels, charsmax( levels ) );
		g_UserXP[ id ] = str_to_num( xp );
		g_UserLevel[ id ] = str_to_num( levels );
	}
}

// STOCK'S
public set_user_items( id ) {

	if( !is_user_alive( id ) )
		return;

	set_user_health( id, g_PlayerData[ g_UserLevel[ id ] ][ Health ] );
	set_user_armor( id, g_PlayerData[ g_UserLevel[ id ] ][ Armor ] );
	set_user_gravity( id, g_PlayerData[ g_UserLevel[ id ] ][ Gravity ] * 0.00125 );

	if( g_PlayerData[ g_UserLevel[ id ] ][ Flash ] != 0 ) {

		give_item( id, "weapon_flashbang" );
		cs_set_user_bpammo( id, CSW_FLASHBANG, cs_get_user_bpammo( id, CSW_FLASHBANG ) + g_PlayerData[ g_UserLevel[ id ] ][ Flash ] );
	}

	if( g_PlayerData[ g_UserLevel[ id ] ][ He ] != 0 ) {

		give_item( id, "weapon_hegrenade" );
		cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + g_PlayerData[ g_UserLevel[ id ] ][ He ] );
	}

	if( g_PlayerData[ g_UserLevel[ id ] ][ Smoke ] != 0 ) {

		give_item( id, "weapon_smokegrenade" );
		cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + g_PlayerData[ g_UserLevel[ id ] ][ Smoke ] );
	}

	ColorChat( id, "!3%s!1 Items: [!4%i He Grenades!1] [!4%i FlashBangs!1] [!4%i Smoke!1] [!4%i Health!1] [!4%i Armor!1]", Tag, 
	g_PlayerData[ g_UserLevel[ id ] ][ He ], 
	g_PlayerData[ g_UserLevel[ id ] ][ Flash ], 
	g_PlayerData[ g_UserLevel[ id ] ][ Smoke ], 
	g_PlayerData[ g_UserLevel[ id ] ][ Health ], 
	g_PlayerData[ g_UserLevel[ id ] ][ Armor ] );
}

// Stock by YONTU, pentru a preveni toate bugurile si pentru a optimiza codul doar printr-o linie, cand e vorba de setat si sters level.
// Stock-ul accepta valori pozitive si negative si eventuale activari si dezactivari
stock make_user_happy(id, set_xp, xp, set_level, level, update, save)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;

	if(set_xp)
	{
		g_UserXP[id] += xp;
		if(g_UserXP[id] <= 0) g_UserXP[id] = 0;
	}

	if(set_level)
	{
		if(level == 0) g_UserLevel[id] = 0;
		else if(level > MAX_LEVEL) g_UserLevel[id] = MAX_LEVEL;
		else
		{
			g_UserLevel[id] += level;
			if(g_UserLevel[id] <= 0) g_UserLevel[id] = 0;
		}
	}

	if(update) CheckUserLevel(id);
	if(save) SaveUserExperience(id);

	return PLUGIN_CONTINUE;
}

// 'Luam' xp-ul pentru fiecare level
stock get_xp_on_level( id ) {

	// 'Luam' xp-ul pentru fiecare level
	return g_PlayerData[ g_UserLevel[ id ] ][ Xp ];
}

stock ColorChat( id, String[  ], any:... ) {

	static szMesage[ 192 ];
	vformat( szMesage, charsmax( szMesage ), String, 3 );
	
	replace_all( szMesage, charsmax( szMesage ), "!1", "^1" );
	replace_all( szMesage, charsmax( szMesage ), "!3", "^3" );
	replace_all( szMesage, charsmax( szMesage ), "!4", "^4" );
	
	static g_msg_SayText = 0;
	if( !g_msg_SayText )
		g_msg_SayText = get_user_msgid( "SayText" );
	
	new Players[ 32 ], iNum = 1, i;

 	if( id ) Players[ 0 ] = id;
	else get_players( Players, iNum, "ch" );
	
	for( --iNum; iNum >= 0; iNum-- ) {

		i = Players[ iNum ];
		
		message_begin( MSG_ONE_UNRELIABLE, g_msg_SayText, _, i );
		write_byte( i );
		write_string( szMesage );
		message_end(  );
	}
}

stock get_name( id ) {

	new szName[ 32 ];
	get_user_name( id, szName, charsmax( szName ) );

	return szName;
}

stock fm_set_user_godmode( id, godmode = 0 ) {

	set_pev( id, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM );
	return PLUGIN_HANDLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/

Nume: [Surf] Level Mod
Versiune: 1.7

Instalare:
1. Fisierul surf_level_mod_1.7.sma il puneti in addons/amxmodx/scripting
2. Fisierul surf_level_mod_1.7.amxx il puneti in addons/amxmodx/plugins
3. Fisierul fvault.inc il puneti in addons/amxmodx/scripting/include
4. Fisierul levelup.wav il puneti in sound
5. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

surf_level_mod_1.7.amxx

 

6. Alti pasi necesari....

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):

surf_kill_xp "15" - xp-ul pe kill; daca vrei sa nu mai primesti xp pe kill, setezi 0
surf_hs_xp - xp-ul pe headshot; daca vrei sa nu mai primesti xp pe hs, setezi 0
surf_levelup_protect "1" - 1 sau 0: te protejeaza cand faci level nou
surf_levelup_effects "1" - 1 sau 0: iti coloreaza ecranul la level nou (1 - on | 0 - off)

Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):

-

Comenzi publice (se tasteaza in joc prin apasarea tastei Y):

/xp - iti arata in chat un mesaj cu xp-ul si level-ul tau
/level - poti seta dintr-un meniu jucatorilor un level

Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- CStrike
- Fun
- Fakemeta
- Hamsandwich


 

Featured Replies

No posts to show

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.