Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Jak zmienić oznaczanie?


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 Sofcik

    Zaawansowany

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:106
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Zabrze / Rotterdam
Offline

Napisano 30.08.2015 19:20

Witam.

Mam plugin, który za pomocą komendy /oznacz oznacza wybranego gracza danym kolorem. Chciałbym by zamiast tego oznaczanie gracza było za pomocą najechania na niego i naciśnięcia guzika "E" i aby był ozaczany na kolor zielony. Oto sma pluginu:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
 
new opcja, gracz_id[33], wybrany;
new name[33];
 
public plugin_init() {
register_plugin("plugin", "1.0", "sweeper");
 
register_clcmd("say /oznacz", "oznacz");
 
}
 
public oznacz(id)
{
if(get_user_team(id) != 2)
return PLUGIN_HANDLED;
 
new tytul[64];
format(tytul, 63, "\rJB Kolor Menu");
new menu = menu_create(tytul, "oznacz_handler");
menu_additem(menu, "Ustaw Kolor");
 
menu_display(id, menu);
 
return PLUGIN_HANDLED;
}
 
public oznacz_handler(id, menu, item)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
 
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
 
switch(item)
{
case 0:
{
Gracz(id);
opcja = 1;
}
}
 
return PLUGIN_CONTINUE;
}
 
public Gracz(id)
{
new menu = menu_create("Wybierz gracza:", "Gracz_handler");
 
for(new i=0, n=0; i<=32; i++)
{
if(!is_user_connected(i))
continue;
gracz_id[n++] = i;
new nazwa_gracza[64];
get_user_name(i, nazwa_gracza, 63)
menu_additem(menu, nazwa_gracza, "0", 0);
}
menu_display(id, menu);
}
 
public Gracz_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
 
wybrany = gracz_id[item];
get_user_name(wybrany, name, 32);
 
if(opcja == 1)
wybierz_kolor(id);
 
return PLUGIN_HANDLED;
}
 
public wybierz_kolor(id)
{
new tytul[25];
format(tytul, 24, "\yKolory:");
new menu = menu_create(tytul, "kolory_handler");
menu_additem(menu, "Niebieski");
menu_additem(menu, "Zielony");
menu_additem(menu, "Czerwony");
 
menu_display(id, menu);
}
 
public kolory_handler(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:
{
fm_set_user_rendering(wybrany, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25)
client_print(id, print_chat, "Ustawiles graczowi %s kolor niebieski!", name);
}
case 1:
{
fm_set_user_rendering(wybrany, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 25)
client_print(id, print_chat, "Ustawiles graczowi %s kolor zielony!", name);
}
case 2:
{
fm_set_user_rendering(wybrany, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 25)
client_print(id, print_chat, "Ustawiles graczowi %s kolor czerwony!", name);
}
 
}
return PLUGIN_CONTINUE;
}

Chciałbym tez żeby po oznaczeniu gracza pojawiło mu sie pole wyboru jednego z kilku kolorów i gdy jeden wybierze by na czacie pojawiało się info: :Gracz (jego nick) wybrał kolor (np zielony)".

Kolorydo wyboru:

-niebieski;

-zielony;

-fioletowy;

-różowy;

-żółty;

-czerwony.


Użytkownik Sofcik edytował ten post 30.08.2015 19:24

  • +
  • -
  • 0

1447472674_sofcikp.png


#2 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 03.09.2015 13:25

#include < amxmodx >
#include < fakemeta >
#include < fun >

new chosen

public plugin_init( )
{
	register_plugin( "Oznacz", "1.0", "radim" )
	
	register_clcmd( "+use", "Choose" )
}

public Choose( id )
{
	new tid, body, target[ 33 ]
	get_user_aiming( id, tid, body )
	get_user_name( tid, target, charsmax( target ) )
	new player = find_player( "a", target )
	
	if( player )
	{
		chosen = player
		ColorMenu( id )
	}
	else
	client_print( id, print_chat, "Nie znaleziono celu!" )
}

public ColorMenu( id )
{
	new iMenu = menu_create( "Wybierz Kolor", "ColorMenu_Handler" );

	menu_additem( iMenu, "Zielony" );
	menu_additem( iMenu, "Niebieski" );
	menu_additem( iMenu, "Fioletowy" );
	menu_additem( iMenu, "Rozowy" );
	menu_additem( iMenu, "Zolty" );
	menu_additem( iMenu, "Czerwony" );

	menu_display( id, iMenu );
}

public ColorMenu_Handler( id, iMenu, iItem )
{
	if( iItem == MENU_EXIT )
	return;
	
	switch( iItem )
	{
	case 0: set_user_rendering( chosen, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 25 )
	case 1: set_user_rendering( chosen, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25 )
	case 2: set_user_rendering( chosen, kRenderFxGlowShell, 148, 0, 211, kRenderNormal, 25 )
	case 3: set_user_rendering( chosen, kRenderFxGlowShell, 249, 132, 229, kRenderNormal, 25 )
	case 4: set_user_rendering( chosen, kRenderFxGlowShell, 255, 255, 0, kRenderNormal, 25 )
	case 5: set_user_rendering( chosen, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 25 )
	}
}

  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#3 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 03.09.2015 14:23

#include < amxmodx >
#include < fakemeta >
#include < fun >

new chosen

public plugin_init( )
{
	register_plugin( "Oznacz", "1.0", "radim" )
	
	register_clcmd( "+use", "Choose" )
}

