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

Ucina menu


  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 12.08.2011 17:14

Siema znowu mam problem a mianowicie:
Dołączona grafika

public PokazPrzedzial(id)
{
if(!zadanie_gracza[id]){
new menu = menu_create("Wybierz frakcje:", "PokazZadania");
for(new i = 1;i<sizeof(przedzial);i++){
menu_additem(menu, przedzial[i]);
}
menu_display(id, menu);
}
else
ColorChat(id, GREEN, "Posiadasz juz zadanie. Aktualne zadanie: %s", zadania[zadanie_gracza[id]])
}

public PokazZadania(id, menu2, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu2);
return PLUGIN_CONTINUE;
}

item++;
new menu = menu_create("Zadania:", "Zadanie_Handle");
new cb = menu_makecallback("Zadanie_CallBack");

new menuitem[320]
for(new i=1; i < sizeof zadania; i++)
{
if(nalezy_do[i] == item){
format(menuitem, 319, "\w%s \r[\yNagroda: %i XP oraz %i Monet\r] [\yPostep: %i/%i\r]", zadania[i], nagroda[i][0], nagroda[i][1], postep[id][i], limit_postepu[i]);
menu_additem(menu, menuitem, _, _, cb);
}
}

menu_display(id, menu);
return PLUGIN_CONTINUE
}

public Zadanie_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

item++;


zadanie_gracza[id] = item;
return PLUGIN_CONTINUE
}

public Zadanie_CallBack(id, menu2, item)
{
item++;
if(postep[id][item] >= limit_postepu[item])
return ITEM_DISABLED;

return ITEM_ENABLED;
}



Jeśli zmniejsze ilość "itemów" w menu do 5 to działa ale czy mogę zrobić żeby było tak jak normalnie ?

Użytkownik Jak się nazwać edytował ten post 12.08.2011 17:15

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 12.08.2011 17:16

public PokazPrzedzial(id)

{

        if(!zadanie_gracza[id]){

                new menu = menu_create("Wybierz frakcje:", "PokazZadania");

                for(new i = 1;i<sizeof(przedzial);i++){

                        menu_additem(menu, przedzial[i]);

                }

                menu_display(id, menu);

        }

        else

                ColorChat(id, GREEN, "Posiadasz juz zadanie. Aktualne zadanie: %s", zadania[zadanie_gracza[id]])

}



public PokazZadania(id, menu2, item)

{

        if(item == MENU_EXIT)

        {

                menu_destroy(menu2);

                return PLUGIN_CONTINUE;

        } 

        

        item++;

        new menu = menu_create("Zadania:", "Zadanie_Handle");

        new cb = menu_makecallback("Zadanie_CallBack");

        

        new menuitem[640]

        for(new i=1; i < sizeof zadania; i++)

        {

                if(nalezy_do[i] == item){

                        format(menuitem, 319, "\w%s \r[\yNagroda: %i XP oraz %i Monet\r] [\yPostep: %i/%i\r]", zadania[i], nagroda[i][0], nagroda[i][1], postep[id][i], limit_postepu[i]);

                        menu_additem(menu, menuitem, _, _, cb);

                }

        }

        

        menu_display(id, menu);

        return PLUGIN_CONTINUE

}



public Zadanie_Handle(id, menu, item)

{

        client_cmd(id, "spk QTM_CodMod/select");

        

        if(item == MENU_EXIT)

        {

                menu_destroy(menu);

                return PLUGIN_CONTINUE;

        }       

        

        item++;

        

        

        zadanie_gracza[id] = item;

        return PLUGIN_CONTINUE

}



public Zadanie_CallBack(id, menu2, item)

{

        item++;

        if(postep[id][item] >= limit_postepu[item])

                return ITEM_DISABLED;

        

        return ITEM_ENABLED;

}

  • +
  • -
  • 1

If you can dream it, you can do it.


#3 Jak się nazwać

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 12.08.2011 17:20

Nie działa. Już próbowałem tego

