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] Coś więcej o: "?" i ":"


Najlepsza odpowiedź MAGNET, 24.02.2014 12:55

Po krótce to taki inny rodzaj warunku

jakis warunek ? Operacja, gdy warunek = true : Operacja, gdy warunek = false
get_user_team(id) == 1 ? client_print(id, print_center, "Jestes terro") : client_print(id, print_center, "Jestes CT lub Spect")

@EDIT hehe no racja, dałem inny przykład O.o

Przejdź do postu


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

#1 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 24.02.2014 12:36

Cześć.
Jak używać "? i :" w ifach,menu itp?
Widziałem to w kilku kodach ale chciałbym się czegoś więcej dowiedzieć na ten temat.
Przykłady:
formatex(temp, 127, "Wspolny exp: \y%s", wexp_guild[id_guild[id]] ? "ON" : "OFF");
new ilosc = (co_ile[szybkosc_rozdania[id]] > punkty_gracza[id]) ? punkty_gracza[id] : co_ile[szybkosc_rozdania[id]]
ColorChat( i , GREEN , "%s Brawo za zabicie demona dostajesz %i expa, %i zlota oraz %i kamieni !" , PREFIX_SAY , i == iBestId ? iExp * 2 : iExp, i == iBestId ? iZloto * 2 : iZloto, i == iBestId ? iKamienie * 2 : iKamienie)

  • +
  • -
  • 0

#2 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 24.02.2014 12:55   Najlepsza odpowiedź

Po krótce to taki inny rodzaj warunku

jakis warunek ? Operacja, gdy warunek = true : Operacja, gdy warunek = false
get_user_team(id) == 1 ? client_print(id, print_center, "Jestes terro") : client_print(id, print_center, "Jestes CT lub Spect")

@EDIT hehe no racja, dałem inny przykład O.o


sebul (24.02.2014 14:23):
Z tym drugim przykładem, to trochę nie wypada pisać takich przykładów, bo skoro nie ma gracza, to wysłanie do niego wiadomości nie jest dobrym pomysłem ^ ^
client_print(0, print_center, "%s", is_user_connected(id) ? "Gracz jest polaczony" : "Gracz nie jest polaczony");

  • +
  • -
  • 4

#3 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 24.02.2014 14:28

Różnica pomiędzy zwykłym IFem, a konstrukcją skróconego IFa jest taka, że skrócony może coś zwracać, zwykły nie. Dzięki temu możemy zapisać:

 

zmienna = a_czy_b ? a : b

I do zmiennej zmienna trafi odpowiednio wartość z a lub z b w zależności od wartości a_czy_b. Zwykłym IFem należy to zapisać tak:

if(a_czy_b) zmienna = a; else zmienna = b;

Oczywiście zapis w jednej linii jest bardzo brzydki, ale zapisałem to w ten sposób, aby pokazać, że nie możemy zrobić tak:

zmienna = if(a_czy_b) a; else b;

Bo "zwykła" instrukcja IF w przeciwieństwie do operatora ? nic nie zwraca.


  • +
  • -
  • 3

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





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

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