public Choose( id )
{
	new tid, body, target[ 33 ]
	get_user_aiming( id, tid, body )
	get_user_name( tid, target, charsmax( target ) )
	new player = find_player( "a", target )
	
	if( player )
	{
		chosen = player
		ColorMenu( id )
	}
	else
	client_print( id, print_chat, "Nie znaleziono celu!" )
}

public ColorMenu( id )
{
	new iMenu = menu_create( "Wybierz Kolor", "ColorMenu_Handler" );

	menu_additem( iMenu, "Zielony" );
	menu_additem( iMenu, "Niebieski" );
	menu_additem( iMenu, "Fioletowy" );
	menu_additem( iMenu, "Rozowy" );
	menu_additem( iMenu, "Zolty" );
	menu_additem( iMenu, "Czerwony" );

	menu_display( id, iMenu );
}

public ColorMenu_Handler( id, iMenu, iItem )
{
	if( iItem == MENU_EXIT )
	return;
	
	switch( iItem )
	{
	case 0: set_user_rendering( chosen, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 25 )
	case 1: set_user_rendering( chosen, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25 )
	case 2: set_user_rendering( chosen, kRenderFxGlowShell, 148, 0, 211, kRenderNormal, 25 )
	case 3: set_user_rendering( chosen, kRenderFxGlowShell, 249, 132, 229, kRenderNormal, 25 )
	case 4: set_user_rendering( chosen, kRenderFxGlowShell, 255, 255, 0, kRenderNormal, 25 )
	case 5: set_user_rendering( chosen, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 25 )
	}
}

 

+use? o_O . Przeciez to nie zadziala.


  • +
  • -
  • 2

b35020692_qesnxqa.png


#4 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 03.09.2015 17:17

Spoiler

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#5 Sofcik

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:106
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Zabrze / Rotterdam
Offline

Napisano 07.09.2015 03:06

Wielkie dzięki. Popołudniu sprawdze. ;)
  • +
  • -
  • 0

1447472674_sofcikp.png


#6 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 07.09.2015 07:18

o bosh, nawet moderator napisac prostego kodu poprawnie nie potrafi, wstyd

#include <amxmodx>
#include <fakemeta>

new g_hMenuColors;

public plugin_init()
{
	register_forward(FM_CmdStart, "CmdStart");

	g_hMenuColors = menu_create("Wybierz kolor", "HandleChooseColor");
	menu_additem(g_hMenuColors, "Niebieski", "000000255");
	menu_additem(g_hMenuColors, "Zielony", "000255000");
	menu_additem(g_hMenuColors, "Fioletowy", "163073164");
	menu_additem(g_hMenuColors, "Rozowy", "255174201");
	menu_additem(g_hMenuColors, "Zolty", "255255000");
	menu_additem(g_hMenuColors, "Czerwony", "255000000");
	menu_setprop(g_hMenuColors, MPROP_EXIT, MEXIT_NEVER);
}

public CmdStart(id, iUCHandle)
{
	if(!is_user_alive(id) || get_user_team(id) != 2)
	{
		return;
	}

	static iPid, iBody;
	get_user_aiming(id, iPid, iBody);

	if(!is_user_alive(iPid) || get_user_team(iPid) != 1 || ~get_uc(iUCHandle, UC_Buttons) & IN_USE || pev(id, pev_oldbuttons) & IN_USE)
	{
		return;
	}

	menu_display(iPid, g_hMenuColors);
}

public HandleChooseColor(id, menu, item)
{
	if(!is_user_alive(id))
	{
		return;
	}

	static szColor[10], szRGB[10], iBitAccess, iCallBack;
	menu_item_getinfo(menu, item, iBitAccess, szRGB, 9, szColor, 9, iCallBack);

	static szName[32], iColor[3], Float:fColor[3], iRGB, i;
	get_user_name(id, szName, 31);

	iRGB = str_to_num(szRGB);
	iColor[0] = iRGB / 1000000;
	iRGB %= 1000000;
	iColor[1] = iRGB / 1000;
	iColor[2] = iRGB % 1000;

	for(i = 0; i < 3; i++)
	{
		fColor[i] = float(iColor[i]);
	}

	set_pev(id, pev_renderfx, kRenderFxGlowShell);
	set_pev(id, pev_rendermode, kRenderNormal);
	set_pev(id, pev_renderamt, 25.0);
	set_pev(id, pev_rendercolor, fColor);
		
	client_print(0, print_chat, "Gracz %s wybral kolor %s", szName, szColor);
}

  • +
  • -
  • -1

#7 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 07.09.2015 11:07

Jeżeli nie napisałem kodu poprawnie, udowodnij mi błąd i pokaż, że plugin nie będzie działał w praktyce ;) Było to moje ponowne spotkanie z amxx'em po długiej przerwie, błąd każdemu może się zdarzyć tak jak i mi w pierwszym poście. Tacy odważani delikwenci jak Ty byli już na tym forum i nie skończyli zbyt dobrze. Ale pierwszy raz mi się zdarza takie prostactwo i bezczelność ze strony kobiety. Nie traktuj tego jako groźby, a raczej jako przestrogę aby na przyszłość podchodzić do czegoś z dystansem i nie reprezentować sobą pyszałkowatego zachowania.

Co do kodu. Prawda, nie doczytałem dokładnie próśb autora aby menu otwierało się graczu wybranemu. Już poprawione.


  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych