Cerere plugin random gift

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 .
User avatar
EleCtr0zZz
Membru, skill +1
Membru, skill +1
Posts: 428
Joined: 25 May 2015, 07:27
Detinator Steam: Da
SteamID: =
Fond eXtream: 0
Has thanked: 3 times
Contact:

30 Mar 2020, 12:56

Plugin Cerut: Gifts
Descriere (adica ce face el mai exact): Doresc si eu un plugin care sa spawneze pe orice harta cum ar fi de_dust2 / fy_buzzkill / de_train / de_inferno / de_westwood / de_aztec si etc , niste cadouri , precizez ca nu vreau sa spawneze cadouri cand moare un jucator , vreau niste cadouri care trebuie sa fie gasite de jucatori pentru a primi beneficii , mai exact acestea :
1. 10 Hp
2. 20 Ap
3. 1He
4. 1He+1flash
5. 20Ap+5Hp
6. 2000$
7.Cadou ghinionist , nici un premiu
Serverul impune conditii strict HLDS/REHLDS?: rehlds
Ai cautat pluginul?(daca da, precizeaza cum): Am cautat plugin-ul si am gasit doar cadouri pentru cand un jucator moare , sa ma scuzati daca acest plugin exista iar eu nu l-am gasit :freezing_face: Va multumesc !
Necesita mod special?: Nu
RoyalServer 2
User avatar
mariusexeqt
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 199
Joined: 01 Jan 2020, 22:55
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 4 times
Contact:

30 Mar 2020, 14:03

| Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < engine >
#include < fakemeta >
#include < fakemeta_util >
//#include < fun >
//#include < hamsandwich >
#include < CC_ColorChat >

#define PLUGIN_NAME	"Bonus Box"
#define PLUGIN_VERSION	"1.0"
#define PLUGIN_AUTHOR	"Laur"	// YONTU: i.am fixat eu toate bugurile

new const g_szTag[  ] = "[Bonus Box]";
new const szClassName[  ] = "BonusBox";

new Float:fMax[ 3 ] = { 10.0, 10.0, 25.0 };
new Float:fMin[ 3 ] = { -10.0, -10.0, 0.0 };

new Model[ 2 ][  ] = {

	"models/box_tero.mdl",
	"models/box_ct.mdl"
}

public plugin_init(  ) {
	
	register_plugin( PLUGIN_NAME, 
			PLUGIN_VERSION, 
			PLUGIN_AUTHOR );

	register_event( "HLTV", "event_RoundStart", "a", "1=0", "2=0" );
	register_event( "DeathMsg", "event_Death", "a" );

	register_forward( FM_CmdStart, "fw_CmdStart" );
	register_forward( FM_Touch, "fw_Touch" );

//	RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawn", 1 );
}

public plugin_precache(  )
	for( new i = 0; i < sizeof Model; i++ )
		precache_model( Model[ i ] );

public event_RoundStart(  ) {

	new iEnt = FM_NULLENT;
	static string_class[  ] = "classname";

	while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, string_class, szClassName ) ) )
		set_pev( iEnt, pev_flags, FL_KILLME );

	new szPlayers[ 32 ], iNum;
	get_players( szPlayers, iNum, "p" );
}

public event_Death(  ) {

	AddBonusBox( read_data( 2 ) );
	
	return 1;
}

public fw_CmdStart( id, uc_handle, seed ) {

	new iEnt = fm_find_ent_by_class( id, szClassName );

	if( is_valid_ent( iEnt ) ) {

		new ClassName[ 32 ];
		pev( iEnt, pev_classname, ClassName, 31 );

		if( equal( ClassName, szClassName ) ) {
			
			if( pev( iEnt, pev_frame ) >= 120 )
				set_pev( iEnt, pev_frame, 0.0);
			else
				set_pev( iEnt, pev_frame, pev( iEnt, pev_frame ) + 1.0 );
			
			switch( pev( iEnt, pev_team ) ) {
				
				case 1: { }
				case 2: { }
			}
		}
	}
}

public AddBonusBox( id ) {

	if( is_user_connected( id ) && cs_get_user_team( id ) != CS_TEAM_SPECTATOR ) {

		new iEnt = fm_create_entity( "info_target" );

		new Float:fOrigin[ 3 ];
		new iOrigin[ 3 ];
		get_user_origin( id, iOrigin, 0 );

		set_pev( iEnt, pev_classname, szClassName );

		switch( cs_get_user_team( id ) ) {

			case CS_TEAM_T: {

				engfunc( EngFunc_SetModel, iEnt, Model[ 1 ] );

				set_pev( iEnt, pev_team, 2 );
			}
			
			case CS_TEAM_CT: {

				engfunc( EngFunc_SetModel, iEnt, Model[ 0 ] );

				set_pev( iEnt, pev_team, 1 );
			}
		}

		set_pev( iEnt, pev_mins, fMin );
		set_pev( iEnt, pev_maxs, fMax );
		set_pev( iEnt, pev_size, fMin, fMax );		// -- | - | A | - | --
		entity_set_size( iEnt, fMin, fMax );

		set_pev( iEnt, pev_solid, SOLID_BBOX );
		set_pev( iEnt, pev_movetype, MOVETYPE_TOSS );

		IVecFVec( iOrigin, fOrigin );
		set_pev( iEnt, pev_origin, fOrigin );
	}
}

public fw_Touch( iToucher, iTouched ) {

	if( !is_user_alive( iToucher ) || !pev_valid( iTouched ) )
		return FMRES_IGNORED;
	
	new ClassName[ 32 ];
	pev( iTouched, pev_classname, ClassName, 31 );

	if( !equal( ClassName, szClassName ) )
		return FMRES_IGNORED;
	
	if( get_user_team( iToucher) == pev( iTouched, pev_team ) ) {

		GiveBonus( iToucher );

		set_pev( iTouched, pev_effects, EF_NODRAW );
		set_pev( iTouched, pev_solid, SOLID_NOT );

		remove_entity( iTouched );
	}

	return FMRES_IGNORED;
}

public GiveBonus( id ) {
	
	if( cs_get_user_team( id ) == CS_TEAM_T ) {

		switch( random_num( 1, 10 ) ) {

			case 1: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 2: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
				//ColorChat( id, GREEN, "%s^x01 !!!", g_szTag );
			}

			case 3:
			{
				if( !user_has_weapon( id, CSW_HEGRENADE ) )
					fm_give_item( id, "weapon_hegrenade" );

				else
					cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit^x03 o grenada HE^x01 !!!", g_szTag );
			}

			case 4: {

				if( !user_has_weapon( id, CSW_SMOKEGRENADE ) )
					fm_give_item( id, "weapon_smokegrenade" );

				else
					cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit^x03 o grenada Frost^x01 !!!", g_szTag );
			}

			case 5: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 6: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
	
			case 7: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 8: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 9: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 10: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
		}
	}

	else {	// CT ?

		switch( random_num( 1, 11 ) ) {
			
			case 1: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 2: {
				
				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 3:
			{
				if( !user_has_weapon( id, CSW_HEGRENADE ) )
					fm_give_item( id, "weapon_hegrenade" );

				else
					cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01Ai primit^x03 o grenada HE^x01 !!!", g_szTag );
			}

			case 4: {

				if( !user_has_weapon( id, CSW_SMOKEGRENADE ) )
					fm_give_item( id, "weapon_smokegrenade" );

				else
					cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit ^x03 o grenada Frost^x01 !!!", g_szTag );
			}

			case 5: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 6: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 7: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 8: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 9: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 10: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 11: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
		}
	}
}
Last edited by mariusexeqt on 30 Mar 2020, 14:07, edited 1 time in total.
User avatar
EleCtr0zZz
Membru, skill +1
Membru, skill +1
Posts: 428
Joined: 25 May 2015, 07:27
Detinator Steam: Da
SteamID: =
Fond eXtream: 0
Has thanked: 3 times
Contact:

30 Mar 2020, 14:06

Poti scoate te rog smoke-ul? Si sa pui hp , ap , $ si ce am mai cerut , multumesc !
User avatar
mariusexeqt
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 199
Joined: 01 Jan 2020, 22:55
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 4 times
Contact:

30 Mar 2020, 14:08

probeaza l ca sa stiu daca asta e cel pe care il vrei, si dupa iti modific
User avatar
EleCtr0zZz
Membru, skill +1
Membru, skill +1
Posts: 428
Joined: 25 May 2015, 07:27
Detinator Steam: Da
SteamID: =
Fond eXtream: 0
Has thanked: 3 times
Contact:

30 Mar 2020, 14:24

mariusexeqt wrote:
30 Mar 2020, 14:08
probeaza l ca sa stiu daca asta e cel pe care il vrei, si dupa iti modific
eroare la compilat
| Afiseaza codul
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

easter.sma(8) : fatal error 100: cannot read from file: "CC_ColorChat"

Compilation aborted.
1 Error.
Could not locate output file easter.amx (compile failed).
User avatar
mariusexeqt
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 199
Joined: 01 Jan 2020, 22:55
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 4 times
Contact:

30 Mar 2020, 16:38

| Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < engine >
#include < fakemeta >
#include < fakemeta_util >
//#include < fun >
//#include < hamsandwich >
#include < ColorChat >

#define PLUGIN_NAME	"Bonus Box"
#define PLUGIN_VERSION	"1.0"
#define PLUGIN_AUTHOR	"Laur"	// YONTU: i.am fixat eu toate bugurile

new const g_szTag[  ] = "[Bonus Box]";
new const szClassName[  ] = "BonusBox";

new Float:fMax[ 3 ] = { 10.0, 10.0, 25.0 };
new Float:fMin[ 3 ] = { -10.0, -10.0, 0.0 };

