Cerere Loterie bonus

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Jucks
Membru, skill +3
Membru, skill +3
Posts: 1141
Joined: 20 May 2016, 16:28
Detinator Steam: Da
Fond eXtream: 0
Contact:

11 Nov 2020, 09:54

Vreau ca aces plugin de loterie sa ofere anumite bonusuri cand apas "e" pe el:
-5hp,10hp,3hp,2hp,1hp
-Armura : 5,2,3,4,5,10
-Respawn dupa ce mori (10% sansa)
-Bani : 300$ , 400$ ,200$ ,600$ ,500$
-Defuse Kit(ct)
-Nimic
Mesaje :
[TRIED]-Ai primit 10 HP !
[[TRIED]-Ai primit 10 AP !
[TRIED]-Ai avut noroc si ai primit sansa de respawn !
[TRIED]-Ai primit Defuse Kit !
[TRIED]-Ai primit 300$ !
[TRIED] sa fie cu verde , "Ai primit" sa fie normal si bonusul adica bani si hp sa fie cu verde
| Afiseaza codul
#include < amxmodx > 
#include < fakemeta >
#include < cstrike >

#define AUTHOR_PLUGIN	" Shurik07"
#define VERSION_PLUGIN	" 0.01"
#define NAME_PLUGIN		"Terminal bonus" 

#define MODEL_TERMINAL 		"models/unreal_surf/terminal.mdl"
#define SOUND_TERMINAL	"unreal_surf/get_check.wav"
#define CLASS_NAME_TERMINAL 	"szClassTerminal"

#define BONUCE_TERMINAL	5000
#define AMOUNT_TERMINAL	1
#define PLAYER_SEARCH_RADIUS 64

#define PRECACHE_MODEL(%0)		engfunc(EngFunc_PrecacheModel, %0)
#define PRECACHE_SOUND(%0)		engfunc(EngFunc_PrecacheSound, %0)
#define SET_ENTITY(%0)			engfunc(EngFunc_CreateNamedEntity , engfunc( EngFunc_AllocString,%0 ) )

#define MAX_CLIENTS	32
#define MAX_PLAYERS 	get_maxplayers( )

new bool:g_iMaxUse[ MAX_CLIENTS + 1 ]  ; 

new Float:g_fTerminalVecs[ AMOUNT_TERMINAL ][ 3 ];
new g_iTotalTerminal;
new i_Ent;

public plugin_init( ) 
{
	register_plugin( NAME_PLUGIN , VERSION_PLUGIN , AUTHOR_PLUGIN );
	
	//Fakemeta Forward
	register_forward( FM_CmdStart , "Forward_CmdStart" , false );
	register_logevent("round_end", 2, "1=Round_End");
	
	//Load terminal 
	Load_Terminal( ); 
	
	//Spawn terminal
	set_task( 1.0 , "Spawn_Terminal" );
}

public plugin_precache( ) 
{
	PRECACHE_MODEL( MODEL_TERMINAL );
	PRECACHE_SOUND( SOUND_TERMINAL );
}

public Load_Terminal( ) 
{
	new filepath;
	new mapname[32], string[128];
	
	get_mapname(mapname, charsmax(mapname));
	
	format(string, charsmax(string), "addons/amxmodx/configs/%s.terminal.txt", mapname);
	
	filepath = fopen(string, "rt");
	
	if(!filepath)
	{
		return;
	}
	
	g_iTotalTerminal = 0;
	
	new pos[3][8];
	new buffer[64];
	
	while(!feof(filepath) && g_iTotalTerminal < AMOUNT_TERMINAL )
	{
		buffer[0] = '^0';
		
		fgets(filepath, buffer, charsmax(buffer));
		
		if(strlen(buffer) < 2 || buffer[0] == ';')
		{
			continue;
		}
		
		parse(buffer, pos[0], 7, pos[1], 7, pos[2], 7);
		
		g_fTerminalVecs[g_iTotalTerminal][0] = str_to_float(pos[0]);
		g_fTerminalVecs[g_iTotalTerminal][1] = str_to_float(pos[1]);
		g_fTerminalVecs[g_iTotalTerminal][2] = str_to_float(pos[2]);
		
		g_iTotalTerminal++;
	}
	
	fclose(filepath);
}

public Spawn_Terminal( ) 
{
	if( !g_iTotalTerminal ) 
	{
		return;
	}
	
	static i;
	for( i = 0 ; i < g_iTotalTerminal; i++ )
	{
		Create_Terminal( i ) ;
	}
}

Create_Terminal( i ) 
{
	if ( ( i_Ent = SET_ENTITY ( "info_target"  ) ) )
	{
		set_pev ( i_Ent , pev_classname , CLASS_NAME_TERMINAL );
		
		engfunc ( EngFunc_SetModel , i_Ent , MODEL_TERMINAL );
		engfunc ( EngFunc_SetSize  , i_Ent , Float:{ -8.950000 , -4.810000, -0.180000 }, Float:{ 7.540000, 5.170000, 51.520000 } );
		engfunc ( EngFunc_SetOrigin, i_Ent , g_fTerminalVecs[ i ] );
		engfunc ( EngFunc_DropToFloor, i_Ent );
		
		set_pev ( i_Ent , pev_solid , SOLID_BBOX );
		set_pev ( i_Ent , pev_movetype , MOVETYPE_PUSHSTEP );
		set_pev ( i_Ent , pev_flags, FL_MONSTER );
	}
}

public Forward_CmdStart( pPlayer , UC_Handle , SeeD   )
{ 
	if( !is_user_alive( pPlayer ) ) 
	{
		return FMRES_HANDLED;
	}
	
	static bsButtons;
	bsButtons = get_uc( UC_Handle, UC_Buttons );
	
	if( bsButtons & IN_USE ) 
	{
		static zsClassname[ 32 ];
		static Float:flOrigin[ 3 ];
		static Float:flDistance;
		static Float:flVictimOrigin [ 3 ];

		pev( i_Ent, pev_origin, flOrigin );
		pev( i_Ent, pev_classname, zsClassname, charsmax( zsClassname ) );

		if( !equal( zsClassname, CLASS_NAME_TERMINAL ) || !g_iMaxUse[ pPlayer ]  )
		{
			return FMRES_HANDLED;
		}
		
		pev ( pPlayer, pev_origin, flVictimOrigin );
		flDistance = get_distance_f ( flOrigin, flVictimOrigin );
		
		if ( flDistance <= PLAYER_SEARCH_RADIUS )
		{
			client_cmd( pPlayer ,"speak ^"%s^"", SOUND_TERMINAL );
			cs_set_user_money ( pPlayer , cs_get_user_money ( pPlayer ) + BONUCE_TERMINAL );
			
			client_print( pPlayer , print_center , "Ты получил бонус в размере %d$ " , BONUCE_TERMINAL )
			
			g_iMaxUse[ pPlayer ] = false;
		}
	}
	
	return FMRES_IGNORED ;
}

public round_end()
{
	static iPlayer 
	for( iPlayer = 1 ; iPlayer <= MAX_PLAYERS; iPlayer++ ) 
	{
		if( !is_user_alive( iPlayer ) ) 
			continue ;
			
		g_iMaxUse[ iPlayer ] = true; 
	}
}
Detinator : # Go.Tried.Ro #
RoyalServer 2
User avatar
Jucks
Membru, skill +3
Membru, skill +3
Posts: 1141
Joined: 20 May 2016, 16:28
Detinator Steam: Da
Fond eXtream: 0
Contact:

11 Nov 2020, 14:41

Puteti sa o puneti la cos
Detinator : # Go.Tried.Ro #
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 16 guests