Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Tworzenie menu i pętla


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

#1 A może sma?

    Godlike

  • Power User

Reputacja: 539
Wszechwiedzący

  • Postów:1464
  • GG:
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 05.08.2011 20:38

Cześć. Mam takie pytanie:
Jak można zrobić menu, które wyświetli wszystkie perki?
Próbowałem coś na styl:

new perk[64];
for(i = 0; i < cod_get_perks_num(); i++)
{
cod_get_perk_name(i, perk, 63)
menu_additem(menu, "%s", perk)
}


Jednak, zamiast oczekiwanego efektu menu wyświetlało "%s" zamiast nazw perków :P
Kolejna rzecz: licznik (i) dodałem jako zmienną globalną, by w Handlerze menu nie robić miliona "kejsów"
Jednak nie mogłem dodać w ten sposób:
switch(item)
{
case i:
{
if(monety >= CENA)
{
cod_set_user_perk(id, i, -1, 1)
cod_get_perk_name(cod_get_user_perk(id), perk[id], 63)
ColorChat(id, GREEN, "^x04[COD:MW] ^x03Kupiles %s!", perk);
}
else
ColorChat(id, GREEN, "^x04[COD:MW] ^x03Masz za malo kasy!");
}
}

Czy to też można w jakiś sposób obejść? Czy czeka mnie mozolne dodawanie wszystkich perków "ręcznie"?
  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

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

Napisano 05.08.2011 20:44

Może zamień %s na %i
  • +
  • -
  • 0

If you can dream it, you can do it.


#3 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 539
Wszechwiedzący

  • Postów:1464
  • GG:
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 05.08.2011 20:55

ale %i wyświetla liczbę, czyż nie tak? A %s ciąg znaków. A nazwa perku to raczej ciąg znaków, nieprawdaż?
  • +
  • -
  • 0

#4 Gh0st

    :)

  • Power User

Reputacja: 846
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 05.08.2011 21:15

do zmiennych globalnych :

new nazwa_perku[256]



public costam(id)
{
new tytul[64];
format(tytul, 63, "\yWybierz perk");
new menu = menu_create(tytul, "perk_handle");
for(new i=1; i<=cod_get_perks_num(); i++)
{
cod_get_perk_name(i, nazwa_perku, 255)
menu_additem(menu, nazwa_perku);
}

menu_display(id, menu);
}
public perk_handle(id, menu, item)
{
if(item++ == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

cod_set_user_perk(id, item, -1, 0);
cod_get_perk_name(item++, nazwa_perku, 255);

menu_destroy(menu);
return PLUGIN_HANDLED;
}


Użytkownik Gh0st edytował ten post 05.08.2011 21:15

  • +
  • -
  • 2

#5 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 539
Wszechwiedzący

  • Postów:1464
  • GG:
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 05.08.2011 21:46

Geniusz :D
Tylko, że:
cod_get_perk_name(item++, nazwa_perku, 255);

Trzeba zamienić na:
cod_get_perk_name(item, nazwa_perku, 255);

Bo perki są "przesunięte" i daje nie ten, który sie wybrało :D

PS. Temat uważam za wyczerpany i nadający się do zamknięcia :]

Użytkownik A może sma? edytował ten post 05.08.2011 21:48

  • +
  • -
  • 0

#6 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7178
  • Lokalizacja:AMXX.PL
Offline

Napisano 05.08.2011 21:50

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: rozwiązane

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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