new Model[ 2 ][  ] = {

	"models/box_tero.mdl",
	"models/box_ct.mdl"
}

public plugin_init(  ) {
	
	register_plugin( PLUGIN_NAME, 
			PLUGIN_VERSION, 
			PLUGIN_AUTHOR );

	register_event( "HLTV", "event_RoundStart", "a", "1=0", "2=0" );
	register_event( "DeathMsg", "event_Death", "a" );

	register_forward( FM_CmdStart, "fw_CmdStart" );
	register_forward( FM_Touch, "fw_Touch" );

//	RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawn", 1 );
}

public plugin_precache(  )
	for( new i = 0; i < sizeof Model; i++ )
		precache_model( Model[ i ] );

public event_RoundStart(  ) {

	new iEnt = FM_NULLENT;
	static string_class[  ] = "classname";

	while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, string_class, szClassName ) ) )
		set_pev( iEnt, pev_flags, FL_KILLME );

	new szPlayers[ 32 ], iNum;
	get_players( szPlayers, iNum, "p" );
}

public event_Death(  ) {

	AddBonusBox( read_data( 2 ) );
	
	return 1;
}

public fw_CmdStart( id, uc_handle, seed ) {

	new iEnt = fm_find_ent_by_class( id, szClassName );

	if( is_valid_ent( iEnt ) ) {

		new ClassName[ 32 ];
		pev( iEnt, pev_classname, ClassName, 31 );

		if( equal( ClassName, szClassName ) ) {
			
			if( pev( iEnt, pev_frame ) >= 120 )
				set_pev( iEnt, pev_frame, 0.0);
			else
				set_pev( iEnt, pev_frame, pev( iEnt, pev_frame ) + 1.0 );
			
			switch( pev( iEnt, pev_team ) ) {
				
				case 1: { }
				case 2: { }
			}
		}
	}
}

public AddBonusBox( id ) {

	if( is_user_connected( id ) && cs_get_user_team( id ) != CS_TEAM_SPECTATOR ) {

		new iEnt = fm_create_entity( "info_target" );

		new Float:fOrigin[ 3 ];
		new iOrigin[ 3 ];
		get_user_origin( id, iOrigin, 0 );

		set_pev( iEnt, pev_classname, szClassName );

		switch( cs_get_user_team( id ) ) {

			case CS_TEAM_T: {

				engfunc( EngFunc_SetModel, iEnt, Model[ 1 ] );

				set_pev( iEnt, pev_team, 2 );
			}
			
			case CS_TEAM_CT: {

				engfunc( EngFunc_SetModel, iEnt, Model[ 0 ] );

				set_pev( iEnt, pev_team, 1 );
			}
		}

		set_pev( iEnt, pev_mins, fMin );
		set_pev( iEnt, pev_maxs, fMax );
		set_pev( iEnt, pev_size, fMin, fMax );		// -- | - | A | - | --
		entity_set_size( iEnt, fMin, fMax );

		set_pev( iEnt, pev_solid, SOLID_BBOX );
		set_pev( iEnt, pev_movetype, MOVETYPE_TOSS );

		IVecFVec( iOrigin, fOrigin );
		set_pev( iEnt, pev_origin, fOrigin );
	}
}

public fw_Touch( iToucher, iTouched ) {

	if( !is_user_alive( iToucher ) || !pev_valid( iTouched ) )
		return FMRES_IGNORED;
	
	new ClassName[ 32 ];
	pev( iTouched, pev_classname, ClassName, 31 );

	if( !equal( ClassName, szClassName ) )
		return FMRES_IGNORED;
	
	if( get_user_team( iToucher) == pev( iTouched, pev_team ) ) {

		GiveBonus( iToucher );

		set_pev( iTouched, pev_effects, EF_NODRAW );
		set_pev( iTouched, pev_solid, SOLID_NOT );

		remove_entity( iTouched );
	}

	return FMRES_IGNORED;
}

public GiveBonus( id ) {
	
	if( cs_get_user_team( id ) == CS_TEAM_T ) {

		switch( random_num( 1, 10 ) ) {

			case 1: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 2: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
				//ColorChat( id, GREEN, "%s^x01 !!!", g_szTag );
			}

			case 3:
			{
				if( !user_has_weapon( id, CSW_HEGRENADE ) )
					fm_give_item( id, "weapon_hegrenade" );

				else
					cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit^x03 o grenada HE^x01 !!!", g_szTag );
			}

			case 4: {

				if( !user_has_weapon( id, CSW_SMOKEGRENADE ) )
					fm_give_item( id, "weapon_smokegrenade" );

				else
					cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit^x03 o grenada Frost^x01 !!!", g_szTag );
			}

			case 5: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 6: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
	
			case 7: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 8: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 9: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 10: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
		}
	}

	else {	// CT ?

		switch( random_num( 1, 11 ) ) {
			
			case 1: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 2: {
				
				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 3:
			{
				if( !user_has_weapon( id, CSW_HEGRENADE ) )
					fm_give_item( id, "weapon_hegrenade" );

				else
					cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01Ai primit^x03 o grenada HE^x01 !!!", g_szTag );
			}

			case 4: {

				if( !user_has_weapon( id, CSW_SMOKEGRENADE ) )
					fm_give_item( id, "weapon_smokegrenade" );

				else
					cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit ^x03 o grenada Frost^x01 !!!", g_szTag );
			}

			case 5: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 6: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 7: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 8: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 9: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 10: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 11: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
		}
	}
}
User avatar
EleCtr0zZz
Membru, skill +1
Membru, skill +1
Posts: 428
Joined: 25 May 2015, 07:27
Detinator Steam: Da
SteamID: =
Fond eXtream: 0
Has thanked: 3 times
Contact:

30 Mar 2020, 17:02

mariusexeqt wrote:
30 Mar 2020, 16:38
| Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < engine >
#include < fakemeta >
#include < fakemeta_util >
//#include < fun >
//#include < hamsandwich >
#include < ColorChat >

#define PLUGIN_NAME	"Bonus Box"
#define PLUGIN_VERSION	"1.0"
#define PLUGIN_AUTHOR	"Laur"	// YONTU: i.am fixat eu toate bugurile

new const g_szTag[  ] = "[Bonus Box]";
new const szClassName[  ] = "BonusBox";

new Float:fMax[ 3 ] = { 10.0, 10.0, 25.0 };
new Float:fMin[ 3 ] = { -10.0, -10.0, 0.0 };

new Model[ 2 ][  ] = {

	"models/box_tero.mdl",
	"models/box_ct.mdl"
}

public plugin_init(  ) {
	
	register_plugin( PLUGIN_NAME, 
			PLUGIN_VERSION, 
			PLUGIN_AUTHOR );

	register_event( "HLTV", "event_RoundStart", "a", "1=0", "2=0" );
	register_event( "DeathMsg", "event_Death", "a" );

	register_forward( FM_CmdStart, "fw_CmdStart" );
	register_forward( FM_Touch, "fw_Touch" );

//	RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawn", 1 );
}

public plugin_precache(  )
	for( new i = 0; i < sizeof Model; i++ )
		precache_model( Model[ i ] );

public event_RoundStart(  ) {

	new iEnt = FM_NULLENT;
	static string_class[  ] = "classname";

	while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, string_class, szClassName ) ) )
		set_pev( iEnt, pev_flags, FL_KILLME );

	new szPlayers[ 32 ], iNum;
	get_players( szPlayers, iNum, "p" );
}

public event_Death(  ) {

	AddBonusBox( read_data( 2 ) );
	
	return 1;
}

public fw_CmdStart( id, uc_handle, seed ) {

	new iEnt = fm_find_ent_by_class( id, szClassName );

	if( is_valid_ent( iEnt ) ) {

		new ClassName[ 32 ];
		pev( iEnt, pev_classname, ClassName, 31 );

		if( equal( ClassName, szClassName ) ) {
			
			if( pev( iEnt, pev_frame ) >= 120 )
				set_pev( iEnt, pev_frame, 0.0);
			else
				set_pev( iEnt, pev_frame, pev( iEnt, pev_frame ) + 1.0 );
			
			switch( pev( iEnt, pev_team ) ) {
				
				case 1: { }
				case 2: { }
			}
		}
	}
}

public AddBonusBox( id ) {

	if( is_user_connected( id ) && cs_get_user_team( id ) != CS_TEAM_SPECTATOR ) {

		new iEnt = fm_create_entity( "info_target" );

		new Float:fOrigin[ 3 ];
		new iOrigin[ 3 ];
		get_user_origin( id, iOrigin, 0 );

		set_pev( iEnt, pev_classname, szClassName );

		switch( cs_get_user_team( id ) ) {

			case CS_TEAM_T: {

				engfunc( EngFunc_SetModel, iEnt, Model[ 1 ] );

				set_pev( iEnt, pev_team, 2 );
			}
			
			case CS_TEAM_CT: {

				engfunc( EngFunc_SetModel, iEnt, Model[ 0 ] );

				set_pev( iEnt, pev_team, 1 );
			}
		}

		set_pev( iEnt, pev_mins, fMin );
		set_pev( iEnt, pev_maxs, fMax );
		set_pev( iEnt, pev_size, fMin, fMax );		// -- | - | A | - | --
		entity_set_size( iEnt, fMin, fMax );

		set_pev( iEnt, pev_solid, SOLID_BBOX );
		set_pev( iEnt, pev_movetype, MOVETYPE_TOSS );

		IVecFVec( iOrigin, fOrigin );
		set_pev( iEnt, pev_origin, fOrigin );
	}
}

