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

Menu sortowanie


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

#1 Lelek

    Zaawansowany

  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 05.11.2010 23:08

Potrzebuje pomocy dotyczącej menu dodatków z Zombie Plague 4.13/4.0. Chodzi mi dokładnie o to, aby rzeczy dodatkowe były sortowane(wyswietlane) osobno dla ludzi osobno dla zombie.

// Extra Items Menu
show_menu_extras(id)
{
static menu[400], len, item
len = 0

// Title
len += formatex(menu[len], sizeof menu - 1 - len, "\y%L [%L] \r[%d-%d]^n^n", id, "MENU_EXTRA_TITLE", id, (g_zombie[id]) ? "CLASS_ZOMBIE" : "CLASS_HUMAN", EXTRAS_STARTID+1, min(EXTRAS_STARTID+7, g_extraitem_i))

// 1-7. Item List
for (item = EXTRAS_STARTID; item < min(EXTRAS_STARTID+7, g_extraitem_i); item++)
{
// Unavailable item
if ((g_zombie[id] && g_extraitem_team[item] == ZP_TEAM_HUMAN) || (!g_zombie[id] && g_extraitem_team[item] == ZP_TEAM_ZOMBIE) || (item == EXTRA_NVISION && !get_pcvar_num(cvar_extra_nvision)) || (item == EXTRA_ANTIDOTE && !get_pcvar_num(cvar_extra_antidote)) || (item == EXTRA_MADNESS && !get_pcvar_num(cvar_extra_madness)) || (item == EXTRA_INFBOMB && !get_pcvar_num(cvar_extra_infbomb)) || (item >= 4 && item <= EXTRAS_CUSTOM_STARTID-1 && !get_pcvar_num(cvar_extra_weapons)))
{
// Check if it's one of the hardcoded items and set the correct caption
switch (item)
{
case EXTRA_NVISION: len += formatex(menu[len], sizeof menu - 1 - len, "\d%d %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA1")
case EXTRA_ANTIDOTE: len += formatex(menu[len], sizeof menu - 1 - len, "\d%d. %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA2")
case EXTRA_MADNESS: len += formatex(menu[len], sizeof menu - 1 - len, "\d%d. %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA3")
case EXTRA_INFBOMB: len += formatex(menu[len], sizeof menu - 1 - len, "\d%d. %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA4")
default: len += formatex(menu[len], sizeof menu - 1 - len, "\d%d. %s", item-EXTRAS_STARTID+1, g_extraitem_name[item])
}
// Item Cost
len += formatex(menu[len], sizeof menu - 1 - len, " %d %L^n", g_extraitem_cost[item], id, "AMMO_PACKS2")
}
else
{
// Check if it's one of the hardcoded items and set the correct caption
switch (item)
{
case EXTRA_NVISION: len += formatex(menu[len], sizeof menu - 1 - len, "\r%d.\w %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA1")
case EXTRA_ANTIDOTE: len += formatex(menu[len], sizeof menu - 1 - len, "\r%d.\w %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA2")
case EXTRA_MADNESS: len += formatex(menu[len], sizeof menu - 1 - len, "\r%d.\w %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA3")
case EXTRA_INFBOMB: len += formatex(menu[len], sizeof menu - 1 - len, "\r%d.\w %L", item-EXTRAS_STARTID+1, id, "MENU_EXTRA4")
default: len += formatex(menu[len], sizeof menu - 1 - len, "\r%d.\w %s", item-EXTRAS_STARTID+1, g_extraitem_name[item])
}
// Item Cost
len += formatex(menu[len], sizeof menu - 1 - len, " \y%d %L^n", g_extraitem_cost[item], id, "AMMO_PACKS2")
}
}

// 8. Back - 9. Next - 0. Exit
len += formatex(menu[len], sizeof menu - 1 - len, "^n\r8.\w %L^n\r9.\w %L^n^n\r0.\w %L", id, "MENU_BACK", id, "MENU_NEXT", id, "MENU_EXIT")

show_menu(id, KEYSMENU, menu, -1, "Extra Items")
}


A tutaj daję cały kod sma zp Wklejka #413507 | Wklej.org

Proszę o wyszczególnienie zmian pomoże mi to w kontynuacji nauki.

Użytkownik Lelek919 edytował ten post 06.11.2010 14:33

  • +
  • -
  • 0

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 06.11.2010 11:05

mógłbyś spróbować zamienić to else na
else
{
	EXTRAS_STARTID++
}

jakby nie zadziałało to polecam Tworzenie menu - Nieoficjalny polski support AMX Mod X ale to wiąże się z mnóstwem zmian w kodzie
  • +
  • -
  • 0

#3 Lelek

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 06.11.2010 14:43

Dziękuję za odpowiedź.

Czyli dla zombie pokazuje rzeczy ludzi dla ludzi rzeczy zombie. Ok lecimy dalej. Gdy jesteśmy zombie i pokazuje nam rzeczy człowieka to zamiast 4 dostępnych pokazuje nam 3. Najprawdopodobniej spowodowane jest tym że w kodzie jest funkcja która dodaje następne rzeczy po tych 3 podstawowych kod typu "item >= 3"

Gdy już testowałem spróbowałem to zrobić w sposób taki: że

else{bez zmian} a zamiast zawartości if EXTRAS_STARTID++

Niby wszystko ładnie Pokazuje rzeczy człowieka można kupić poszczególne np podpalający zamarzający flara = smoke więc tutaj błąd i anitidotum bomba nie działa. Gdy ponownie zrobi się restart rundy to przeskakuje na następną stronę i trzeba się cofać - przycisk 8 - taki sam objaw w pierwszym przypadku. Możesz R3X doradzić coś jeszcze ?:)


// Na jednym ss widać 4 rzeczy na innym 3. Powód. Po przeładowaniu mapy pokazują się 3 rzeczy następnie ok 5x restart rundy i pokazują się 4 ale to już pisałem wyżej :)

Użytkownik Lelek919 edytował ten post 10.11.2010 23:54

  • +
  • -
  • 0

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 06.11.2010 16:01

musisz przepisać pętlę, bo na razie wszystkie skille są w 1 tabeli i stronnicowanie ich w ten sposób jest bardzo niewygodne; łatwiej przenieść ten kod do nowego menu w nowym stylu i stworzyć osobne menu dla ludzi i zombie
  • +
  • -
  • 0

#5 Lelek

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 06.11.2010 22:08

A może miałbyś ochotę zaprezentować jak by to powinno wyglądać ?:)
  • +
  • -
  • 0

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 06.11.2010 23:24

wyżej dałem Ci link jak zrobić nowym stylem menu;

a jak to ma wyglądać?

po zbudowaniu tablic z itemami (możliwe, że to public_cfg, ale pewności nie mam) utwórz 2 nowe menu zawierające osobno itemy dla ludzi i zombie; funkcję sprawdzającą, czy dany item może użyć zombie czy human znajdziesz na pewno w kodzie (tablica item_team[] czy jakoś tak); potem zamiast tworzenia starego menu w show_extra_items() daj po prostu menu_display(); przygotowanie obsługi menu nie powinno Ci sprawić problemu o ile do każdego itemu w menu w polu info[] wpiszesz indeks w tablicy, gdzie można znaleźć dany przedmiot
  • +
  • -
  • 0




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

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