Редактиране на spec_swich добавяне на team меню

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Отговори
Потребителски аватар

Автор на темата
PreDatoR
Потребител
Потребител
Мнения: 21
Регистриран: 15 дек 2018, 13:23

Редактиране на spec_swich добавяне на team меню

Мнение от PreDatoR » 13 апр 2019, 22:41

Здравейте! Искам да има меню при което като се напише /back да излиза меню което да си избират отбор.
1.Back in Team
2.Terrorist Team
3.Counter-Terrorist team
0.Exit

Код: Избери всички

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

#define PLUGIN "Spec Switch"
#define VERSION "0.1.3"
#define AUTHOR "many"

new CsTeams:zTeam[33]
new zDeath[33]
new bool:type_spec[33] = false
new g_cvar

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	/* Cvar */
	g_cvar	= register_cvar("amx_specmode",	"0") 	// 0 - enable use to all, 1 - enable use only ADMINs
	/* Client Commands */
	register_clcmd("say /spec", 		"cmdSpec", ADMIN_ALL, "- go to spectator")
	register_clcmd("say_team /spec", 	"cmdSpec", ADMIN_ALL, "- go to spectator")
	register_clcmd("say /back", 		"cmdBack", ADMIN_ALL, "- go back to your team")
	register_clcmd("say_team /back", 	"cmdBack", ADMIN_ALL, "- go back to your team")
}

public cmdSpec(id)
{
	if(!get_pcvar_num(g_cvar)) Spec(id)
	else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Spec(id)
	else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK)) PrintUserNotAdmin(id)
}

public cmdBack(id)
{
	if (type_spec[id] && cs_get_user_team(id) == CS_TEAM_SPECTATOR && zTeam[id] != CS_TEAM_SPECTATOR ) Back(id)
	else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK) ) PrintUserNotAdmin(id)
}

public Spec(id)
{
	zDeath[id] = cs_get_user_deaths(id)
	if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
	return
	else{
		type_spec[id] = true
		zTeam[id] = cs_get_user_team(id)
		cs_set_user_team(id, CS_TEAM_SPECTATOR)
		user_silentkill(id)
		client_print(id,print_chat,"Type /back to return from Spectator")
	}
	return
}

public Back(id)
{
	cs_set_user_team(id, zTeam[id])
	cs_set_user_deaths(id, zDeath[id])
	set_task(0.5,"FirstRespawn",id)
	set_task(0.8,"SecondRespawn",id)
}

public FirstRespawn(id)
{
	cs_user_spawn(id)
}

public SecondRespawn(id)
{
	cs_user_spawn(id)
	if (cs_get_user_team(id) == CS_TEAM_T){
		give_item(id,"weapon_knife")
		give_item(id,"weapon_glock18")
		give_item(id,"ammo_9mm")
	}
	if (cs_get_user_team(id) == CS_TEAM_CT){
		give_item(id,"weapon_knife")
		give_item(id,"weapon_usp")
		give_item(id,"ammo_45acp")
		give_item(id,"ammo_45acp")
	}
}

PrintUserNotAdmin(id)
{
	client_print(id,print_chat,"Only Admins can use /spec, /back command")
}

public PrintRule(id)
{
	if ( is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) ){
		client_print(id,print_chat,"Type /spec if you want to go Spectator")
		client_print(id,print_chat,"Type /back to return from Spectator")
	}
}

public client_putinserver(id)
{
	if(!get_pcvar_num(g_cvar)) Rule(id)
	else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Rule(id)
}

public client_disconnect(id) type_spec[id] = false
public client_connect(id) type_spec[id] = false
public Rule(id) set_task(20.0, "PrintRule", id)

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1033\\ b\\ f0\\ fs16 \n\\ par }
*/
Последна промяна от PreDatoR на 14 апр 2019, 17:18, променено общо 1 път.
93.123.18.59:27016

Потребителски аватар

stambeto2006
Тестов модератор
Тестов модератор
Мнения: 364
Регистриран: 06 окт 2016, 15:44
Се отблагодари: 19 пъти
Получена благодарност: 25 пъти
Години: 24
Контакти:

Редактиране на spec_swich

Мнение от stambeto2006 » 14 апр 2019, 07:27

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

Потребителски аватар