public fw_Touch( iToucher, iTouched ) {

	if( !is_user_alive( iToucher ) || !pev_valid( iTouched ) )
		return FMRES_IGNORED;
	
	new ClassName[ 32 ];
	pev( iTouched, pev_classname, ClassName, 31 );

	if( !equal( ClassName, szClassName ) )
		return FMRES_IGNORED;
	
	if( get_user_team( iToucher) == pev( iTouched, pev_team ) ) {

		GiveBonus( iToucher );

		set_pev( iTouched, pev_effects, EF_NODRAW );
		set_pev( iTouched, pev_solid, SOLID_NOT );

		remove_entity( iTouched );
	}

	return FMRES_IGNORED;
}

public GiveBonus( id ) {
	
	if( cs_get_user_team( id ) == CS_TEAM_T ) {

		switch( random_num( 1, 10 ) ) {

			case 1: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 2: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
				//ColorChat( id, GREEN, "%s^x01 !!!", g_szTag );
			}

			case 3:
			{
				if( !user_has_weapon( id, CSW_HEGRENADE ) )
					fm_give_item( id, "weapon_hegrenade" );

				else
					cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit^x03 o grenada HE^x01 !!!", g_szTag );
			}

			case 4: {

				if( !user_has_weapon( id, CSW_SMOKEGRENADE ) )
					fm_give_item( id, "weapon_smokegrenade" );

				else
					cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit^x03 o grenada Frost^x01 !!!", g_szTag );
			}

			case 5: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 6: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
	
			case 7: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 8: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 9: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 10: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
		}
	}

	else {	// CT ?

		switch( random_num( 1, 11 ) ) {
			
			case 1: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 2: {
				
				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 3:
			{
				if( !user_has_weapon( id, CSW_HEGRENADE ) )
					fm_give_item( id, "weapon_hegrenade" );

				else
					cs_set_user_bpammo( id, CSW_HEGRENADE, cs_get_user_bpammo( id, CSW_HEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01Ai primit^x03 o grenada HE^x01 !!!", g_szTag );
			}

			case 4: {

				if( !user_has_weapon( id, CSW_SMOKEGRENADE ) )
					fm_give_item( id, "weapon_smokegrenade" );

				else
					cs_set_user_bpammo( id, CSW_SMOKEGRENADE, cs_get_user_bpammo( id, CSW_SMOKEGRENADE ) + 1 );

				ColorChat( id, GREEN, "%s^x01 Ai primit ^x03 o grenada Frost^x01 !!!", g_szTag );
			}

			case 5: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 6: {

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 7: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 8: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 9: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 10: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}

			case 11: {	

				ColorChat( id, GREEN, "%s^x01 De data asta, nu ai primit nimic !!!", g_szTag );
			}
		}
	}
}
acest plugin pune acel ou cand moare un jucator , nu poti face sa se spawneze oua random? adica sa nu trebuiasca sa moara un t / ct , sa fie puse deja pe mapa
User avatar
mariusexeqt
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 199
Joined: 01 Jan 2020, 22:55
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 4 times
Contact:

30 Mar 2020, 17:27

| Afiseaza codul
 
/*
======================================
==========GIFTS 2.2 ============
======================================
 
Autor: KronoS
Versiune: 2.2
Site: <a href="http://www.WarGods.ro" target="_blank">www.WarGods.ro</a>
 
Credite:
FakeNick - pentru pluginul Pick up present de unde a pornit tot
AlinHD - pentru pluginul de cadouri facut de el dar care nu l-a publicat
joropito - pentru Super Spawns
si alte persoane pentru informatii despre entitati
 
C-var-uri:
presents_respawn_time 60.0 (Dupa cat timp dupa ridicarea unui cadou apare altul pe harta)
presents_on_map 11 (Cate cadouri sa apara pe harta)
ATENTIE: Se calculeaza numarul c-var-ului - 1!!!
Daca puneti 11 or sa apara doar 10 cadouri!
 
Changelog:
_______________________________
V 2.0
-super spawns
-cvar: presents_on_map
_______________________________
V 2.1
-bug reparat: cadourile apareau in aer
-variabila globala
-FUN -> Fakemeta
-Hamsandwich
-optimizare mesaje HUD
_______________________________
V 2.2
-bug reparat: cadourile dispareau de pe harta
-FM_Think indepartat
_______________________________
*/
 
#include <amxmodx>
#include <amxmisc>
 
/* Module necesare */
#include <fakemeta>
#include <hamsandwich>
#include <engine>
 
/* INC-uri */
#include <cellarray>
#include <xs>
 
/* Model la cadouri */
new const model_present[][] = { "models/present/w_present.mdl","models/present/w_present2.mdl" }
 
/* Extras din Fakemeta Util */
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
 
/* Extras din Super Spawns */
#define SS_VERSION	"1.0"
#define SS_MIN_DISTANCE	500.0
#define SS_MAX_LOOPS	100000
 
new Array:g_vecSsOrigins
new Array:g_vecSsSpawns
new Array:g_vecSsUsed
new Float:g_flSsMinDist
new g_iSsTime
 
new const g_szStarts[][] = { "info_player_start", "info_player_deathmatch" }
new const Float:g_flOffsets[] = { 3500.0, 3500.0, 1500.0 }
 
/* Offset-uri */
#if cellbits == 32
const OFFSET_CSMONEY = 115
#else
const OFFSET_CSMONEY = 140
#endif
const OFFSET_LINUX  = 5
 
new pcvar_respawn_time, pcvar_presents_on_map
new g_money
new g_bonus[33]
 
public plugin_init()
{
	register_plugin(" GIFTS", "2.2", "KronoS")
 
	/*====================================
	==============Eventuri==============*/
 
	register_event("HLTV", "spawn_gifts", "a", "1=0", "2=0")
	RegisterHam(Ham_Spawn, "player", "round_start", 1)
	RegisterHam(Ham_Killed, "player", "client_death", 1)
    	RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFramePost", 1)
	register_forward(FM_Touch,"forward_touch")
 
	/*====================================
	==============Cvar-uri==============*/
 
	pcvar_respawn_time = register_cvar("presents_respawn_time","60.0")
	pcvar_presents_on_map = register_cvar("presents_on_map", "11")
 
	SsInit(800.0)
	SsScan()
 
	g_money = get_user_msgid("Money")
}
 
public plugin_precache()
{
	new i
	for(i = 0; i < sizeof model_present; i++)
		engfunc(EngFunc_PrecacheModel,model_present)
}
 
public spawn_gifts()
{
	func_spawn()
}
 
public round_start(id)
{
	if(g_bonus[id] > 0)
	{
		switch(g_bonus[id])
		{
			case 1:
			{
				fm_set_user_health(id, get_user_health(id) + 50)
			}
			case 2:
			{
				fm_set_user_gravity(id, 0.4)
			}
		}
	}
}
 
public func_spawn()
{
        new Float:origin[3]
	new i
 
	for(i=0; i< get_pcvar_num(pcvar_presents_on_map); i++)
	{
        if(SsGetOrigin(origin))
        {
                new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
                if(pev_valid(ent))
                {
                        engfunc(EngFunc_SetModel,ent,model_present[random_num(0,sizeof model_present - 1)])
                        engfunc(EngFunc_SetOrigin, ent, origin)
			static Float:fMaxs[3] = { 2.0, 2.0, 4.0 }
			static Float:fMins[3] = { -2.0, -2.0, -4.0 }
			set_pev(ent,pev_solid,SOLID_BBOX)
			engfunc(EngFunc_SetSize,ent,fMins,fMaxs)
			engfunc(EngFunc_DropToFloor, ent)
 
			switch(random_num(0,1))
			{
				case 0:
				{
					set_pev(ent,pev_classname,"small_present")
				}
				case 1:
				{
					set_pev(ent,pev_classname,"large_present")
				}
			}
                }
        }
	}
}
 
public client_death(id)
{
	if(g_bonus[id] > 0)
	{
		g_bonus[id] = 0
	}
}
 
public FwdPreFramePost(iClient)
{
	if(is_user_connected(iClient))
	{
		if(g_bonus[iClient] == 3)
		{
    			fm_set_user_maxspeed(iClient, 350.0)
		}
		if(g_bonus[iClient] == 4)
		{
    			fm_set_user_maxspeed(iClient, 200.0)
		}
	}
}  
 
public forward_touch(ent,id)
{
	if(!pev_valid(ent))
		return FMRES_IGNORED
 
	static class[20]
 
	pev(ent,pev_classname,class,sizeof class - 1)
 
	if((!equali(class,"small_present") && !equali(class,"large_present")))
		return FMRES_IGNORED
 
	if((equali(class,"large_present") && (g_bonus[id] > 0)))
		return FMRES_IGNORED
 
	if(!is_user_alive(id))
		return FMRES_IGNORED
 
	set_pev(ent,pev_solid,SOLID_NOT)
	set_pev(ent,pev_effects,EF_NODRAW)
	set_task(get_pcvar_float(pcvar_respawn_time), "func_spawn", ent)
 
	if(equali(class,"small_present"))
	{
	switch(random_num(0,4))
	{
		case 0: 
		{
			fm_set_user_money(id, fm_get_user_money(id) + 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 500$")
		}
		case 1:
		{
			fm_set_user_money(id, 16000)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 16000$")
		}
		case 2:
		{
			fm_set_user_money(id, 0)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ghinion, ai pierdut toti banii")
		}
		case 3:
		{
			fm_set_user_money(id, fm_get_user_money(id) - 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai pierdut 500$")
		}
		case 4:
		{
			fm_give_item(id, "weapon_awp")
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit AWP")
		}
	}
	}
	if(equali(class,"large_present"))
	{
	switch(random_num(0,3))
	{
		case 0: 
		{
			fm_set_user_health(id, get_user_health(id) + 50)
			g_bonus[id] = 1
			large_present_hud(id)
		}
		case 1:
		{
			fm_set_user_gravity(id, 0.4)
			g_bonus[id] = 2
			large_present_hud(id)
		}
		case 2:
		{
			fm_set_user_maxspeed(id, 350.0)
			g_bonus[id] = 3
			large_present_hud(id)
		}
		case 3:
		{
			fm_set_user_maxspeed(id, 200.0)
			g_bonus[id] = 4
			large_present_hud(id)
		}
	}
	}
 
	return FMRES_IGNORED
}
 
public large_present_hud(id)
{
	if(is_user_alive(id))
	{
		if(g_bonus[id] > 0)
		{
			switch(g_bonus[id])
			{
				case 1:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[ Gift] Viata+")
				}
				case 2:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Gravitatie-")
				}
				case 3:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viteza+")
				}
				case 4:
				{
					set_hudmessage(200, 0, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "Gift] Viteza-")
				}
			}
			set_task(12.0, "large_present_hud", id)
		}
	}
}
 
public client_disconnect(id)
{
	g_bonus[id] = 0
}
 
/*====================================
========Inceput Fakemeta Util=======*/
 
stock fm_set_user_money(id,money,flash=1)
{
	set_pdata_int(id,OFFSET_CSMONEY,money,OFFSET_LINUX  )
 
	message_begin(MSG_ONE,g_money,{0,0,0},id)
	write_long(money)
	write_byte(flash)
	message_end()
}
 
stock fm_get_user_money(id)
{
	return get_pdata_int(id,OFFSET_CSMONEY,OFFSET_LINUX)
}
 
stock fm_set_user_health(id, health)
{
	(health > 0) ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id)
 
	return 1
}
 
stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0
 
	new ent = fm_create_entity(item)
	if (!pev_valid(ent))
		return 0
 
	new Float:origin[3]
	pev(index, pev_origin, origin)
	set_pev(ent, pev_origin, origin)
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
	dllfunc(DLLFunc_Spawn, ent)
 
	new save = pev(ent, pev_solid)
	dllfunc(DLLFunc_Touch, ent, index)
	if (pev(ent, pev_solid) != save)
		return ent
 
	engfunc(EngFunc_RemoveEntity, ent)
 
	return -1
}
 
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
	set_pev(index, pev_gravity, gravity)
 
	return 1
}
 
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);
 
	return 1;
}
 
/*====================================
========Sfarsit Fakemeta Util=======*/
 
/*====================================
========Inceput Super Spawns========*/
 
public SsInit(Float:mindist)
{
	new cmd[32]
	format(cmd, 15, "_ss_dump%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'))
	register_cvar("sv_superspawns", SS_VERSION, (FCVAR_SERVER|FCVAR_SPONLY))
	register_concmd(cmd, "SsDump")
 
	g_flSsMinDist = mindist
	g_vecSsOrigins = ArrayCreate(3, 1)
	g_vecSsSpawns = ArrayCreate(3, 1)
	g_vecSsUsed = ArrayCreate(3, 1)
}
 
stock SsClean()
{
	g_flSsMinDist = 0.0
	ArrayClear(g_vecSsOrigins)
	ArrayClear(g_vecSsSpawns)
	ArrayClear(g_vecSsUsed)
}
 
stock SsGetOrigin(Float:origin[3])
{
	new Float:data[3], size
	new ok = 1
 
	while((size = ArraySize(g_vecSsOrigins)))
	{
		new idx = random_num(0, size - 1)
 
		ArrayGetArray(g_vecSsOrigins, idx, origin)
 
		new used = ArraySize(g_vecSsUsed)
		for(new i = 0; i < used; i++)
		{
			ok = 0
			ArrayGetArray(g_vecSsUsed, i, data)
			if(get_distance_f(data, origin) >= g_flSsMinDist)
			{
				ok = 1
				break
			}
		}
 
		ArrayDeleteItem(g_vecSsOrigins, idx)
		if(ok)
		{
			ArrayPushArray(g_vecSsUsed, origin)
			return true
		}
	}
	return false
}
 
public SsDump()
{
	new Float:origin[3]
	new count = ArraySize(g_vecSsOrigins)
	server_print("-------------------------------------------------------")
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, origin)
		server_print("Origin: %f %f %f", origin[0], origin[1], origin[2])
	}
	server_print("-------------------------------------------------------")
	server_print("Number of origins: %i", count)
	server_print("Time: %i", g_iSsTime)
	server_print("-------------------------------------------------------")
}
 
public SsScan()
{
	new start, Float:origin[3], starttime
	starttime = get_systime()
	for(start = 0; start < sizeof(g_szStarts); start++)
	{
		server_print("Searching for %s", g_szStarts[start])
		new ent
		if((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", g_szStarts[start])))
		{
			new counter
			pev(ent, pev_origin, origin)
			ArrayPushArray(g_vecSsSpawns, origin)
			while(counter < SS_MAX_LOOPS)
			{
				counter = GetLocation(origin, counter)
			}
		}
	}
	g_iSsTime = get_systime()
	g_iSsTime -= starttime
}
 
GetLocation(Float:start[3], &counter)
{
	new Float:end[3]
	for(new i = 0; i < 3; i++)
	{
		end += random_float(0.0 - g_flOffsets, g_flOffsets)
	}
 
	if(IsValid(start, end))
	{
		start[0] = end[0]
		start[1] = end[1]
		start[2] = end[2]
		ArrayPushArray(g_vecSsOrigins, end)
	}
	counter++
	return counter
}
 
IsValid(Float:start[3], Float:end[3])
{
	SetFloor(end)
	end[2] += 36.0
	new point = engfunc(EngFunc_PointContents, end)
	if(point == CONTENTS_EMPTY)
	{
		if(CheckPoints(end) && CheckDistance(end) && CheckVisibility(start, end))
		{
			if(!trace_hull(end, HULL_LARGE, -1))
			{
				return true
			}
		}
	}
	return false
}
 
CheckVisibility(Float:start[3], Float:end[3])
{
	new tr
	engfunc(EngFunc_TraceLine, start, end, IGNORE_GLASS, -1, tr)
	return (get_tr2(tr, TR_pHit) < 0)
}
 
SetFloor(Float:start[3])
{
	new tr, Float:end[3]
	end[0] = start[0]
	end[1] = start[1]
	end[2] = -99999.9
	engfunc(EngFunc_TraceLine, start, end, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, start)
}
 
CheckPoints(Float:origin[3])
{
	new Float:data[3], tr, point
	data[0] = origin[0]
	data[1] = origin[1]
	data[2] = 99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point == CONTENTS_SKY && get_distance_f(origin, data) < 250.0)
	{
		return false
	}
	data[2] = -99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point < CONTENTS_SOLID)
		return false
 
	return true
}
 
CheckDistance(Float:origin[3])
{
	new Float:dist, Float:data[3]
	new count = ArraySize(g_vecSsSpawns)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsSpawns, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	count = ArraySize(g_vecSsOrigins)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	return true
}
 
/*====================================
========Sfarsit Super Spawns========*/


cauti niste modele de "cutii"
"models/present/w_present.mdl","models/present/w_present2.mdl" }
User avatar
EleCtr0zZz
Membru, skill +1
Membru, skill +1
Posts: 428
Joined: 25 May 2015, 07:27
Detinator Steam: Da
SteamID: =
Fond eXtream: 0
Has thanked: 3 times
Contact:

30 Mar 2020, 17:35

mariusexeqt wrote:
30 Mar 2020, 17:27
| Afiseaza codul
 
/*
======================================
==========GIFTS 2.2 ============
======================================
 
Autor: KronoS
Versiune: 2.2
Site: <a href="http://www.WarGods.ro" target="_blank">www.WarGods.ro</a>
 
Credite:
FakeNick - pentru pluginul Pick up present de unde a pornit tot
AlinHD - pentru pluginul de cadouri facut de el dar care nu l-a publicat
joropito - pentru Super Spawns
si alte persoane pentru informatii despre entitati
 
C-var-uri:
presents_respawn_time 60.0 (Dupa cat timp dupa ridicarea unui cadou apare altul pe harta)
presents_on_map 11 (Cate cadouri sa apara pe harta)
ATENTIE: Se calculeaza numarul c-var-ului - 1!!!
Daca puneti 11 or sa apara doar 10 cadouri!
 
Changelog:
_______________________________
V 2.0
-super spawns
-cvar: presents_on_map
_______________________________
V 2.1
-bug reparat: cadourile apareau in aer
-variabila globala
-FUN -> Fakemeta
-Hamsandwich
-optimizare mesaje HUD
_______________________________
V 2.2
-bug reparat: cadourile dispareau de pe harta
-FM_Think indepartat
_______________________________
*/
 
#include <amxmodx>
#include <amxmisc>
 
/* Module necesare */
#include <fakemeta>
#include <hamsandwich>
#include <engine>
 
/* INC-uri */
#include <cellarray>
#include <xs>
 
/* Model la cadouri */
new const model_present[][] = { "models/present/w_present.mdl","models/present/w_present2.mdl" }
 
/* Extras din Fakemeta Util */
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
 
/* Extras din Super Spawns */
#define SS_VERSION	"1.0"
#define SS_MIN_DISTANCE	500.0
#define SS_MAX_LOOPS	100000
 
new Array:g_vecSsOrigins
new Array:g_vecSsSpawns
new Array:g_vecSsUsed
new Float:g_flSsMinDist
new g_iSsTime
 
new const g_szStarts[][] = { "info_player_start", "info_player_deathmatch" }
new const Float:g_flOffsets[] = { 3500.0, 3500.0, 1500.0 }
 
