Как да огранича взимането на item по веднъж на прераждане

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от gadinkata » 28 Мар 2020, 18:58

Здравейте,успях да напиша за 2 дена един плъгин за адми,вип и юсер меню,трябва ми помощ с ограничаването на купуване(взимане) на определен итем,в моя случай,на купуването на мк41,също така може да ми кажете как се справям с кода има ли ненужни работи,но не забравяйте в момента се уча :)гледам по лесния начин за мен да го направя.

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <fun>
#include <cstrike> 

#define PLUGIN "proba"
#define VERSION "1.0"
#define AUTHOR "joco"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("nightvision", "AdminMenu")
}

public AdminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\rMENU", "menu_handler");
	
	menu_additem(menu, "\d->>>\wAdmin\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wVip\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wUser\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}
public menu_handler( id, menu, item )
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{	
		case 0:
		{	
			if(get_user_flags(id) & ADMIN_BAN){
				
			sADminMenu(id);
			
			}else{	
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_BAN", szName);
			}			
		
		}
		case 1:
		{	if(get_user_flags(id) & ADMIN_LEVEL_C){
			
			sVipMenu(id);
			
			}else{
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_LEVEL_C", szName);	
			}
		}
		
		case 2:
		{
			sUserMenu(id);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

sADminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yADMIN\rMENU", "submenu_handler");
	
	menu_additem(menu, "\wBan\d-\rMenu", "", 0);
	menu_additem(menu, "\wKick\d-\rMenu", "", 0);
	menu_additem(menu, "\wTeam\d-\rMenu", "", 0);
	menu_additem(menu, "\wSlap-Slay\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

sVipMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yVIP\rMENU", "subvmenu_handler");
	
	menu_additem(menu, "\wVzemi Granata", "", 0);
	menu_additem(menu, "\wTihi Stupki", "", 0);
	menu_additem(menu, "\wSkin Ak47", "", 0);
	menu_additem(menu, "\wGod Mode", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}

sUserMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yUSER\rMENU", "subumenu_handler");
	menu_additem(menu, "\wReset Score", "", 0);
	menu_additem(menu, "\wOnly Admin", "", 0);
	menu_additem(menu, "\wTop 15", "", 0);
	menu_additem(menu, "\whp", "", 0);
	
 	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}
public submenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "amx_banmenu")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "amx_kickmenu")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_slapmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subvmenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_banmenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_banmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subumenu_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)  	
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			
			return PLUGIN_HANDLED;
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

Това е целия код,аз искам проверката да е на give_item(id, "weapon_m4a1")cs_set_user_bpammo(id, CSW_M4A1, 90)

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

public subumenu_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)  	
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			
			return PLUGIN_HANDLED;
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
При закупуването на м4а1 по веднъж на рунд ако, за класик и за веднъж на умиране,ако е респаун
case 3:
		{
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от hackera457 » 28 Мар 2020, 19:42

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <fun>
#include <cstrike> 

#define PLUGIN "proba"
#define VERSION "1.0"
#define AUTHOR "joco"

const MAX_USES = 1

new g_iUse[33]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("nightvision", "AdminMenu")
	
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	
}

public event_new_round()
{
	new iPlayers[32], iNum
	get_players(iPlayers,iNum,"ch")
	
	for(--iNum; iNum>=0; iNum--)
	{
		g_iUse[iPlayers[iNum]] = 0
	}
}

public AdminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\rMENU", "menu_handler");
	
	menu_additem(menu, "\d->>>\wAdmin\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wVip\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wUser\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}
public menu_handler( id, menu, item )
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{	
		case 0:
		{	
			if(get_user_flags(id) & ADMIN_BAN){
				
			sADminMenu(id);
			
			}else{	
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_BAN", szName);
			}			
		
		}
		case 1:
		{	if(get_user_flags(id) & ADMIN_LEVEL_C){
			
			sVipMenu(id);
			
			}else{
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_LEVEL_C", szName);	
			}
		}
		
		case 2:
		{
			sUserMenu(id);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

sADminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yADMIN\rMENU", "submenu_handler");
	
	menu_additem(menu, "\wBan\d-\rMenu", "", 0);
	menu_additem(menu, "\wKick\d-\rMenu", "", 0);
	menu_additem(menu, "\wTeam\d-\rMenu", "", 0);
	menu_additem(menu, "\wSlap-Slay\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

sVipMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yVIP\rMENU", "subvmenu_handler");
	
	menu_additem(menu, "\wVzemi Granata", "", 0);
	menu_additem(menu, "\wTihi Stupki", "", 0);
	menu_additem(menu, "\wSkin Ak47", "", 0);
	menu_additem(menu, "\wGod Mode", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}

sUserMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yUSER\rMENU", "subumenu_handler");
	menu_additem(menu, "\wReset Score", "", 0);
	menu_additem(menu, "\wOnly Admin", "", 0);
	menu_additem(menu, "\wTop 15", "", 0);
	menu_additem(menu, "\whp", "", 0);
	
 	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}
public submenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "amx_banmenu")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "amx_kickmenu")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_slapmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subvmenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_banmenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_banmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subumenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64]  
	new access, callback  
	
	new szName[32]
	
	get_user_name(id, szName, charsmax(szName));
     
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)  	
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			
			return PLUGIN_HANDLED;
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			if(++g_iUse[id] > MAX_USES)
			{
				CC_SendMessage(id, "&x04[&x03%s&x04] &x01Mojete da zakupite predmeta sledvashtiq rund!",szName)
				return PLUGIN_HANDLED
			}
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
От тук

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

