Фикс на плъгина RulesMenu

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Фикс на плъгина RulesMenu

Мнение от impossible » 09 Авг 2020, 18:22

имам грешки в error loga
L 08/09/2020 - 17:37:25: Start of error session.
L 08/09/2020 - 17:37:25: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20200809.log")
L 08/09/2020 - 17:37:25: Player 1 is not in game.
L 08/09/2020 - 17:37:25: [AMXX] Displaying debug trace (plugin "RulesMenu.amxx", version "1.0")
L 08/09/2020 - 17:37:25: [AMXX] Run time error 10: native error (native "menu_display")
L 08/09/2020 - 17:37:25: [AMXX]    [0] RulesMenu.sma::mmenu (line 67)
L 08/09/2020 - 17:37:53: Player 1 is not in game.
L 08/09/2020 - 17:37:53: [AMXX] Displaying debug trace (plugin "RulesMenu.amxx", version "1.0")
L 08/09/2020 - 17:37:53: [AMXX] Run time error 10: native error (native "menu_display")
L 08/09/2020 - 17:37:53: [AMXX]    [0] RulesMenu.sma::mmenu (line 67)

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

/*
	Прост rules плъгин, с който при влизане затъмнява екрана на играча и му изкарва меню, 
	с което трябва да избере дали се съгласява с правилата.
	Има готов HTML код на правилата в rules.txt
*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <colorchat>
#define PLUGIN	"Agreement"
#define AUTHOR	"dejan"
#define VERSION	"1.0"
//#define Website "this EasyBlock server"
new bool:array[33];
new g_msgFade;
public plugin_init()
{
	register_plugin( "Agreement", VERSION, "dejan" )
	register_clcmd("say /rules","server_rules")
	register_clcmd("say rules","server_rules")
	register_clcmd("say !rules","server_rules")
	
	register_logevent( "EventJoinTeam", 3, "1=joined team" );
	
	g_msgFade = get_user_msgid("ScreenFade");
}
public client_disconnect(id)
{
	array[id] = false;
}
public EventJoinTeam()
{
	new iPlayer = GetLoguserIndex();
	
	if(!array[iPlayer])
	{
		set_task(3.0, "ScreenFadeIn", iPlayer)
		set_task(3.0, "mmenu", iPlayer)
	}
}
GetLoguserIndex()
{
    new szArg[61];
    read_logargv(0,szArg, charsmax(szArg));
    
    new szName[32];
    parse_loguser(szArg, szName, charsmax(szName));
    
    return get_user_index(szName);
}
public server_rules(id)
{
	show_motd(id, "addons/amxmodx/configs/rules.txt", "Classic Dust2 Only RetroFUN Server Rules");
}
public mmenu(id)
{
	new Temp[101]
	formatex(Temp,100, "Classic Dust2 Only Server Rules")
	new menu = menu_create(Temp, "smenu");
	menu_additem(menu, "\wI Agree", "1", 0);
	menu_additem(menu, "\rI Disagree", "2", 0);
	menu_addblank(menu, 0);
	menu_addblank(menu, 0);
	menu_additem(menu, "\yShow The Rules", "3", 0);
	menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
	menu_display(id, menu, 0)
	
	//show_motd(id, "rules.txt", "Server Rules");
}  
public smenu(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:
        {
			ScreenFadeOut(id)
			ColorChat(id, RED, "^x04Have^x03 Fun ^x01Playing On ^x03The ^x04Server^x01!")
			array[id] = true;
        }
        case 2:
        {
            server_cmd( "kick #%d", get_user_userid( id ) )
        }
        case 3:
        {
            mmenu(id)
            show_motd(id, "addons/amxmodx/configs/rules.txt", "Classic Dust2 Only Server Rules");
        }
    }  
    menu_destroy( menu );
    return PLUGIN_HANDLED;
}
public ScreenFadeIn(id) 
{
	message_begin(MSG_ONE, g_msgFade, {0,0,0}, id); 
	write_short( ~0 );
	write_short( ~0 );
	write_short( 1<<20 ); 
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 220 );
	message_end( );
	return PLUGIN_CONTINUE;
}
public ScreenFadeOut(id) 
{
	message_begin(MSG_ONE, g_msgFade, {0,0,0}, id); 
	write_short( 1<<12 );
	write_short( 1<<8 ); 
	write_short( 1<<1 ); 
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 128 );
	message_end( );
	return PLUGIN_CONTINUE;
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Фикс на плъгина RulesMenu

Мнение от OciXCrom » 09 Авг 2020, 20:28

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

/*
	Прост rules плъгин, с който при влизане затъмнява екрана на играча и му изкарва меню, 
	с което трябва да избере дали се съгласява с правилата.
	Има готов HTML код на правилата в rules.txt
*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <colorchat>
#define PLUGIN	"Agreement"
#define AUTHOR	"dejan"
#define VERSION	"1.0"
//#define Website "this EasyBlock server"
new bool:array[33];
new g_msgFade;
public plugin_init()
{
	register_plugin( "Agreement", VERSION, "dejan" )
	register_clcmd("say /rules","server_rules")
	register_clcmd("say rules","server_rules")
	register_clcmd("say !rules","server_rules")
	
	register_logevent( "EventJoinTeam", 3, "1=joined team" );
	
	g_msgFade = get_user_msgid("ScreenFade");
}
public client_disconnect(id)
{
	array[id] = false;
}
public EventJoinTeam()
{
	new iPlayer = GetLoguserIndex();
	
	if(!array[iPlayer])
	{
		set_task(3.0, "ScreenFadeIn", iPlayer)
		set_task(3.0, "mmenu", iPlayer)
	}
}
GetLoguserIndex()
{
    new szArg[61];
    read_logargv(0,szArg, charsmax(szArg));
    
    new szName[32];
    parse_loguser(szArg, szName, charsmax(szName));
    
    return get_user_index(szName);
}
public server_rules(id)
{
	show_motd(id, "addons/amxmodx/configs/rules.txt", "Classic Dust2 Only RetroFUN Server Rules");
}
public mmenu(id)
{
	if(!is_user_connected(id))
	{
		return
	}
	
	new Temp[101]
	formatex(Temp,100, "Classic Dust2 Only Server Rules")
	new menu = menu_create(Temp, "smenu");
	menu_additem(menu, "\wI Agree", "1", 0);
	menu_additem(menu, "\rI Disagree", "2", 0);
	menu_addblank(menu, 0);
	menu_addblank(menu, 0);
	menu_additem(menu, "\yShow The Rules", "3", 0);
	menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER);
	menu_display(id, menu, 0)
	
	//show_motd(id, "rules.txt", "Server Rules");
}  
public smenu(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:
        {
			ScreenFadeOut(id)
			ColorChat(id, RED, "^x04Have^x03 Fun ^x01Playing On ^x03The ^x04Server^x01!")
			array[id] = true;
        }
        case 2:
        {
            server_cmd( "kick #%d", get_user_userid( id ) )
        }
        case 3:
        {
            mmenu(id)
            show_motd(id, "addons/amxmodx/configs/rules.txt", "Classic Dust2 Only Server Rules");
        }
    }  
    menu_destroy( menu );
    return PLUGIN_HANDLED;
}
public ScreenFadeIn(id) 
{
	message_begin(MSG_ONE, g_msgFade, {0,0,0}, id); 
	write_short( ~0 );
	write_short( ~0 );
	write_short( 1<<20 ); 
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 220 );
	message_end( );
	return PLUGIN_CONTINUE;
}
public ScreenFadeOut(id) 
{
	message_begin(MSG_ONE, g_msgFade, {0,0,0}, id); 
	write_short( 1<<12 );
	write_short( 1<<8 ); 
	write_short( 1<<1 ); 
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 0 );
	write_byte( 128 );
	message_end( );
	return PLUGIN_CONTINUE;
}

Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Фикс на плъгина RulesMenu

Мнение от impossible » 09 Авг 2020, 22:00

Благодарско.

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

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

Кой е на линия

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