/* Offset-uri */
#if cellbits == 32
const OFFSET_CSMONEY = 115
#else
const OFFSET_CSMONEY = 140
#endif
const OFFSET_LINUX  = 5
 
new pcvar_respawn_time, pcvar_presents_on_map
new g_money
new g_bonus[33]
 
public plugin_init()
{
	register_plugin(" GIFTS", "2.2", "KronoS")
 
	/*====================================
	==============Eventuri==============*/
 
	register_event("HLTV", "spawn_gifts", "a", "1=0", "2=0")
	RegisterHam(Ham_Spawn, "player", "round_start", 1)
	RegisterHam(Ham_Killed, "player", "client_death", 1)
    	RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFramePost", 1)
	register_forward(FM_Touch,"forward_touch")
 
	/*====================================
	==============Cvar-uri==============*/
 
	pcvar_respawn_time = register_cvar("presents_respawn_time","60.0")
	pcvar_presents_on_map = register_cvar("presents_on_map", "11")
 
	SsInit(800.0)
	SsScan()
 
	g_money = get_user_msgid("Money")
}
 
public plugin_precache()
{
	new i
	for(i = 0; i < sizeof model_present; i++)
		engfunc(EngFunc_PrecacheModel,model_present)
}
 
public spawn_gifts()
{
	func_spawn()
}
 
public round_start(id)
{
	if(g_bonus[id] > 0)
	{
		switch(g_bonus[id])
		{
			case 1:
			{
				fm_set_user_health(id, get_user_health(id) + 50)
			}
			case 2:
			{
				fm_set_user_gravity(id, 0.4)
			}
		}
	}
}
 
public func_spawn()
{
        new Float:origin[3]
	new i
 
	for(i=0; i< get_pcvar_num(pcvar_presents_on_map); i++)
	{
        if(SsGetOrigin(origin))
        {
                new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
                if(pev_valid(ent))
                {
                        engfunc(EngFunc_SetModel,ent,model_present[random_num(0,sizeof model_present - 1)])
                        engfunc(EngFunc_SetOrigin, ent, origin)
			static Float:fMaxs[3] = { 2.0, 2.0, 4.0 }
			static Float:fMins[3] = { -2.0, -2.0, -4.0 }
			set_pev(ent,pev_solid,SOLID_BBOX)
			engfunc(EngFunc_SetSize,ent,fMins,fMaxs)
			engfunc(EngFunc_DropToFloor, ent)
 
			switch(random_num(0,1))
			{
				case 0:
				{
					set_pev(ent,pev_classname,"small_present")
				}
				case 1:
				{
					set_pev(ent,pev_classname,"large_present")
				}
			}
                }
        }
	}
}
 
public client_death(id)
{
	if(g_bonus[id] > 0)
	{
		g_bonus[id] = 0
	}
}
 
public FwdPreFramePost(iClient)
{
	if(is_user_connected(iClient))
	{
		if(g_bonus[iClient] == 3)
		{
    			fm_set_user_maxspeed(iClient, 350.0)
		}
		if(g_bonus[iClient] == 4)
		{
    			fm_set_user_maxspeed(iClient, 200.0)
		}
	}
}  
 
public forward_touch(ent,id)
{
	if(!pev_valid(ent))
		return FMRES_IGNORED
 
	static class[20]
 
	pev(ent,pev_classname,class,sizeof class - 1)
 
	if((!equali(class,"small_present") && !equali(class,"large_present")))
		return FMRES_IGNORED
 
	if((equali(class,"large_present") && (g_bonus[id] > 0)))
		return FMRES_IGNORED
 
	if(!is_user_alive(id))
		return FMRES_IGNORED
 
	set_pev(ent,pev_solid,SOLID_NOT)
	set_pev(ent,pev_effects,EF_NODRAW)
	set_task(get_pcvar_float(pcvar_respawn_time), "func_spawn", ent)
 
	if(equali(class,"small_present"))
	{
	switch(random_num(0,4))
	{
		case 0: 
		{
			fm_set_user_money(id, fm_get_user_money(id) + 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 500$")
		}
		case 1:
		{
			fm_set_user_money(id, 16000)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 16000$")
		}
		case 2:
		{
			fm_set_user_money(id, 0)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ghinion, ai pierdut toti banii")
		}
		case 3:
		{
			fm_set_user_money(id, fm_get_user_money(id) - 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai pierdut 500$")
		}
		case 4:
		{
			fm_give_item(id, "weapon_awp")
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit AWP")
		}
	}
	}
	if(equali(class,"large_present"))
	{
	switch(random_num(0,3))
	{
		case 0: 
		{
			fm_set_user_health(id, get_user_health(id) + 50)
			g_bonus[id] = 1
			large_present_hud(id)
		}
		case 1:
		{
			fm_set_user_gravity(id, 0.4)
			g_bonus[id] = 2
			large_present_hud(id)
		}
		case 2:
		{
			fm_set_user_maxspeed(id, 350.0)
			g_bonus[id] = 3
			large_present_hud(id)
		}
		case 3:
		{
			fm_set_user_maxspeed(id, 200.0)
			g_bonus[id] = 4
			large_present_hud(id)
		}
	}
	}
 
	return FMRES_IGNORED
}
 
public large_present_hud(id)
{
	if(is_user_alive(id))
	{
		if(g_bonus[id] > 0)
		{
			switch(g_bonus[id])
			{
				case 1:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[ Gift] Viata+")
				}
				case 2:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Gravitatie-")
				}
				case 3:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viteza+")
				}
				case 4:
				{
					set_hudmessage(200, 0, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "Gift] Viteza-")
				}
			}
			set_task(12.0, "large_present_hud", id)
		}
	}
}
 
public client_disconnect(id)
{
	g_bonus[id] = 0
}
 
/*====================================
========Inceput Fakemeta Util=======*/
 
stock fm_set_user_money(id,money,flash=1)
{
	set_pdata_int(id,OFFSET_CSMONEY,money,OFFSET_LINUX  )
 
	message_begin(MSG_ONE,g_money,{0,0,0},id)
	write_long(money)
	write_byte(flash)
	message_end()
}
 
stock fm_get_user_money(id)
{
	return get_pdata_int(id,OFFSET_CSMONEY,OFFSET_LINUX)
}
 
stock fm_set_user_health(id, health)
{
	(health > 0) ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id)
 
	return 1
}
 
stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0
 
	new ent = fm_create_entity(item)
	if (!pev_valid(ent))
		return 0
 
	new Float:origin[3]
	pev(index, pev_origin, origin)
	set_pev(ent, pev_origin, origin)
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
	dllfunc(DLLFunc_Spawn, ent)
 
	new save = pev(ent, pev_solid)
	dllfunc(DLLFunc_Touch, ent, index)
	if (pev(ent, pev_solid) != save)
		return ent
 
	engfunc(EngFunc_RemoveEntity, ent)
 
	return -1
}
 
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
	set_pev(index, pev_gravity, gravity)
 
	return 1
}
 
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);
 
	return 1;
}
 
/*====================================
========Sfarsit Fakemeta Util=======*/
 
/*====================================
========Inceput Super Spawns========*/
 
public SsInit(Float:mindist)
{
	new cmd[32]
	format(cmd, 15, "_ss_dump%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'))
	register_cvar("sv_superspawns", SS_VERSION, (FCVAR_SERVER|FCVAR_SPONLY))
	register_concmd(cmd, "SsDump")
 
	g_flSsMinDist = mindist
	g_vecSsOrigins = ArrayCreate(3, 1)
	g_vecSsSpawns = ArrayCreate(3, 1)
	g_vecSsUsed = ArrayCreate(3, 1)
}
 
stock SsClean()
{
	g_flSsMinDist = 0.0
	ArrayClear(g_vecSsOrigins)
	ArrayClear(g_vecSsSpawns)
	ArrayClear(g_vecSsUsed)
}
 
stock SsGetOrigin(Float:origin[3])
{
	new Float:data[3], size
	new ok = 1
 
	while((size = ArraySize(g_vecSsOrigins)))
	{
		new idx = random_num(0, size - 1)
 
		ArrayGetArray(g_vecSsOrigins, idx, origin)
 
		new used = ArraySize(g_vecSsUsed)
		for(new i = 0; i < used; i++)
		{
			ok = 0
			ArrayGetArray(g_vecSsUsed, i, data)
			if(get_distance_f(data, origin) >= g_flSsMinDist)
			{
				ok = 1
				break
			}
		}
 
		ArrayDeleteItem(g_vecSsOrigins, idx)
		if(ok)
		{
			ArrayPushArray(g_vecSsUsed, origin)
			return true
		}
	}
	return false
}
 
public SsDump()
{
	new Float:origin[3]
	new count = ArraySize(g_vecSsOrigins)
	server_print("-------------------------------------------------------")
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, origin)
		server_print("Origin: %f %f %f", origin[0], origin[1], origin[2])
	}
	server_print("-------------------------------------------------------")
	server_print("Number of origins: %i", count)
	server_print("Time: %i", g_iSsTime)
	server_print("-------------------------------------------------------")
}
 