const MAX_USES = 1
задаваш максималния брой ползвания на рунд
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от gadinkata » 28 Мар 2020, 20:38

hackera457 написа: 28 Мар 2020, 19:42

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <fun>
#include <cstrike> 

#define PLUGIN "proba"
#define VERSION "1.0"
#define AUTHOR "joco"

const MAX_USES = 1

new g_iUse[33]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("nightvision", "AdminMenu")
	
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	
}

public event_new_round()
{
	new iPlayers[32], iNum
	get_players(iPlayers,iNum,"ch")
	
	for(--iNum; iNum>=0; iNum--)
	{
		g_iUse[iPlayers[iNum]] = 0
	}
}

public AdminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\rMENU", "menu_handler");
	
	menu_additem(menu, "\d->>>\wAdmin\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wVip\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wUser\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}
public menu_handler( id, menu, item )
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{	
		case 0:
		{	
			if(get_user_flags(id) & ADMIN_BAN){
				
			sADminMenu(id);
			
			}else{	
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_BAN", szName);
			}			
		
		}
		case 1:
		{	if(get_user_flags(id) & ADMIN_LEVEL_C){
			
			sVipMenu(id);
			
			}else{
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_LEVEL_C", szName);	
			}
		}
		
		case 2:
		{
			sUserMenu(id);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

sADminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yADMIN\rMENU", "submenu_handler");
	
	menu_additem(menu, "\wBan\d-\rMenu", "", 0);
	menu_additem(menu, "\wKick\d-\rMenu", "", 0);
	menu_additem(menu, "\wTeam\d-\rMenu", "", 0);
	menu_additem(menu, "\wSlap-Slay\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

sVipMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yVIP\rMENU", "subvmenu_handler");
	
	menu_additem(menu, "\wVzemi Granata", "", 0);
	menu_additem(menu, "\wTihi Stupki", "", 0);
	menu_additem(menu, "\wSkin Ak47", "", 0);
	menu_additem(menu, "\wGod Mode", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}

sUserMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yUSER\rMENU", "subumenu_handler");
	menu_additem(menu, "\wReset Score", "", 0);
	menu_additem(menu, "\wOnly Admin", "", 0);
	menu_additem(menu, "\wTop 15", "", 0);
	menu_additem(menu, "\whp", "", 0);
	
 	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}
public submenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "amx_banmenu")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "amx_kickmenu")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_slapmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subvmenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_banmenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_banmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subumenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64]  
	new access, callback  
	
	new szName[32]
	
	get_user_name(id, szName, charsmax(szName));
     
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)  	
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			
			return PLUGIN_HANDLED;
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			if(++g_iUse[id] > MAX_USES)
			{
				CC_SendMessage(id, "&x04[&x03%s&x04] &x01Mojete da zakupite predmeta sledvashtiq rund!",szName)
				return PLUGIN_HANDLED
			}
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
От тук

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

const MAX_USES = 1
задаваш максималния брой ползвания на рунд
Благодаря,нещо за момента се получи,но се оправи,работи кода добре,да попитам може тая проверка,да се сложи и на другите менюта примерно да добавя меню като го натисна да ми се появява примерно добре дошъл Еди кой си,ип-то ни на сървъра е ди кое си,и да сложа тая проверка да се покаже само веднъж това съобщение

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от hackera457 » 28 Мар 2020, 21:26

gadinkata написа: 28 Мар 2020, 20:38
hackera457 написа: 28 Мар 2020, 19:42

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <fun>
#include <cstrike> 

#define PLUGIN "proba"
#define VERSION "1.0"
#define AUTHOR "joco"

const MAX_USES = 1

new g_iUse[33]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("nightvision", "AdminMenu")
	
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	
}

