←  Pytania dotyczące pluginów

AMXX.pl: Support AMX Mod X i SourceMod

»

2 pytanka na temat menu

  • +
  • -
RomanHardcor - zdjęcie RomanHardcor 24.08.2016

1. Jak zrobić w menu opcję taką jak (własny powód) i tą informację wywoływano w ColorChacie

Np na podstawie tego menu

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
	register_plugin("menu", "1.0", "RomanHardcor");
	register_clcmd("say /menu", "takiesobiemenu")
}

public takiesobiemenu(id)
{
	new tytul[25];
	format(tytul, 24, "\gMenu");
	new menu = menu_create(tytul, "takitamhandler");
	menu_additem(menu, "\rjakas tam opcja #1"); //0
	menu_additem(menu, "\rjakas tam opcja #2"); //1
	menu_additem(menu, "\rjakas tam opcja #3"); //2
	menu_additem(menu, "\rWlasny powod"); //3

	menu_setprop(menu,MPROP_NUMBER_COLOR, "\w")
	menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
	menu_setprop(menu,MPROP_NEXTNAME,"\dDalej")
	menu_setprop(menu,MPROP_BACKNAME,"\dWroc")
	menu_setprop(menu,MPROP_EXITNAME,"\dWyjscie")

	menu_display(id, menu);
	
}

public takitamhandler(id, menu, item)
{
	
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	switch(item)
	{
		
		case 0:
		{
			//jakaś funkcja #1
		}
		
		case 1:
		{
			//jakaś funkcja #2
		}
		
		case 2:
		{
			//jakaś funkcja #3
		}
		
		case 3:
		{
			//Tutaj tak by wyświetlało informacje np tak
			client_print(0, print_chat, "Powód: %s");
		}
	}
	
	return PLUGIN_CONTINUE;
}

Gdzieś kiedyś coś widziałem z użyciem message mode czy jakoś tak

 

2. 

I kolejne pytanie.

Sprawdzić czy ktoś kogoś zabił mogę sprawdzić tak

new killer = read_data(1)
new victim = read_data(2)
if(get_user_team(killer) == 2 && get_user_team(victim) == 1)
{
coś tam 
}

I teraz pytanie, jak wyświetlić menu zabójcy?

Np w jailbreaku jest to zrobione

public takipublic(id)
{
if(jail_get_prowadzacy() != id)
{
return PLUGIN CONTINUE;
}
Jakieś tak menu albo cokolwiek
}

Użytkownik RomanHardcor edytował ten post 24.08.2016 14:42
Odpowiedz

  • +
  • -
rzeznik9871 - zdjęcie rzeznik9871 24.08.2016

1.Rozumiem ze chcesz wyswietlic czat (tak jak przy normalnym pisaniu na sayu?) w takim razie musisz

		case 3:
		{
			//Tutaj tak by wyświetlało informacje np tak
			client_cmd(id,"messagemode powod");
		}

teraz wyswietli ci "saya" z napisem powod w ktorego mozesz cos wpisac

teraz musisz zarejestrowac komende

register_clcmd("powod", "funkcja")

w wtedy w "funkcja" mozesz lapac argumenty w komendzie poprzez

read_argv(id, output[], len)

zerknij do dokumentacji jak to dziala

 

2.

new killer = read_data(1)
new victim = read_data(2)
if(killer==victim || killer==0)
      return;

takiesobiemenu(killer)
Odpowiedz

  • +
  • -
Najlepsza odpowiedź Master Yoga - zdjęcie Master Yoga 24.08.2016

1. https://amxx.pl/topi...-z-messagemode/

2.

public pokaz_menu(id)
{
    [...]

    return plugin_continue;
}

public twoja_funkcja()
{
new killer = read_data(1)
new victim = read_data(2)

if(get_user_team(killer) == 2 && get_user_team(victim) == 1)
{
    pokaz_menu(killer)
}

}
Odpowiedz

  • +
  • -
RomanHardcor - zdjęcie RomanHardcor 24.08.2016

Dzięki, coś spróbuje wykombinować z tym pod wieczór i jak się uda to wleci plugin na amxx ;P

Odpowiedz