public SsScan()
{
	new start, Float:origin[3], starttime
	starttime = get_systime()
	for(start = 0; start < sizeof(g_szStarts); start++)
	{
		server_print("Searching for %s", g_szStarts[start])
		new ent
		if((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", g_szStarts[start])))
		{
			new counter
			pev(ent, pev_origin, origin)
			ArrayPushArray(g_vecSsSpawns, origin)
			while(counter < SS_MAX_LOOPS)
			{
				counter = GetLocation(origin, counter)
			}
		}
	}
	g_iSsTime = get_systime()
	g_iSsTime -= starttime
}
 
GetLocation(Float:start[3], &counter)
{
	new Float:end[3]
	for(new i = 0; i < 3; i++)
	{
		end += random_float(0.0 - g_flOffsets, g_flOffsets)
	}
 
	if(IsValid(start, end))
	{
		start[0] = end[0]
		start[1] = end[1]
		start[2] = end[2]
		ArrayPushArray(g_vecSsOrigins, end)
	}
	counter++
	return counter
}
 
IsValid(Float:start[3], Float:end[3])
{
	SetFloor(end)
	end[2] += 36.0
	new point = engfunc(EngFunc_PointContents, end)
	if(point == CONTENTS_EMPTY)
	{
		if(CheckPoints(end) && CheckDistance(end) && CheckVisibility(start, end))
		{
			if(!trace_hull(end, HULL_LARGE, -1))
			{
				return true
			}
		}
	}
	return false
}
 
CheckVisibility(Float:start[3], Float:end[3])
{
	new tr
	engfunc(EngFunc_TraceLine, start, end, IGNORE_GLASS, -1, tr)
	return (get_tr2(tr, TR_pHit) < 0)
}
 
SetFloor(Float:start[3])
{
	new tr, Float:end[3]
	end[0] = start[0]
	end[1] = start[1]
	end[2] = -99999.9
	engfunc(EngFunc_TraceLine, start, end, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, start)
}
 
CheckPoints(Float:origin[3])
{
	new Float:data[3], tr, point
	data[0] = origin[0]
	data[1] = origin[1]
	data[2] = 99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point == CONTENTS_SKY && get_distance_f(origin, data) < 250.0)
	{
		return false
	}
	data[2] = -99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point < CONTENTS_SOLID)
		return false
 
	return true
}
 
CheckDistance(Float:origin[3])
{
	new Float:dist, Float:data[3]
	new count = ArraySize(g_vecSsSpawns)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsSpawns, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	count = ArraySize(g_vecSsOrigins)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	return true
}
 
/*====================================
========Sfarsit Super Spawns========*/


cauti niste modele de "cutii"
"models/present/w_present.mdl","models/present/w_present2.mdl" }


error
| Afiseaza codul
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

include\engine_const.inc(249) : warning 201: redefinition of constant/macro (symbol "TraceResult")
easter.sma(497) : error 023: array assignment must be simple assignment
easter.sma(497) : error 033: array must be indexed (variable "g_flOffsets")

2 Errors.
Could not locate output file easter.amx (compile failed).
User avatar
mariusexeqt
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 199
Joined: 01 Jan 2020, 22:55
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 4 times
Contact:

30 Mar 2020, 17:43

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
 
/* Module necesare */
#include <fakemeta>
#include <hamsandwich>
#include <engine>
 
/* INC-uri */
#include <cellarray>
#include <xs>
 
/* Model la cadouri */
new const model_present[][] = { "models/present/w_present.mdl","models/present/w_present2.mdl" }
 
/* Extras din Fakemeta Util */
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
 
/* Extras din Super Spawns */
#define SS_VERSION	"1.0"
#define SS_MIN_DISTANCE	500.0
#define SS_MAX_LOOPS	100000
 
new Array:g_vecSsOrigins
new Array:g_vecSsSpawns
new Array:g_vecSsUsed
new Float:g_flSsMinDist
new g_iSsTime
 
new const g_szStarts[][] = { "info_player_start", "info_player_deathmatch" }
new const Float:g_flOffsets[] = { 3500.0, 3500.0, 1500.0 }
 
/* Offset-uri */
#if cellbits == 32
const OFFSET_CSMONEY = 115
#else
const OFFSET_CSMONEY = 140
#endif
const OFFSET_LINUX  = 5
 
new pcvar_respawn_time, pcvar_presents_on_map
new g_money
new g_bonus[33]
 
public plugin_init()
{
	register_plugin("GIFTS", "2.2", "KronoS")
 
	/*====================================
	==============Eventuri==============*/
 
	register_event("HLTV", "spawn_gifts", "a", "1=0", "2=0")
	RegisterHam(Ham_Spawn, "player", "round_start", 1)
	RegisterHam(Ham_Killed, "player", "client_death", 1)
    	RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFramePost", 1)
	register_forward(FM_Touch,"forward_touch")
 
	/*====================================
	==============Cvar-uri==============*/
 
	pcvar_respawn_time = register_cvar("presents_respawn_time","60.0")
	pcvar_presents_on_map = register_cvar("presents_on_map", "11")
 
	SsInit(800.0)
	SsScan()
 
	g_money = get_user_msgid("Money")
}
 
public plugin_precache()
{
	new i
	for(i = 0; i < sizeof model_present; i++)
		engfunc(EngFunc_PrecacheModel,model_present)
}
 
public spawn_gifts()
{
	func_spawn()
}
 
public round_start(id)
{
	if(g_bonus[id] > 0)
	{
		switch(g_bonus[id])
		{
			case 1:
			{
				fm_set_user_health(id, get_user_health(id) + 50)
			}
			case 2:
			{
				fm_set_user_gravity(id, 0.4)
			}
		}
	}
}
 
public func_spawn()
{
        new Float:origin[3]
	new i
 
	for(i=0; i< get_pcvar_num(pcvar_presents_on_map); i++)
	{
        if(SsGetOrigin(origin))
        {
                new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
                if(pev_valid(ent))
                {
                        engfunc(EngFunc_SetModel,ent,model_present[random_num(0,sizeof model_present - 1)])
                        engfunc(EngFunc_SetOrigin, ent, origin)
			static Float:fMaxs[3] = { 2.0, 2.0, 4.0 }
			static Float:fMins[3] = { -2.0, -2.0, -4.0 }
			set_pev(ent,pev_solid,SOLID_BBOX)
			engfunc(EngFunc_SetSize,ent,fMins,fMaxs)
			engfunc(EngFunc_DropToFloor, ent)
 
			switch(random_num(0,1))
			{
				case 0:
				{
					set_pev(ent,pev_classname,"small_present")
				}
				case 1:
				{
					set_pev(ent,pev_classname,"large_present")
				}
			}
                }
        }
	}
}
 
public client_death(id)
{
	if(g_bonus[id] > 0)
	{
		g_bonus[id] = 0
	}
}
 
public FwdPreFramePost(iClient)
{
	if(is_user_connected(iClient))
	{
		if(g_bonus[iClient] == 3)
		{
    			fm_set_user_maxspeed(iClient, 350.0)
		}
		if(g_bonus[iClient] == 4)
		{
    			fm_set_user_maxspeed(iClient, 200.0)
		}
	}
}  
 
public forward_touch(ent,id)
{
	if(!pev_valid(ent))
		return FMRES_IGNORED
 
	static class[20]
 
	pev(ent,pev_classname,class,sizeof class - 1)
 
	if((!equali(class,"small_present") && !equali(class,"large_present")))
		return FMRES_IGNORED
 
	if((equali(class,"large_present") && (g_bonus[id] > 0)))
		return FMRES_IGNORED
 
	if(!is_user_alive(id))
		return FMRES_IGNORED
 
	set_pev(ent,pev_solid,SOLID_NOT)
	set_pev(ent,pev_effects,EF_NODRAW)
	set_task(get_pcvar_float(pcvar_respawn_time), "func_spawn", ent)
 
	if(equali(class,"small_present"))
	{
	switch(random_num(0,4))
	{
		case 0: 
		{
			fm_set_user_money(id, fm_get_user_money(id) + 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 500$")
		}
		case 1:
		{
			fm_set_user_money(id, 16000)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 16000$")
		}
		case 2:
		{
			fm_set_user_money(id, 0)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai pierdut toti banii")
		}
		case 3:
		{
			fm_set_user_money(id, fm_get_user_money(id) - 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai pierdut 500$")
		}
		case 4:
		{
			fm_give_item(id, "weapon_awp")
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit AWP")
		}
	}
	}
	if(equali(class,"large_present"))
	{
	switch(random_num(0,3))
	{
		case 0: 
		{
			fm_set_user_health(id, get_user_health(id) + 50)
			g_bonus[id] = 1
			large_present_hud(id)
		}
		case 1:
		{
			fm_set_user_gravity(id, 0.4)
			g_bonus[id] = 2
			large_present_hud(id)
		}
		case 2:
		{
			fm_set_user_maxspeed(id, 350.0)
			g_bonus[id] = 3
			large_present_hud(id)
		}
		case 3:
		{
			fm_set_user_maxspeed(id, 200.0)
			g_bonus[id] = 4
			large_present_hud(id)
		}
	}
	}
 
	return FMRES_IGNORED
}
 
public large_present_hud(id)
{
	if(is_user_alive(id))
	{
		if(g_bonus[id] > 0)
		{
			switch(g_bonus[id])
			{
				case 1:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viata+")
				}
				case 2:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Gravitatie-")
				}
				case 3:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viteza+")
				}
				case 4:
				{
					set_hudmessage(200, 0, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viteza-")
				}
			}
			set_task(12.0, "large_present_hud", id)
		}
	}
}
 
public client_disconnect(id)
{
	g_bonus[id] = 0
}
 
/*====================================
========Inceput Fakemeta Util=======*/
 
stock fm_set_user_money(id,money,flash=1)
{
	set_pdata_int(id,OFFSET_CSMONEY,money,OFFSET_LINUX  )
 
	message_begin(MSG_ONE,g_money,{0,0,0},id)
	write_long(money)
	write_byte(flash)
	message_end()
}
 
stock fm_get_user_money(id)
{
	return get_pdata_int(id,OFFSET_CSMONEY,OFFSET_LINUX)
}
 
stock fm_set_user_health(id, health)
{
	(health > 0) ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id)
 
	return 1
}
 
stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0
 
	new ent = fm_create_entity(item)
	if (!pev_valid(ent))
		return 0
 
	new Float:origin[3]
	pev(index, pev_origin, origin)
	set_pev(ent, pev_origin, origin)
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
	dllfunc(DLLFunc_Spawn, ent)
 
	new save = pev(ent, pev_solid)
	dllfunc(DLLFunc_Touch, ent, index)
	if (pev(ent, pev_solid) != save)
		return ent
 
	engfunc(EngFunc_RemoveEntity, ent)
 
	return -1
}
 
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
	set_pev(index, pev_gravity, gravity)
 
	return 1
}
 
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);
 
	return 1;
}
 
/*====================================
========Sfarsit Fakemeta Util=======*/
 
/*====================================
========Inceput Super Spawns========*/
 
public SsInit(Float:mindist)
{
	new cmd[32]
	format(cmd, 15, "_ss_dump%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'))
	register_cvar("sv_superspawns", SS_VERSION, (FCVAR_SERVER|FCVAR_SPONLY))
	register_concmd(cmd, "SsDump")
 
	g_flSsMinDist = mindist
	g_vecSsOrigins = ArrayCreate(3, 1)
	g_vecSsSpawns = ArrayCreate(3, 1)
	g_vecSsUsed = ArrayCreate(3, 1)
}
 
stock SsClean()
{
	g_flSsMinDist = 0.0
	ArrayClear(g_vecSsOrigins)
	ArrayClear(g_vecSsSpawns)
	ArrayClear(g_vecSsUsed)
}
 
stock SsGetOrigin(Float:origin[3])
{
	new Float:data[3], size
	new ok = 1
 
	while((size = ArraySize(g_vecSsOrigins)))
	{
		new idx = random_num(0, size - 1)
 
		ArrayGetArray(g_vecSsOrigins, idx, origin)
 
		new used = ArraySize(g_vecSsUsed)
		for(new i = 0; i < used; i++)
		{
			ok = 0
			ArrayGetArray(g_vecSsUsed, i, data)
			if(get_distance_f(data, origin) >= g_flSsMinDist)
			{
				ok = 1
				break
			}
		}
 
		ArrayDeleteItem(g_vecSsOrigins, idx)
		if(ok)
		{
			ArrayPushArray(g_vecSsUsed, origin)
			return true
		}
	}
	return false
}
 
public SsDump()
{
	new Float:origin[3]
	new count = ArraySize(g_vecSsOrigins)
	server_print("-------------------------------------------------------")
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, origin)
		server_print("Origin: %f %f %f", origin[0], origin[1], origin[2])
	}
	server_print("-------------------------------------------------------")
	server_print("Number of origins: %i", count)
	server_print("Time: %i", g_iSsTime)
	server_print("-------------------------------------------------------")
}
 
public SsScan()
{
	new start, Float:origin[3], starttime
	starttime = get_systime()
	for(start = 0; start < sizeof(g_szStarts); start++)
	{
		server_print("Searching for %s", g_szStarts[start])
		new ent
		if((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", g_szStarts[start])))
		{
			new counter
			pev(ent, pev_origin, origin)
			ArrayPushArray(g_vecSsSpawns, origin)
			while(counter < SS_MAX_LOOPS)
			{
				counter = GetLocation(origin, counter)
			}
		}
	}
	g_iSsTime = get_systime()
	g_iSsTime -= starttime
}
 
GetLocation(Float:start[3], &counter)
{
	new Float:end[3]
	for(new i = 0; i < 3; i++)
	{
		end += random_float(0.0 - g_flOffsets, g_flOffsets)
	}
 
	if(IsValid(start, end))
	{
		start[0] = end[0]
		start[1] = end[1]
		start[2] = end[2]
		ArrayPushArray(g_vecSsOrigins, end)
	}
	counter++
	return counter
}
 
IsValid(Float:start[3], Float:end[3])
{
	SetFloor(end)
	end[2] += 36.0
	new point = engfunc(EngFunc_PointContents, end)
	if(point == CONTENTS_EMPTY)
	{
		if(CheckPoints(end) && CheckDistance(end) && CheckVisibility(start, end))
		{
			if(!trace_hull(end, HULL_LARGE, -1))
			{
				return true
			}
		}
	}
	return false
}
 
CheckVisibility(Float:start[3], Float:end[3])
{
	new tr
	engfunc(EngFunc_TraceLine, start, end, IGNORE_GLASS, -1, tr)
	return (get_tr2(tr, TR_pHit) < 0)
}
 
SetFloor(Float:start[3])
{
	new tr, Float:end[3]
	end[0] = start[0]
	end[1] = start[1]
	end[2] = -99999.9
	engfunc(EngFunc_TraceLine, start, end, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, start)
}
 
CheckPoints(Float:origin[3])
{
	new Float:data[3], tr, point
	data[0] = origin[0]
	data[1] = origin[1]
	data[2] = 99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point == CONTENTS_SKY && get_distance_f(origin, data) < 250.0)
	{
		return false
	}
	data[2] = -99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point < CONTENTS_SOLID)
		return false
 
	return true
}
 
CheckDistance(Float:origin[3])
{
	new Float:dist, Float:data[3]
	new count = ArraySize(g_vecSsSpawns)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsSpawns, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	count = ArraySize(g_vecSsOrigins)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	return true
}

 
Last edited by mariusexeqt on 30 Mar 2020, 18:22, edited 1 time in total.
User avatar
EleCtr0zZz
Membru, skill +1
Membru, skill +1
Posts: 428
Joined: 25 May 2015, 07:27
Detinator Steam: Da
SteamID: =
Fond eXtream: 0
Has thanked: 3 times
Contact:

30 Mar 2020, 18:05

mariusexeqt wrote:
30 Mar 2020, 17:43
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
 
/* Module necesare */
#include <fakemeta>
#include <hamsandwich>
#include <engine>
 
/* INC-uri */
#include <cellarray>
#include <xs>
 
/* Model la cadouri */
new const model_present[][] = { "models/present/w_present.mdl","models/present/w_present2.mdl" }
 
/* Extras din Fakemeta Util */
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
 
/* Extras din Super Spawns */
#define SS_VERSION	"1.0"
#define SS_MIN_DISTANCE	500.0
#define SS_MAX_LOOPS	100000
 
new Array:g_vecSsOrigins
new Array:g_vecSsSpawns
new Array:g_vecSsUsed
new Float:g_flSsMinDist
new g_iSsTime
 
new const g_szStarts[][] = { "info_player_start", "info_player_deathmatch" }
new const Float:g_flOffsets[] = { 3500.0, 3500.0, 1500.0 }
 
/* Offset-uri */
#if cellbits == 32
const OFFSET_CSMONEY = 115
#else
const OFFSET_CSMONEY = 140
#endif
const OFFSET_LINUX  = 5
 
new pcvar_respawn_time, pcvar_presents_on_map
new g_money
new g_bonus[33]
 
public plugin_init()
{
	register_plugin("GIFTS", "2.2", "KronoS")
 
	/*====================================
	==============Eventuri==============*/
 
	register_event("HLTV", "spawn_gifts", "a", "1=0", "2=0")
	RegisterHam(Ham_Spawn, "player", "round_start", 1)
	RegisterHam(Ham_Killed, "player", "client_death", 1)
    	RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFramePost", 1)
	register_forward(FM_Touch,"forward_touch")
 
	/*====================================
	==============Cvar-uri==============*/
 
	pcvar_respawn_time = register_cvar("presents_respawn_time","60.0")
	pcvar_presents_on_map = register_cvar("presents_on_map", "11")
 
	SsInit(800.0)
	SsScan()
 
	g_money = get_user_msgid("Money")
}
 
public plugin_precache()
{
	new i
	for(i = 0; i < sizeof model_present; i++)
		engfunc(EngFunc_PrecacheModel,model_present)
}
 
public spawn_gifts()
{
	func_spawn()
}
 
public round_start(id)
{
	if(g_bonus[id] > 0)
	{
		switch(g_bonus[id])
		{
			case 1:
			{
				fm_set_user_health(id, get_user_health(id) + 50)
			}
			case 2:
			{
				fm_set_user_gravity(id, 0.4)
			}
		}
	}
}
 
public func_spawn()
{
        new Float:origin[3]
	new i
 
	for(i=0; i< get_pcvar_num(pcvar_presents_on_map); i++)
	{
        if(SsGetOrigin(origin))
        {
                new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
                if(pev_valid(ent))
                {
                        engfunc(EngFunc_SetModel,ent,model_present[random_num(0,sizeof model_present - 1)])
                        engfunc(EngFunc_SetOrigin, ent, origin)
			static Float:fMaxs[3] = { 2.0, 2.0, 4.0 }
			static Float:fMins[3] = { -2.0, -2.0, -4.0 }
			set_pev(ent,pev_solid,SOLID_BBOX)
			engfunc(EngFunc_SetSize,ent,fMins,fMaxs)
			engfunc(EngFunc_DropToFloor, ent)
 
			switch(random_num(0,1))
			{
				case 0:
				{
					set_pev(ent,pev_classname,"small_present")
				}
				case 1:
				{
					set_pev(ent,pev_classname,"large_present")
				}
			}
                }
        }
	}
}
 
public client_death(id)
{
	if(g_bonus[id] > 0)
	{
		g_bonus[id] = 0
	}
}
 
public FwdPreFramePost(iClient)
{
	if(is_user_connected(iClient))
	{
		if(g_bonus[iClient] == 3)
		{
    			fm_set_user_maxspeed(iClient, 350.0)
		}
		if(g_bonus[iClient] == 4)
		{
    			fm_set_user_maxspeed(iClient, 200.0)
		}
	}
}  
 