public event_new_round()
{
	new iPlayers[32], iNum
	get_players(iPlayers,iNum,"ch")
	
	for(--iNum; iNum>=0; iNum--)
	{
		g_iUse[iPlayers[iNum]] = 0
	}
}

public AdminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\rMENU", "menu_handler");
	
	menu_additem(menu, "\d->>>\wAdmin\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wVip\d-\rMenu", "", 0);
	menu_additem(menu, "\d->>>\wUser\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}
public menu_handler( id, menu, item )
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{	
		case 0:
		{	
			if(get_user_flags(id) & ADMIN_BAN){
				
			sADminMenu(id);
			
			}else{	
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_BAN", szName);
			}			
		
		}
		case 1:
		{	if(get_user_flags(id) & ADMIN_LEVEL_C){
			
			sVipMenu(id);
			
			}else{
				
			AdminMenu(id);
			
			new szName[32]
	
			get_user_name(id, szName, charsmax(szName));
			
			CC_SendMessage(id, "&x04[&x03%s&x04] &x01Vie nqmate &x03ADMIN_LEVEL_C", szName);	
			}
		}
		
		case 2:
		{
			sUserMenu(id);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

sADminMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yADMIN\rMENU", "submenu_handler");
	
	menu_additem(menu, "\wBan\d-\rMenu", "", 0);
	menu_additem(menu, "\wKick\d-\rMenu", "", 0);
	menu_additem(menu, "\wTeam\d-\rMenu", "", 0);
	menu_additem(menu, "\wSlap-Slay\d-\rMenu", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
}

sVipMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yVIP\rMENU", "subvmenu_handler");
	
	menu_additem(menu, "\wVzemi Granata", "", 0);
	menu_additem(menu, "\wTihi Stupki", "", 0);
	menu_additem(menu, "\wSkin Ak47", "", 0);
	menu_additem(menu, "\wGod Mode", "", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}

sUserMenu(id)
{
	new menu = menu_create("\wBulgarian\yServers^n\yUSER\rMENU", "subumenu_handler");
	menu_additem(menu, "\wReset Score", "", 0);
	menu_additem(menu, "\wOnly Admin", "", 0);
	menu_additem(menu, "\wTop 15", "", 0);
	menu_additem(menu, "\whp", "", 0);
	
 	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0)
}
public submenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}

	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "amx_banmenu")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "amx_kickmenu")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_slapmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subvmenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			return PLUGIN_HANDLED
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_banmenu")
		}
		
		case 3:
		{
			client_cmd(id, "amx_banmenu")
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public subumenu_handler(id,menu,item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64]  
	new access, callback  
	
	new szName[32]
	
	get_user_name(id, szName, charsmax(szName));
     
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)  	
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			
			return PLUGIN_HANDLED;
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			if(++g_iUse[id] > MAX_USES)
			{
				CC_SendMessage(id, "&x04[&x03%s&x04] &x01Mojete da zakupite predmeta sledvashtiq rund!",szName)
				return PLUGIN_HANDLED
			}
			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
От тук

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

const MAX_USES = 1
задаваш максималния брой ползвания на рунд
Благодаря,нещо за момента се получи,но се оправи,работи кода добре,да попитам може тая проверка,да се сложи и на другите менюта примерно да добавя меню като го натисна да ми се появява примерно добре дошъл Еди кой си,ип-то ни на сървъра е ди кое си,и да сложа тая проверка да се покаже само веднъж това съобщение
Проверката може да я сложиш в плъгина където си поискаш, попринцип на другите менюта можеш вместо да показва съобщение да оставиш само

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

return PLUGIN_HANDLED
Така само на това за m4a1 ще излиза съобщението, на другите просто ще се спре изпълнението на функцията
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от gadinkata » 24 Апр 2020, 00:23

Тъй като в момента имам respawn сървър и нямам рундове,веднъж взето оръжието дори и да го хвърля на земята дори и да умра 10 пъти,немога да го закупя отново,тоя начин дето ми е даден,става за класик сървър,а за respawn?какво предлагате

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

 RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
public OnPlayerSpawn(id)
{
    // Когато играчът е съживен, рестартираме неговия лимит.
    g_iUses[id] = 0
    
}
става ли по тоя начин?

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Как да огранича взимането на item по веднъж на прераждане

Мнение от atmax » 24 Апр 2020, 08:36

Замени event_new_round функцията, с тази която ти предлагаш (Ham_Spawn) и да не забравиш да include-неш hamsandwich.
Rest in peace my friend I always will remember you! 🖤👊

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от gadinkata » 26 Апр 2020, 03:54

Отказвам се 3 часа си играя да направя оръжието което взимам,да не мога да го взема втори път,ако е в мен

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <hamsandwich>
#include <fun>
#include <cstrike>

#define PLUGIN "gsp_menu"
#define VERSION "1.0"
#define AUTHOR "gadinkata"


const MAX_USES = 1

new g_iUses[33]

new bool:menu_used[33]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	register_clcmd("nightvision","glMenu")
}

public OnPlayerSpawn(id)
{
if(g_iUses[id]++ >= MAX_USES)
{
if(menu_used[id])
{
g_iUses[id] = 0
menu_used[id] = false
CC_SendMessage(id, "if menu")
}else{
g_iUses[id] = 1
menu_used[id] = true
CC_SendMessage(id, "else menu")
}
CC_SendMessage(id, "if");
}else{
menu_used[id] = true
CC_SendMessage(id, "else");
}
return PLUGIN_HANDLED;
}

public glMenu(id)
{
	new iMenu = menu_create("Test Menu", "glMenu_Handler");
	
	menu_additem(iMenu, "Buy Weapon Random", "", 0);
	
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_HANDLED;
}

public glMenu_Handler(id, iMenu, iTem)
{
	if(iTem == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	
	switch(iTem)
	{
		case 0:
		{
			if(g_iUses[id]++ >= MAX_USES)
			{
				CC_SendMessage(id, "&x03Ti ne poluchi");
				return PLUGIN_HANDLED
			}else{
				give_item(id, "weapon_m4a1")
				cs_set_user_bpammo(id, CSW_M4A1, 90)
				CC_SendMessage(id, "&x04 Ti poluchi m4a1")
			}
		}
	}
	menu_destroy(iMenu);
	return PLUGIN_HANDLED;
}
просто искам, след като се прероди да неми позволява да купувам пак емката и да ми изпизва ти не получи,защото в момента като я взема и след като свърши рунда и тя е в мен,пак ми позволява и ми пише ти поличи мка,при прераждане да се направи проверка дали имам избрания пред мен или съм използвал g_iUses

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

public OnPlayerSpawn(id)
{
if(g_iUses[id]++ >= MAX_USES)
{
if(menu_used[id])
{
g_iUses[id] = 0
menu_used[id] = false
CC_SendMessage(id, "if menu")
}else{
g_iUses[id] = 1
menu_used[id] = true
CC_SendMessage(id, "else menu")
}
CC_SendMessage(id, "if");
}else{
menu_used[id] = true
CC_SendMessage(id, "else");
}
return PLUGIN_HANDLED;
}
може и да ми се смеете от тая проверка,не единствена хиляди пробвах резултата един и същ, някой път успявам до някъде,от начало започваше да чете кода от главното else,ако не взема мката,при нов рунд пак започва от else,ако взема мка и съм с нея,ме препраща към главно if,в тоя случай дето съм дал, ме пуска от if menu взимам мката, като съм с нея ме препаща към else menu неми позволява да я взема,след другия рунд пак ме праща в if menu i и така цикъла се повтаря....

Аватар
Tornado_SW
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 159
Регистриран на: 04 Фев 2020, 22:41
Се отблагодари: 28 пъти
Получена благодарност: 76 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от Tornado_SW » 26 Апр 2020, 04:07

Направи един буул и когато играчът умре да става true и при следващ спаун ако е true, лимита му да започва от 0. В противен случай да му започва от достигналия максмум (MAX_USES).

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от gadinkata » 26 Апр 2020, 18:18

аз,ако знаех как да направя тази проверка нямаше да питам,за това моля,дайте прости примери че да ви разбера,незнам каква е функцията когато играч умре,!is_user_alive и къде да се направи тази проверка в ham spawn или друга функция

Аватар
JackEyedJones
Извън линия
Потребител
Потребител
Мнения: 399
Регистриран на: 10 Сеп 2018, 17:26
Местоположение: Plovdiv, Bulgaria, Europe, Entire World
Се отблагодари: 4 пъти
Получена благодарност: 69 пъти
Обратна връзка:

Как да огранича взимането на item по веднъж на прераждане

Мнение от JackEyedJones » 26 Апр 2020, 18:58

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

public subumenu_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)  	
	
	switch(item)
	{
		case 0:
		{
			client_cmd(id, "say /hp")
            
			menu_destroy(menu);
			
			return PLUGIN_HANDLED;
		}
		case 1:
		{
			client_cmd(id, "say /top15")
		}
		
		case 2:
		{
			client_cmd(id, "amx_teammenu")
		}
		
		case 3:
		{
			if(user_has_weapon(id, CSW_M4A1))
			{
				client_print(id, print_chat, "Ti imash M4A1");
				return PLUGIN_HANDLED;
			}

			give_item(id, "weapon_m4a1")
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}	
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
:gamer1:

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

Обратно към “Помощ в скриптирането”

Кой е на линия

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