VIP Menu за Base Builder 6.5

Ако искате да поръчате да ви намерим определено нещо, без да става дума за коментиране, пишете тук.
Post Reply
User avatar
WWUghRght
Потребител
Потребител
Posts: 6
Joined: 18 May 2021, 13:14
Skype: uchiha_itachi_16
CS Nick: UghRght
Favorite version: CS: 1.6

VIP Menu за Base Builder 6.5

Post by WWUghRght »

Здравейте ! Опитвам от 1/2 дена да редактирам едно вип меню, но без успех. Исках да добавя неща, но не ми се получава така че ще го карам направо- искам VIP Menu за BB 6.5 което да съдържа следните итеми
За зомбита

1. Speed
2. Gravity
3. 40% invisibility

За хора
1. 150 Hp + 100 Armor
2. M249 + deagle
3. Speed
4. Revive
5. Auto Bunny hop (0/1)

Пробвах да редактирам този плъгин. Тук съм му сменил само езика и това е. Не знам колко е възможна частта с бхоп-а и невидимостта, но се надявам да не е невъзможно. :bigsmile:

Code: Select all

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>

#define ADMIN_JBVIP ADMIN_RESERVATION

// Define the Plugin Version
new const VERSION[] = { "1.0" };

// PREFIX
new const PREFIX[] = { "!g[VIP Menu]!n" };

new VipUsed[33];
new HasSpeed[33];

new Float:fast_speed = 400.0;
new Float:normal_speed = 250.0;

public plugin_init()
{
	register_plugin("BaseBuilder: VIP Menu", VERSION, "");

	RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1);
	RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1);
	
	register_clcmd("say vmenu", "cmdVmenu");
	register_clcmd("say /vmenu", "cmdVmenu");
	register_clcmd("say_team vmenu", "cmdVmenu");
	register_clcmd("say_team /vmenu", "cmdVmenu");
	register_clcmd("say vm", "cmdVmenu");
	register_clcmd("say /vm", "cmdVmenu");
	register_clcmd("say_team vm", "cmdVmenu");
	register_clcmd("say_team /vm", "cmdVmenu");
}

public FwdPreFrame_Post(id)
{
	if(is_user_alive(id) && HasSpeed[id])
		set_user_maxspeed(id, fast_speed);
}

public FwdHamSpawn_Post(id)
{
	HasSpeed[id] = false;
	VipUsed[id] = false;
	set_user_maxspeed(id, normal_speed);
	set_user_rendering( id, _, 0, 0, 0, _, 0 );  
}

public cmdVmenu(id)
{
	if(!(get_user_flags(id) & ADMIN_JBVIP))
	{
		client_printc(id, "%s You need VIP to use this menu.", PREFIX);
		
		return PLUGIN_HANDLED;
	}
	
	if(VipUsed[id])
	{
		client_printc(id, "%s You have already used VIP Menu. You can use it again next respawn.", PREFIX);
		
		return PLUGIN_HANDLED;
	}
	
	switch(cs_get_user_team(id))
	{
		case CS_TEAM_T:
			VipTMenu(id);
		
		case CS_TEAM_CT:
			VipCTMenu(id);
	}
	
	return PLUGIN_HANDLED;
}

public VipCTMenu(id)
{
	new menu = menu_create("\yVIP Menu \r(CT):^n", "VipCTMenu_handler");

	menu_additem(menu, "\w150 HP + 100 Armor", "1", 0);
	menu_additem(menu, "\wM249 + Deagle", "2", 0);
	menu_additem(menu, "\wSpeed", "3", 0);
	menu_additem(menu, "\wRevive", "4", 0);
	menu_additem(menu, "\wG3SG1", "5", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

public VipCTMenu_handler(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

	new key = str_to_num(data);

	switch(key)
	{
		case 1:
		{
			set_user_health(id, get_user_health(id) + 150);
			set_user_armor(id, get_user_armor(id) + 100);
			VipUsed[id] = true;
			
			client_printc(id, "%s You recieved !g150 HP!n + !g100 ARMOR!n", PREFIX);
		}
		case 2:
		{
            give_item(id, "weapon_m249"); 
            give_item(id, "weapon_deagle"); 
            cs_set_user_bpammo(id, CSW_M249, 200); 
            cs_set_user_bpammo(id, CSW_DEAGLE, 100); 
			
			VipUsed[id] = true;
			
			client_printc(id, "%s You recieved !gM249!n + !gDeagle!n", PREFIX);
		}
		case 3:
		{
			VipUsed[id] = true;
			HasSpeed[id] = true;
			
			set_user_maxspeed(id, fast_speed);
			
			client_printc(id, "%s You recieved !gSpeed!n", PREFIX);
   } 
         
        case 4: 
        { 
               
            ExecuteHamB(Ham_CS_RoundRespawn, id); 
  
            VipUsed[id] = true; 

            client_printc(id, "%s You recieved !gRevive", PREFIX); 
        } 
            
              case 5: 
        { 
            give_item(id, "weapon_g3sg1"); 
            cs_set_user_bpammo(id, CSW_G3SG1, 200); 

            VipUsed[id] = true; 

            client_printc(id, "%s You recieved !gG3SG1", PREFIX); 
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public VipTMenu(id)
{
	new menu = menu_create("\yVIP Menu \r(TR):^n", "VipTMenu_handler");

	menu_additem(menu, "\w5000 Hp + 5000 ARMOR", "1", 0);
	menu_additem(menu, "\wSpeed", "2", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

public VipTMenu_handler(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

	new key = str_to_num(data);

	switch(key)
	{
		case 1:
		{
		      set_user_health(id, get_user_health(id) + 5000); 
                                         set_user_armor(id, get_user_armor(id) + 5000); 
                                         VipUsed[id] = true; 

			
			client_printc(id, "%s You recieved !g5000 HP + !g5000 Colete!n", PREFIX);
			
			VipUsed[id] = true;
		}
		case 2:
		{
			VipUsed[id] = true;
			HasSpeed[id] = true;
			
			set_user_maxspeed(id, fast_speed);
			
			client_printc(id, "%s You recieved !gSpeed!n", PREFIX);
		}
		
		case 3:
		{
			set_user_health(id, get_user_health(id) + 50);
			set_user_armor(id, get_user_armor(id) + 150);
			VipUsed[id] = true;
			
			client_printc(id, "%s You recieved !g50 HP!n + !g150 ARMOR!n", PREFIX);
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

// Colour Chat
stock client_printc(const id, const input[], any:...)
{
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
    
    replace_all(msg, 190, "!g", "^x04"); // Green Color
    replace_all(msg, 190, "!n", "^x01"); // Default Color
    replace_all(msg, 190, "!t", "^x03"); // Team Color
    
    if (id) players[0] = id; else get_players(players, count, "ch");
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
Post Reply

Return to “Заявки”