M36
Потребител
Потребител
Мнения: 62
Регистриран: 19 фев 2019, 11:34
Се отблагодари: 7 пъти

Редактиране на spec_switch добавяне на team меню

Мнение от M36 » 14 апр 2019, 18:28

stambeto2006 написа:
14 апр 2019, 07:27
Оправи си заглавието на темата, от самото заглавие не се разбира какво точно искаш да ти се редактира в плъгина.
оправено!

Потребителски аватар

M36
Потребител
Потребител
Мнения: 62
Регистриран: 19 фев 2019, 11:34
Се отблагодари: 7 пъти

Редактиране на spec_swich добавяне на team меню

Мнение от M36 » 05 май 2019, 14:33

stambeto2006 написа:
14 апр 2019, 07:27
Оправи си заглавието на темата, от самото заглавие не се разбира какво точно искаш да ти се редактира в плъгина.

Код: Избери всички

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

#define PLUGIN "Spec Switch"
#define VERSION "0.1.3"
#define AUTHOR "many"

new CsTeams:zTeam[33]
new zDeath[33]
new bool:type_spec[33] = false
new g_cvar

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	/* Cvar */
	g_cvar	= register_cvar("amx_specmode",	"0") 	// 0 - enable use to all, 1 - enable use only ADMINs
	/* Client Commands */
	register_clcmd("say /spec", 		"cmdSpec", ADMIN_ALL, "- go to spectator")
	register_clcmd("say_team /spec", 	"cmdSpec", ADMIN_ALL, "- go to spectator")
	register_clcmd("say /back", 		"cmdBack", ADMIN_ALL, "- go back to your team")
	register_clcmd("say_team /back", 	"cmdBack", ADMIN_ALL, "- go back to your team")
}

public cmdSpec(id)
{
	if(!get_pcvar_num(g_cvar)) Spec(id)
	else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Spec(id)
	else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK)) PrintUserNotAdmin(id)
}

public cmdBack(id)
{
	if (type_spec[id] && cs_get_user_team(id) == CS_TEAM_SPECTATOR && zTeam[id] != CS_TEAM_SPECTATOR ) Back(id)
	else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK) ) PrintUserNotAdmin(id)
}

public Spec(id)
{
	zDeath[id] = cs_get_user_deaths(id)
	if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
	return
	else{
		type_spec[id] = true
		zTeam[id] = cs_get_user_team(id)
		cs_set_user_team(id, CS_TEAM_SPECTATOR)
		user_silentkill(id)
		client_print(id,print_chat,"Type /back to return from Spectator")
	}
	return
}

public Back(id)
{
	cs_set_user_team(id, zTeam[id])
	cs_set_user_deaths(id, zDeath[id])
	set_task(0.5,"FirstRespawn",id)
	set_task(0.8,"SecondRespawn",id)
}

public FirstRespawn(id)
{
	cs_user_spawn(id)
}

public SecondRespawn(id)
{
	cs_user_spawn(id)
	if (cs_get_user_team(id) == CS_TEAM_T){
		give_item(id,"weapon_knife")
		give_item(id,"weapon_glock18")
		give_item(id,"ammo_9mm")
	}
	if (cs_get_user_team(id) == CS_TEAM_CT){
		give_item(id,"weapon_knife")
		give_item(id,"weapon_usp")
		give_item(id,"ammo_45acp")
		give_item(id,"ammo_45acp")
	}
}

PrintUserNotAdmin(id)
{
	client_print(id,print_chat,"Only Admins can use /spec, /back command")
}

public PrintRule(id)
{
	if ( is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) ){
		client_print(id,print_chat,"Type /spec if you want to go Spectator")
		client_print(id,print_chat,"Type /back to return from Spectator")
	}
}

public client_putinserver(id)
{
	if(!get_pcvar_num(g_cvar)) Rule(id)
	else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Rule(id)
}

public client_disconnect(id) type_spec[id] = false
public client_connect(id) type_spec[id] = false
public Rule(id) set_task(20.0, "PrintRule", id)

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1033\\ b\\ f0\\ fs16 \n\\ par }
*/
Можеш ли да помогнеш да се добави "team menu" ,когато си спектатор и напишеш /back да се показва това меню.

Отговори

Върни се в “Заявки за плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 3 госта