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

[ROZWIĄZANE] Tablica/zmienna /Array


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

#1 camilost

    ^ BotQ - STER.owiec ^

  • Power User

Reputacja: 434
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 25.01.2016 02:56

Mam mały problem, bo nie ogarniam tablic i zmiennych - 5lat nic nie pisałem;d
Posiadam taki kod:

        if(g_VipLosowy[id]){
            new szPrefix[64] = "^x04[FREE VIP]";
        }else{
            new szPrefix[64] = "^x04[VIP]";
        }

Wiadomo, że sypie w linijka new szPrefix[64] Chciałbym coś na styl tego zamienić na:
 

        new szPrefix[64]
        if(g_VipLosowy[id]){
            szPrefix[64] = "^x04[FREE VIP]";
        }else{
            szPrefix[64] = "^x04[VIP]";
        }

Ogarnia ktoś, wiem że to łatwe ale szukam w dokumentacji i znaleźć nie mogę ;d odpowiedniej funkcji Nie ogarniam Array ;< przyznaje się bez bicia ;P

 

 

EDIT - nie było tematu :D format(zmienna, index, dane)...
Można dać do kosza/usunąć ;P

Pozdrawiam ekipę amxx.pl :P

 

 


  • +
  • -
  • 0

#2 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 25.01.2016 06:53

Array to coś zupełnie innego, na razie się w to nie zagłębiaj ;) (Prędzej czy później będziesz musiał)

Stringi formatujesz przez "=" tylko i wyłącznie, gdy są to pojedyńcze znaki lub zmienna stała (const).
Inaczej używasz format lub formatex (szybsze)

 

Musisz użyć tego drugiego przykładu, ponieważ w pierwszym zmienna szPrefix istnieje tylko w zakresie if'a.

Słowem, zrób tak :
 

        new szPrefix[64]
        if(g_VipLosowy[id]){
            formatex(szPrefix, 64, "x04[FREE VIP]")
        }else{
            formatex(szPrefix, 64, "x04[VIP]";
        }

Albo jeszcze lepiej :
 

        new szPrefix[64]
        formatex(szPrefix, 64, "x04[%s]" g_VipLosowy[id] ? "FREE VIP" : "VIP")

Różnica pomiędzy tymi dwoma funkcjami jest taka, prócz wspomnianej prędkości działania, że w format możesz bez konsekwencji używać formatowanego stringu jako parametr, w formatex nie masz takiego przywileju (Oczywiście da się to obejść, więcej tutaj w przykładzie).
Jeżeli chcesz użyć po "else" if'a, użyj pierwszego przykładu, w przeciwnym wypadku polecam drugi.


  • +
  • -
  • 1

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 25.01.2016 11:21

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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