Редакция на redirect плъгин

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Smok3Pot
Извън линия
Потребител
Потребител
Мнения: 256
Регистриран на: 08 Фев 2018, 23:52
Се отблагодари: 9 пъти
Получена благодарност: 11 пъти

Редакция на redirect плъгин

Мнение от Smok3Pot » 11 Мар 2018, 17:46

Уж трябва да метне избран от мен играч,а то мята половината сървър...може ли някой да го направи само избран играч да бъде метнат в избрания сървър?

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

/*
*	Free Plugin For Counter-Strike 1.6 and Zero and also Half-Life. With this Plugin
*	You can easily redirect players to any IP you need. I release this plugin because
*	i don't find something like this so i coded it. It works with STEAM and No-Steam.
*/

#include <amxmodx>

////////==Change Start==///////

#define ACCESS ADMIN_LEVEL_H //Change from here the Access For admins
static IP[] = "79.124.58.85:27016" //Add Here Your IP To redirect players To.

////////==Change End==////////

public plugin_init()
{
	register_plugin("Redirect Players", "1.0", "Raheem")
	register_clcmd("redirect","redirect_menu");
}

public redirect_menu(id)
{
	new menu = menu_create( "\yRedirect Menu\w:", "menu_handler" );
	
	new iPlayers[32], iNum
	get_players(iPlayers, iNum, "c")
	
	new szName[32], szUserId[32];
	
	for (new i = 0;i < iNum;i++)
	{
		get_user_name(iPlayers[i], szName, charsmax(szName))
		formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(iPlayers[i]));
		menu_additem(menu, szName, szUserId, 0)
	}
	
	
	if(get_user_flags(id) & ACCESS)
	{
		menu_display(id, menu, 0)
	}
	else
	{
		client_print_color(id, "!y[!gRedirect!y-!gMenu!y] !tYou have no access to that command!y.")
	}
}

public menu_handler(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new szData[6], szName[64];
	new iaccess, item_callback;
	
	menu_item_getinfo(menu, item, iaccess, szData, charsmax(szData), szName, charsmax(szName), item_callback);
	
	new userid = str_to_num(szData);
	new player = find_player("k", userid);
	
	client_cmd(player, "wait;wait;wait;wait;wait;^"connect^" %s", IP)
	set_task(0.1, "menu_again", id);
	
	menu_destroy(menu)
	return PLUGIN_HANDLED;
}

public menu_again(id)
{
	client_cmd(id, "redirect")
}

stock client_print_color(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, "!y", "^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();  
            }  
        }  
    }  
}

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Редакция на redirect плъгин

Мнение от Fr0sTt » 11 Мар 2018, 18:18

Заповядай:

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>

#define PLUGIN_NAME "Redirect Player Menu"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Fr0sTt"

new const SERVER_IP[] = "127.0.0.0:27015"  //IP-to na servera

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_concmd("amx_redirect_menu", "CmdRedirectMenu", ADMIN_RCON)	
	CC_SetPrefix("&x06[Redirect Menu]")
}

public CmdRedirectMenu(id)
{
	if(!get_user_flags(id) && ADMIN_RCON) return CC_SendMessage(id, "&x01You have no access to that command.")
	
	new iMenu = menu_create("\yRedirect Player Menu:^n\yChoose Player:", "CmdRedirectMenuHandle")
	
	new iPlayers[32], iNum, iTarget;
	new UserName[34], szTempID[10];
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget)) continue;
		get_user_name(iTarget, UserName, sizeof UserName - 1);
		num_to_str(iTarget, szTempID, charsmax(szTempID));
		menu_additem(iMenu, UserName, szTempID);
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_HANDLED
}

public CmdRedirectMenuHandle(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	new target = str_to_num(iData);
	if(!is_user_connected(target))
	{
		CC_SendMessage(id, "&x01The player you chose is not in the server.")
		menu_destroy(iMenu);
		CmdRedirectMenu(id);
		return PLUGIN_HANDLED;
	}
	menu_destroy(iMenu);
	client_cmd(target, "wait;wait;wait;wait;wait;^"connect^" %s",SERVER_IP);
	return PLUGIN_HANDLED
}	

