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

Zmienna, a identyfikatory graczy?


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
12 odpowiedzi w tym temacie

#1 IntelCom

    Wszechwiedzący

  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 04.01.2015 22:26

Mam nie typowe pytanie.A mianowicie, czy zmienna może przechowywać ID poszczególnych graczy (w tym przypadku 32)?
  • +
  • -
  • 0

#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 678
Wszechmogący

  • Postów:1258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 04.01.2015 23:08

Tak i jest to tablica 33 elementowa.

Użytkownik Wielkie Jol edytował ten post 05.01.2015 07:44

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 04.01.2015 23:22

Czyli nie do konca tak.

Ponieważ jak sam napisałeś, jest to wtedy tablicą 33 elementowa, nie zmienna?

A dlaczego musi być 33 elementowa, a nie 32?

W evencie śmierci, ID zabójcy i ofiary jest jednak zapisywane do zwykłej zmiennej nie do tablicy?
  • +
  • -
  • 0

#4 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 678
Wszechmogący

  • Postów:1258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 04.01.2015 23:28

Zmienna tablicowa.


Ale równie dobrze, jeżeli tworzysz tablice 33 wymiarowa to możesz wtedy też łatwiej nią operować w pętli (1..32) graczy, przy czym wtedy element 0 pozostaje pusty a 33 nie istnieje.

Użytkownik Wielkie Jol edytował ten post 05.01.2015 07:46

  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#5 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 04.01.2015 23:39

Ok, a dlaczego w takim razie jest to zmienna tablicowa, a nie po prostu zwykła tablica?

Ponieważ ID graczy się zmienia?

I co z tym eventem śmierci?

Sry, że tak meczę ale nie zbyt ogarniam tablice, a na amxxie jest tylko poradnik dla bardziej zaawansowananych i to w dodatku o tablicach dynamicznych, a żeby je zrozumieć to najpierw muszę zwykle ogarnąć.
  • +
  • -
  • 0

#6 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 678
Wszechmogący

  • Postów:1258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 04.01.2015 23:47

Tablica - czasem nazywana zmienną tablicowa. Jak zwał tak zwał.

A jak inaczej chciałbyś przechować id graczy? Po co tworzyć 32 zmienne, skoro wszystkim można operować właśnie za pomocą tablicy? No chyba, że chcesz mieć id tylko jednego gracza, to wtwdy tworzenie tablicy nie ma za bardzp sensu.

Co do eventu, twórcy amxxa tak po prostu zrobili, że w danym evencie ( w tym przypadku event śmierci ) możesz spbie pobrać najważniejsze id. Dla evemtu np. Z pieniędzmi będą to pieniądze a dla eventu z broniami - broń jaką gracz posiada. Nie musisz robic czegoś takiego jak new killer = read_data (1) ale jest to dobrym nawykiem programowania, bo gdybyś miał operować Np.
Read_data (1..5
W pliku źródłowym to na bank byś nie zapamiętał który numer za co odpowiada i pewnie tak samo osoba przegladajaca kod.

Wpisz w internecie pawn amxmodx otworz pierwszy z brzegu link, tam masz ładnie wszystko opisane.

Użytkownik Wielkie Jol edytował ten post 04.01.2015 23:56

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#7 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 05.01.2015 00:02

Niestety, ale moja znajomość angielskiego pozostawia wiele do życzenia.

new kill=read_data(1)

Pobieram ID zabojcy i przypisuje je do zmiennej kill.

Ale na serwerze moze byc przeciez 5/9 zabójców, a zmienna zapisze tylko ID jednego z nich ?
  • +
  • -
  • 0

#8 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 678
Wszechmogący

  • Postów:1258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 05.01.2015 00:03

Ale event wykonuje aie za każdym razem gdy ginie gracz.
  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#9 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 05.01.2015 00:05

Ok, a co jak ginie dwoch graczy jednoczesnie ?
  • +
  • -
  • 0

#10 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 678
Wszechmogący

  • Postów:1258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 05.01.2015 00:07

Amxx jest jednowatkowy, nawet jeżeli zginą jednocześnie, to i tak najpierw wykona się coś a potem coś.

Użytkownik Wielkie Jol edytował ten post 05.01.2015 00:07

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#11 IntelCom

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 100
Zaawansowany

  • Postów:500
  • GG:
  • Imię:Dawid
  • Lokalizacja:Opole
Offline

Napisano 05.01.2015 00:11

Dobra, wielkie dzięki za poświęcony czas :)

Na pewno wyjaśniłeś mi nurtujące mnie pytania.

Leci 3 +++ :)
  • +
  • -
  • 0

#12 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

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

Napisano 05.01.2015 01:00

Jeśli zginie 2ch graczy jednocześnie to są to 2 różne śmierci, co oznacza że wykonają się 2 osobne eventy śmierci. Każdy dla jednego gracza (a ściślej dla pary zabójca - ofiara).
  • +
  • -
  • 1
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

#13 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 05.01.2015 01:36


Tak i jest to tablica 32 wymiarowa.

Ale równie dobrze, jeżeli tworzysz tablice 33 wymiarowa

Uważniej dobieraj określenia, to jest tablica 33 wymiarowa:

new tablica[1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1] 

a to czego potrzebujesz to tablica 33 elementowa, nie że się czepiam, raz mogłeś się przejęzyczyć, ale drugi to już roztargnienie :P

 


przy czym wtedy element 0 i 33 pozostaje pusty

w tablicy 33 elementowej nie istnieje element 33 więc nie może być on pusty.

 

 

 

IntelCom, znajdź jakiś dobry kurs C++, poznasz podstawy, co to jest zmienna, co to jest tablica, itd itp. Bardzo Ci się przyda. Jeśli chcesz się coś więcej bawić to przeczytaj Symfonię C++ Grebosza, sam jestem tylko po prostym kursie z neta i kilku latach praktyki (dupnej bo głównie w pisaniu pluginów), a czytam teraz tą książkę z zainteresowaniem i dowiaduję się nowych rzeczy.


Użytkownik grankee edytował ten post 05.01.2015 01:39

  • +
  • -
  • 3




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

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