←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z menu i callbackiem

  • +
  • -
wiwi249's Photo wiwi249 27.09.2014

Hej.

Piszę teraz plugin i wszystko fajnie działa, ale napotkałem problemy podczas tworzenia menu.

 

Mam taki oto kod:

new MenuCallBack = menu_makecallback("PunktMenu_Callback");
	
menu_additem(menu, "Wymien Punkty", "", MenuCallBack);
menu_addblank(menu, 1);
//dalej jakies menu_addtext, niepowiązane za bardzo oraz menu_setprop

A następnie do tego callback

public PunktMenu_Callback(id, menu, item)
{
	if(item != 0)
		return ITEM_ENABLED;
		
	if(punkty_gracza[id] < LIMIT_WYMIANY)
		return ITEM_DISABLED;
			
	return ITEM_ENABLED;
}

Ogólnie miało być tak, że dla tej opcji "Wymien Punkty" ma byc wyłączony dostęp, jeśli zmienna punkty_gracza[id] jest mniejsza od 300 ( #define LIMIT_WYMiANY 300 mam na wstępie), jednak w praktyce wychodzi tak, że cały czas gracz ma zablokowany dostęp, nawet jak ma 300,  400 czy 5000 puntków.

Próbowałem ten Callback przepisywać na masę sposobów ale zawsze wychodziło mi na jedno. Ma ktoś pomysł jak to mozna wykonać?

Btw. do punkty_gracza[id] wartości na pewno zapisują się poprawnie, bo w tym samym menu używam menu_addtext do pokazania graczowi, ile ma punktów.

Jak to poprawnie napisać?

Quote

  • +
  • -
Andrzejek's Photo Andrzejek 29.09.2014

Ja nie bardzo rozumiem o co Ci chodzi :)

Quote

  • +
  • -
wiwi249's Photo wiwi249 29.09.2014

Najprośiej? Jak zrobić ten callback, żeby działał poprawnie, zamiast ciągle ustawiać mi wyłączoną opcję menu?

Quote

  • +
  • -
G[o]Q's Photo G[o]Q 29.09.2014

Najprościej?

public PunktMenu_Callback(id, menu, item)
{
    return ITEM_ENABLED;
}

a jak chcesz jakis bardziej zaawansowany to opisz dokladnie co chcesz osiągnąć

Quote