Аватар
Smok3Pot
Извън линия
Потребител
Потребител
Мнения: 256
Регистриран на: 08 Фев 2018, 23:52
Се отблагодари: 9 пъти
Получена благодарност: 11 пъти

Редакция на redirect плъгин

Мнение от Smok3Pot » 11 Мар 2018, 18:28

Изображение

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Редакция на redirect плъгин

Мнение от Fr0sTt » 11 Мар 2018, 18:40

Чакай, че по навик съм вкарал cromchat библиотеката за 2 съобщения. Заповядай оправено:

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

#include <amxmodx>

#define PLUGIN_NAME "Redirect Player Menu"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Fr0sTt"

new const SERVER_IP[] = "127.0.0.0:27015"  //IP-to na servera

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_concmd("amx_redirect_menu", "CmdRedirectMenu", ADMIN_RCON)	
}

public CmdRedirectMenu(id)
{
	if(!get_user_flags(id) && ADMIN_RCON) return client_print(id, print_chat, "You have no access to that command.")
	
	new iMenu = menu_create("\yRedirect Player Menu:^n\yChoose Player:", "CmdRedirectMenuHandle")
	
	new iPlayers[32], iNum, iTarget;
	new UserName[34], szTempID[10];
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget)) continue;
		get_user_name(iTarget, UserName, sizeof UserName - 1);
		num_to_str(iTarget, szTempID, charsmax(szTempID));
		menu_additem(iMenu, UserName, szTempID);
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_HANDLED
}

public CmdRedirectMenuHandle(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	new target = str_to_num(iData);
	if(!is_user_connected(target))
	{
		client_print(id, print_chat, "The player you chose is not in the server.")
		menu_destroy(iMenu);
		CmdRedirectMenu(id);
		return PLUGIN_HANDLED;
	}
	menu_destroy(iMenu);
	client_cmd(target, "wait;wait;wait;wait;wait;^"connect^" %s",SERVER_IP);
	return PLUGIN_HANDLED
}

Аватар
Smok3Pot
Извън линия
Потребител
Потребител
Мнения: 256
Регистриран на: 08 Фев 2018, 23:52
Се отблагодари: 9 пъти
Получена благодарност: 11 пъти

Редакция на redirect плъгин

Мнение от Smok3Pot » 11 Мар 2018, 18:48

Fr0sTt написа: 11 Мар 2018, 18:40 Чакай, че по навик съм вкарал cromchat библиотеката за 2 съобщения. Заповядай оправено:
Отлично работи,но се затваря когато метнеш някой,може ли да остава отворено менюто след мятането на някой?
:tnx:

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Редакция на redirect плъгин

Мнение от Fr0sTt » 11 Мар 2018, 19:14

Под client_cmd.. добави CmdRedirectMenu(id)

Добавено преди 26 минути 8 секунди:
Ето ти го направено и оправена една грешка. За което благодаря на Huehue

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

#include <amxmodx>

#define PLUGIN_NAME "Redirect Player Menu"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Fr0sTt"

new const SERVER_IP[] = "127.0.0.0:27015"  //IP-to na servera

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_concmd("amx_redirect_menu", "CmdRedirectMenu", ADMIN_RCON)	
}

public CmdRedirectMenu(id)
{
	if (!(get_user_flags(id) & ADMIN_RCON)) return client_print(id, print_chat, "You have no access to that command.")
	
	new iMenu = menu_create("\yRedirect Player Menu:^n\yChoose Player:", "CmdRedirectMenuHandle")
	
	new iPlayers[32], iNum, iTarget;
	new UserName[34], szTempID[10];
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget)) continue;
		get_user_name(iTarget, UserName, sizeof UserName - 1);
		num_to_str(iTarget, szTempID, charsmax(szTempID));
		menu_additem(iMenu, UserName, szTempID);
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_HANDLED
}

public CmdRedirectMenuHandle(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	new target = str_to_num(iData);
	if(!is_user_connected(target))
	{
		client_print(id, print_chat, "The player you chose is not in the server.")
		menu_destroy(iMenu);
		CmdRedirectMenu(id);
		return PLUGIN_HANDLED;
	}
	menu_destroy(iMenu);
	client_cmd(target, "wait;wait;wait;wait;wait;^"connect^" %s",SERVER_IP);
	CmdRedirectMenu(id);
	return PLUGIN_HANDLED
}

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1319
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 245 пъти
Получена благодарност: 43 пъти

Редакция на redirect плъгин

Мнение от cgozzie » 11 Мар 2018, 19:26

Може ли да го направите с команда от чата примерно say/ player да се отваря менюто да не е от конзолата.
Изображение

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Редакция на redirect плъгин

Мнение от Fr0sTt » 11 Мар 2018, 19:45

register_concmd("amx_redirect_menu", "CmdRedirectMenu", ADMIN_RCON)
--->
register_clcmd("say /redirect", "CmdRedirectMenu", ADMIN_RCON)

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1319
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 245 пъти
Получена благодарност: 43 пъти

Редакция на redirect плъгин

Мнение от cgozzie » 11 Мар 2018, 19:54

Стана но аз съм с 3 сървъра може ли да ми се показват и 3-та и да избера в кой да го прехвърля.
Изображение

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Редакция на redirect плъгин

Мнение от Fr0sTt » 11 Мар 2018, 20:17

Не съм го тествал-

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

#include <amxmodx>

#define PLUGIN_NAME "Redirect Player Menu"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Fr0sTt"

new const SERVER_IP1[] = "127.0.0.0:27015"  //IP-to na servera
new const SERVER_IP2[] = "127.0.0.0:27015"  //IP-to na servera
new const SERVER_IP3[] = "127.0.0.0:27015"  //IP-to na servera

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_concmd("amx_redirect_menu", "CmdRedirectMenu", ADMIN_RCON)	
}

public CmdRedirectMenu(id)
{
	if (!(get_user_flags(id) & ADMIN_RCON)) return client_print(id, print_chat, "You have no access to that command.")
	
	new iMenu = menu_create("\yRedirect Player Menu:^n\yChoose Player:", "CmdRedirectMenuHandle")
	
	new iPlayers[32], iNum, iTarget;
	new UserName[34], szTempID[10];
	get_players(iPlayers, iNum);
	for(new i; i < iNum; i++)
	{
		iTarget = iPlayers[i];
		if(!is_user_connected(iTarget)) continue;
		get_user_name(iTarget, UserName, sizeof UserName - 1);
		num_to_str(iTarget, szTempID, charsmax(szTempID));
		menu_additem(iMenu, UserName, szTempID);
	}
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_HANDLED
}

public CmdRedirectMenuHandle(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu);
		return PLUGIN_HANDLED;
	}
	new iData[6], iName[64];
	new access, callback;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	new target = str_to_num(iData);
	if(!is_user_connected(target))
	{
		client_print(id, print_chat, "The player you chose is not in the server.")
		menu_destroy(iMenu);
		CmdRedirectMenu(id);
		return PLUGIN_HANDLED;
	}
	menu_destroy(iMenu);
	ServersMenu(id);
	return PLUGIN_HANDLED
}

public ServersMenu(id)
{
	new iMenu = menu_create("\yRedirect Player Menu:^n\yChoose Server:", "ServersMenuHandle")
	menu_additem(iMenu, "Server 1", "1");
	menu_additem(iMenu, "Server 2", "2");
	menu_additem(iMenu, "Server 3", "3");
	menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, iMenu, 0);
	return PLUGIN_HANDLED
}

public ServersMenuHandle(id, iMenu, Item)
{
	new iData[6], iName[64];
	new access, callback, target;
	menu_item_getinfo(iMenu, Item, access, iData, charsmax(iData), iName, charsmax(iName), callback);
	
	switch( str_to_num( iData ) )
	{
		case 1:
		{
			client_cmd(target, "wait;wait;wait;wait;wait;^"connect^" %s",SERVER_IP1);
		}
		case 2:
		{
			client_cmd(target, "wait;wait;wait;wait;wait;^"connect^" %s",SERVER_IP2);
		}
		case 3:
		{
			client_cmd(target, "wait;wait;wait;wait;wait;^"connect^" %s",SERVER_IP3);
		}
	}
	return PLUGIN_HANDLED
}

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

Обратно към “Заявки за плъгини”

Кой е на линия

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