Заявка за меню

Въпроси и проблеми свързани с ReHLDS и допълненията.
Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Заявка за меню

Мнение от southdivision » 22 Окт 2017, 01:55

Менюто да е достъпно само за админи с флаг за BAN

1. Dai Ak47 sus 25 patrona (Като го цъкнеш да ти излиза с меню на ТЕРОРИСТИ ИГРАЧИТЕ на кой да дадеш 25 патрона)
2. Dai 600 Kruv (Като го цъкнеш да дава на Counter-Teroristите 600 кръв)
3. Izberi igrach (Като го цъкнеш в чата да излиза ADMIN %s izbra igracha %s (играчите да са от Counter-Teroristите произволни)

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Заявка за меню

Мнение от JustInCase » 22 Окт 2017, 15:01

В полето EDIT в кода е всичко което може да си редактираш без много да се задълбочаваш в кода.


g_szCommands - Може да си редактираш командите като може да добавяш неограничени такива. Имай предивд че това са конзолни команди т.е трябва да имат "say"/ "say_team" пред тях
GIVE_HEALTH - е кръвта, която ше дава на CT отбора
PLAYER_FLAGS - имаш 2 опции
- "ae" така ще избира само живи CT
- "е" така ше избира CT независимо дали са живи или мъртви

Код за потвърждение: Избери целия код

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <engine>
#include <colorchat>


//---------------- EDIT -------



#define ADMIN_ACCESS ADMIN_BAN
#define GIVE_HEALTH 600
#define PLAYER_FLAGS "ae"
new const g_szCommand[] = {
	"say /open" , "say_team /open"
};




//--------------- END EDIT -------

public plugin_init() {
	register_plugin("Give Menu", "1.0", "Just In Case @ amxx-bg.info/forum");
	
	for ( new i = 0; i < sizeof(g_szCommand); i ++)
		register_clcmd(g_szCommand[i], "OpenHeadMenu");
}
public OpenHeadMenu(id)
{
	if(get_user_flags(id) & ADMIN_ACCESS){
		new menu = menu_create( "\rAdmin Menu:", "menu_handler" );
		menu_additem( menu, "\wDai \rAK47 \ws 25 patrona", "", 0 );
		menu_additem( menu, "\wDai \r600 \wkruv", "", 0 );
		menu_additem( menu, "\wIzberi igrach", "", ADMIN_ADMIN );
		
		
		menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
		menu_display( id, menu, 0 );
	}
	
}
public menu_handler( id, menu, item )
{
	static iPlayers[32], iNum
	switch( item )
	{
		
		case 0:
		{
			OpenAK47Menu(id);
			
		}
		case 1:
		{
			get_players(iPlayers, iNum, "ae", "CT")
			for ( new i = 0; i < iNum; i ++)
			{
				new reid = iPlayers[ i ]
				set_user_health(reid, get_user_health(reid) + GIVE_HEALTH)
			}
		}
		case 2:
		{
			get_players(iPlayers, iNum, PLAYER_FLAGS, "CT")
			new reid = iPlayers[random(iNum)]
			static szName[33], szAdminName[33]
			get_user_name(id, szAdminName, charsmax(szAdminName))
			get_user_name(reid, szName, charsmax(szName))
			ColorChat(0, RED, "^4ADMIN ^3%s ^4izbra igracha ^3%s", szAdminName, szName)
		}
	}
	
	
	menu_destroy( menu );
	return PLUGIN_HANDLED;
}
public OpenAK47Menu( id )
{
	new menu = menu_create( "\rGive AK47 with 25 bullets:", "ak47_handler" );
	
	new players[32], pnum, tempid;
	
	new szName[32], szUserId[32];
	
	get_players( players, pnum, "a" );
	
	for ( new i; i<pnum; i++ )
	{
		tempid = players[i];
		
		get_user_name( tempid, szName, charsmax( szName ) );
		formatex( szUserId, charsmax( szUserId ), "%d", get_user_userid( tempid ) );

		
		menu_additem( menu, szName, szUserId, 0 );
	}
	
	menu_display( id, menu, 0 );
}
public ak47_handler( id, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	
	new szData[6], szName[64];
	new _access, item_callback;
	menu_item_getinfo( menu, item, _access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback );
	
	new userid = str_to_num( szData );
	
	new player = find_player( "k", userid );
	
	if ( player && is_user_alive( player ) )
	{
		give_user_weapon(player, CSW_AK47, 25, 0)
	}
	
	menu_destroy( menu );
	return PLUGIN_HANDLED;
}

//- Nikolow -- OciXCrom
give_user_weapon( index , iWeaponTypeID , iClip=0 , iBPAmmo=0 , szWeapon[]="" , maxchars=0 )
{
	if ( !( CSW_P228 <= iWeaponTypeID <= CSW_P90 ) || ( iClip < 0 ) || ( iBPAmmo < 0 ) || !is_user_alive( index ) )
		return -1;
	
	new szWeaponName[ 20 ] , iWeaponEntity , bool:bIsGrenade;
	
	const GrenadeBits = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_C4 ) );
	
	if ( ( bIsGrenade = bool:!!( GrenadeBits & ( 1 << iWeaponTypeID ) ) ) )
		iClip = clamp( iClip ? iClip : iBPAmmo , 1 );
	
	get_weaponname( iWeaponTypeID , szWeaponName , charsmax( szWeaponName ) );
	
	if ( ( iWeaponEntity = user_has_weapon( index , iWeaponTypeID ) ? find_ent_by_owner( -1 , szWeaponName , index ) : give_item( index , szWeaponName ) ) > 0 )
	{
		if ( iWeaponTypeID != CSW_KNIFE )
		{
			if ( iClip && !bIsGrenade )
				cs_set_weapon_ammo( iWeaponEntity , iClip );
		
			if ( iWeaponTypeID == CSW_C4 ) 
				cs_set_user_plant( index , 1 , 1 );
			else
				cs_set_user_bpammo( index , iWeaponTypeID , bIsGrenade ? iClip : iBPAmmo ); 
		}
		
		if ( maxchars )
			copy( szWeapon , maxchars , szWeaponName[7] );
	}
	
	return iWeaponEntity;
}
Последно промяна от JustInCase на 22 Окт 2017, 23:41, променено общо 1 път.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Заявка за меню

Мнение от southdivision » 22 Окт 2017, 17:50

Не ми дава Ak47 незнайно защо

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Заявка за меню

Мнение от JustInCase » 22 Окт 2017, 23:41

Редактирах си кода по-горе пробвай.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Заявка за меню

Мнение от southdivision » 23 Окт 2017, 00:22

Стана! Лок

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 18 госта