public forward_touch(ent,id)
{
	if(!pev_valid(ent))
		return FMRES_IGNORED
 
	static class[20]
 
	pev(ent,pev_classname,class,sizeof class - 1)
 
	if((!equali(class,"small_present") && !equali(class,"large_present")))
		return FMRES_IGNORED
 
	if((equali(class,"large_present") && (g_bonus[id] > 0)))
		return FMRES_IGNORED
 
	if(!is_user_alive(id))
		return FMRES_IGNORED
 
	set_pev(ent,pev_solid,SOLID_NOT)
	set_pev(ent,pev_effects,EF_NODRAW)
	set_task(get_pcvar_float(pcvar_respawn_time), "func_spawn", ent)
 
	if(equali(class,"small_present"))
	{
	switch(random_num(0,4))
	{
		case 0: 
		{
			fm_set_user_money(id, fm_get_user_money(id) + 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 500$")
		}
		case 1:
		{
			fm_set_user_money(id, 16000)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit 16000$")
		}
		case 2:
		{
			fm_set_user_money(id, 0)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai pierdut toti banii")
		}
		case 3:
		{
			fm_set_user_money(id, fm_get_user_money(id) - 500)
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai pierdut 500$")
		}
		case 4:
		{
			fm_give_item(id, "weapon_awp")
			set_hudmessage(255, 165, 0, 0.02, 0.73, 0, 6.0, 12.0)
			show_hudmessage(id, "[Gift] Ai primit AWP")
		}
	}
	}
	if(equali(class,"large_present"))
	{
	switch(random_num(0,3))
	{
		case 0: 
		{
			fm_set_user_health(id, get_user_health(id) + 50)
			g_bonus[id] = 1
			large_present_hud(id)
		}
		case 1:
		{
			fm_set_user_gravity(id, 0.4)
			g_bonus[id] = 2
			large_present_hud(id)
		}
		case 2:
		{
			fm_set_user_maxspeed(id, 350.0)
			g_bonus[id] = 3
			large_present_hud(id)
		}
		case 3:
		{
			fm_set_user_maxspeed(id, 200.0)
			g_bonus[id] = 4
			large_present_hud(id)
		}
	}
	}
 
	return FMRES_IGNORED
}
 
public large_present_hud(id)
{
	if(is_user_alive(id))
	{
		if(g_bonus[id] > 0)
		{
			switch(g_bonus[id])
			{
				case 1:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viata+")
				}
				case 2:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Gravitatie-")
				}
				case 3:
				{
					set_hudmessage(0, 255, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viteza+")
				}
				case 4:
				{
					set_hudmessage(200, 0, 0, 0.02, 0.73, 0, 6.0, 12.0)
					show_hudmessage(id, "[Gift] Viteza-")
				}
			}
			set_task(12.0, "large_present_hud", id)
		}
	}
}
 
public client_disconnect(id)
{
	g_bonus[id] = 0
}
 
/*====================================
========Inceput Fakemeta Util=======*/
 
stock fm_set_user_money(id,money,flash=1)
{
	set_pdata_int(id,OFFSET_CSMONEY,money,OFFSET_LINUX  )
 
	message_begin(MSG_ONE,g_money,{0,0,0},id)
	write_long(money)
	write_byte(flash)
	message_end()
}
 
stock fm_get_user_money(id)
{
	return get_pdata_int(id,OFFSET_CSMONEY,OFFSET_LINUX)
}
 
stock fm_set_user_health(id, health)
{
	(health > 0) ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id)
 
	return 1
}
 
stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0
 
	new ent = fm_create_entity(item)
	if (!pev_valid(ent))
		return 0
 
	new Float:origin[3]
	pev(index, pev_origin, origin)
	set_pev(ent, pev_origin, origin)
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
	dllfunc(DLLFunc_Spawn, ent)
 
	new save = pev(ent, pev_solid)
	dllfunc(DLLFunc_Touch, ent, index)
	if (pev(ent, pev_solid) != save)
		return ent
 
	engfunc(EngFunc_RemoveEntity, ent)
 
	return -1
}
 
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
	set_pev(index, pev_gravity, gravity)
 
	return 1
}
 
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);
 
	return 1;
}
 
/*====================================
========Sfarsit Fakemeta Util=======*/
 
/*====================================
========Inceput Super Spawns========*/
 
public SsInit(Float:mindist)
{
	new cmd[32]
	format(cmd, 15, "_ss_dump%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'))
	register_cvar("sv_superspawns", SS_VERSION, (FCVAR_SERVER|FCVAR_SPONLY))
	register_concmd(cmd, "SsDump")
 
	g_flSsMinDist = mindist
	g_vecSsOrigins = ArrayCreate(3, 1)
	g_vecSsSpawns = ArrayCreate(3, 1)
	g_vecSsUsed = ArrayCreate(3, 1)
}
 
stock SsClean()
{
	g_flSsMinDist = 0.0
	ArrayClear(g_vecSsOrigins)
	ArrayClear(g_vecSsSpawns)
	ArrayClear(g_vecSsUsed)
}
 
stock SsGetOrigin(Float:origin[3])
{
	new Float:data[3], size
	new ok = 1
 
	while((size = ArraySize(g_vecSsOrigins)))
	{
		new idx = random_num(0, size - 1)
 
		ArrayGetArray(g_vecSsOrigins, idx, origin)
 
		new used = ArraySize(g_vecSsUsed)
		for(new i = 0; i < used; i++)
		{
			ok = 0
			ArrayGetArray(g_vecSsUsed, i, data)
			if(get_distance_f(data, origin) >= g_flSsMinDist)
			{
				ok = 1
				break
			}
		}
 
		ArrayDeleteItem(g_vecSsOrigins, idx)
		if(ok)
		{
			ArrayPushArray(g_vecSsUsed, origin)
			return true
		}
	}
	return false
}
 
public SsDump()
{
	new Float:origin[3]
	new count = ArraySize(g_vecSsOrigins)
	server_print("-------------------------------------------------------")
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, origin)
		server_print("Origin: %f %f %f", origin[0], origin[1], origin[2])
	}
	server_print("-------------------------------------------------------")
	server_print("Number of origins: %i", count)
	server_print("Time: %i", g_iSsTime)
	server_print("-------------------------------------------------------")
}
 
public SsScan()
{
	new start, Float:origin[3], starttime
	starttime = get_systime()
	for(start = 0; start < sizeof(g_szStarts); start++)
	{
		server_print("Searching for %s", g_szStarts[start])
		new ent
		if((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", g_szStarts[start])))
		{
			new counter
			pev(ent, pev_origin, origin)
			ArrayPushArray(g_vecSsSpawns, origin)
			while(counter < SS_MAX_LOOPS)
			{
				counter = GetLocation(origin, counter)
			}
		}
	}
	g_iSsTime = get_systime()
	g_iSsTime -= starttime
}
 
GetLocation(Float:start[3], &counter)
{
	new Float:end[3]
	for(new i = 0; i < 3; i++)
	{
		end += random_float(0.0 - g_flOffsets, g_flOffsets)
	}
 
	if(IsValid(start, end))
	{
		start[0] = end[0]
		start[1] = end[1]
		start[2] = end[2]
		ArrayPushArray(g_vecSsOrigins, end)
	}
	counter++
	return counter
}
 
IsValid(Float:start[3], Float:end[3])
{
	SetFloor(end)
	end[2] += 36.0
	new point = engfunc(EngFunc_PointContents, end)
	if(point == CONTENTS_EMPTY)
	{
		if(CheckPoints(end) && CheckDistance(end) && CheckVisibility(start, end))
		{
			if(!trace_hull(end, HULL_LARGE, -1))
			{
				return true
			}
		}
	}
	return false
}
 
CheckVisibility(Float:start[3], Float:end[3])
{
	new tr
	engfunc(EngFunc_TraceLine, start, end, IGNORE_GLASS, -1, tr)
	return (get_tr2(tr, TR_pHit) < 0)
}
 
SetFloor(Float:start[3])
{
	new tr, Float:end[3]
	end[0] = start[0]
	end[1] = start[1]
	end[2] = -99999.9
	engfunc(EngFunc_TraceLine, start, end, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, start)
}
 
CheckPoints(Float:origin[3])
{
	new Float:data[3], tr, point
	data[0] = origin[0]
	data[1] = origin[1]
	data[2] = 99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point == CONTENTS_SKY && get_distance_f(origin, data) < 250.0)
	{
		return false
	}
	data[2] = -99999.9
	engfunc(EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr)
	get_tr2(tr, TR_vecEndPos, data)
	point = engfunc(EngFunc_PointContents, data)
	if(point < CONTENTS_SOLID)
		return false
 
	return true
}
 
CheckDistance(Float:origin[3])
{
	new Float:dist, Float:data[3]
	new count = ArraySize(g_vecSsSpawns)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsSpawns, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	count = ArraySize(g_vecSsOrigins)
	for(new i = 0; i < count; i++)
	{
		ArrayGetArray(g_vecSsOrigins, i, data)
		dist = get_distance_f(origin, data)
		if(dist < SS_MIN_DISTANCE)
			return false
	}
 
	return true
}
 


La fel
| Afiseaza codul
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

include\engine_const.inc(249) : warning 201: redefinition of constant/macro (symbol "TraceResult")
easter.sma(457) : error 023: array assignment must be simple assignment
easter.sma(457) : error 033: array must be indexed (variable "g_flOffsets")

2 Errors.
Could not locate output file easter.amx (compile failed).
User avatar
mariusexeqt
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 199
Joined: 01 Jan 2020, 22:55
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 4 times
Contact:

30 Mar 2020, 18:25

Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 33 guests