Użytkownik Jak się nazwać edytował ten post 12.08.2011 17:45

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#4 A może sma?

    Godlike

  • Power User

Reputacja: 546
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 12.08.2011 17:51

new menuitem[640]
for(new i=1; i < sizeof zadania; i++)
{
if(nalezy_do[i] == item){
format(menuitem, 639,


?
  • +
  • -
  • 1

#5 Jak się nazwać

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 12.08.2011 17:58

Nie działa już powiększałem to. Jakieś inne propozycje ?


Mam też taki problem że zadanie_gracza[id] = item
ale jeśli misja jest w 2 przedziale to jest w innym menu i item wynosi 1 jak zrobić żeby wynośił tyle ile naprawdę wynosi ?

new const nalezy_do[sizeof zadania] =
{
0,
1,//1
1,//2
1,//3
1,//4
1,//5
1,//6
1,//7
1,//8
1,//9
1,//10
1,//11
1,//12
1,//13
1,//14
2//15 o to właśnie mi chodzi
};


Menu jest u góry

Edit;

Z tym już sobie poradziłem. To co wie ktoś jak wyświetlić żeby nie ucinało może jest jakiś ogranicznik znaków w menu ?

Użytkownik Jak się nazwać edytował ten post 12.08.2011 18:12

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#6 A może sma?

    Godlike

  • Power User

Reputacja: 546
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 12.08.2011 18:00

format(menuitem, 639,
Tutaj też?
W 2. poście w tym miejscu powiększone nie jest...
  • +
  • -
  • 1

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 12.08.2011 18:07

limit znaków w menu

#define MAX_MENU_STRING	512
char g_szMenuString[MAX_MENU_STRING];
char g_szPrelocalisedMenuString[MAX_MENU_STRING];

int CHudMenu :: MsgFunc_ShowMenu( const char *pszName, int iSize, void *pbuf )
{
	char *temp = NULL;

	BEGIN_READ( pbuf, iSize );

	m_bitsValidSlots = READ_SHORT();
	int DisplayTime = READ_CHAR();
	int NeedMore = READ_BYTE();

	if ( DisplayTime > 0 )
		m_flShutoffTime = DisplayTime + gHUD.m_flTime;
	else
		m_flShutoffTime = -1;

	if ( m_bitsValidSlots )
	{
		if ( !m_fWaitingForMore ) // this is the start of a new menu
		{
			strncpy( g_szPrelocalisedMenuString, READ_STRING(), MAX_MENU_STRING );
		}
		else
		{  // append to the current menu string
			strncat( g_szPrelocalisedMenuString, READ_STRING(), MAX_MENU_STRING - strlen(g_szPrelocalisedMenuString) );
		}
		g_szPrelocalisedMenuString[MAX_MENU_STRING-1] = 0;  // ensure null termination (strncat/strncpy does not)

		if ( !NeedMore )
		{  // we have the whole string, so we can localise it now
			strcpy( g_szMenuString, gHUD.m_TextMessage.BufferedLocaliseTextString( g_szPrelocalisedMenuString ) );

			// Swap in characters
			if ( KB_ConvertString( g_szMenuString, &temp ) )
			{
				strcpy( g_szMenuString, temp );
				free( temp );
			}
		}

		m_fMenuDisplayed = 1;
		m_iFlags |= HUD_ACTIVE;
	}
	else
	{
		m_fMenuDisplayed = 0; // no valid slots means that the menu should be turned off
		m_iFlags &= ~HUD_ACTIVE;
	}

	m_fWaitingForMore = NeedMore;

	return 1;
}
maksymalnie 512 znaków w menu nie da się tego zwiększyć
  • +
  • -
  • 1

#8 Jak się nazwać

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 12.08.2011 18:15

Dzięki dark. Wszyscy dostaliście plusiki.
Czyli teraz muszę zrobić
menu_setprop(menu, MPROP_PERPAGE, 5);

lub mniej jak się nie będzie mieścic ?
  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 12.08.2011 18:17

nom
  • +
  • -
  • 1




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

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