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] Pytanie o tablice


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

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 11.08.2013 03:33

Witam, zrobiłem sobie taką tablce:

 

new Przedzial_Pierwszy[][] = {
    {"Brak", "Brak Misji", 0, 0},
    {"Tytul", "Opis misj", 250, 15},
    {"Tytul", "Opis misj", 250, 15},
    {"Tytul", "Opis misj", 250, 15},
    {"Tytul", "Opis misj", 250, 15}
}

 

0 = Tytuł misji

1 = Opis misji

2 = Nagroda

3 = Np. ile kogo mamy razy zabić

 

I gdy robię tak: Przedzial_Pierwszy[numer misji][0] to jest okej ale gdy dam np. tak: Przedzial_Pierwszy[numer misji][1] lub 2, 3, no to ustawia też Tytuł misji

 

I chciał bym zapytać czy ja poprawienie zrobiłem tą tablice? Może ma inaczej wyglądać?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 11.08.2013 08:21

W taki sposób nie możesz mieszać, jak już, to trzeba zrobić tak
enum eData {
ETytul[64],
EOpis[128],
ENagroda,
EIle
}

new Przedzial_Pierwszy[][eData] = {
{"Brak", "Brak Misji", 0, 0},
{"Tytul", "Opis misj", 250, 15},
{"Tytul", "Opis misj", 250, 15},
{"Tytul", "Opis misj", 250, 15},
{"Tytul", "Opis misj", 250, 15}
}

powinno działać.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#3 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 11.08.2013 14:41

any: i trzy wymiary też by chyba połknęło lecz ręki nie dam, gdyż nie mam gdzie sprawdzić.
Przypomniałem sobie, ja podobną tablice tylko miałem float zamiast string, kod podany wyżej będzie do tego celu lepszy.

Użytkownik K!113r edytował ten post 11.08.2013 14:44

  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#4 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 11.08.2013 14:51

Okej zaraz to przetestuje, nawet nie pomyślałem o enumie ^^


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 11.08.2013 15:01

http://darkgl.amxx.p...zmienne-w-pawn/


  • +
  • -
  • 0

#6 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 11.08.2013 15:27

Dobra sebul działa, tylko jeszcze mam jeden problem

 

public Damage(id)
{
    new attacker = get_user_attacker(id);
    new damage = read_data(2);
    
    if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)
        return PLUGIN_CONTINUE;
    
    if(misja_gracza[attacker][1][5] == 2)
    {
        wartosc_postep[attacker][1][5] += damage;
        SprawdzMisje(attacker, 1, 5);
    }
    return PLUGIN_CONTINUE;
}

public SprawdzMisje(id, rozdzial, misja)
{
    if(misja_gracza[id][rozdzial][misja] == 2 && wartosc_postep[id][rozdzial][misja] == Rozdzial_Pierwszy[misja][eWartosc1])
    {
        misja_gracza[id][rozdzial][misja] = 1;
        
        ResetMisji(id, rozdzial, misja);
                                
        return PLUGIN_CONTINUE
    }    
    return PLUGIN_CONTINUE
}

 

Wszystkie misje typu zabij tylu graczy działa okej, ale tutaj sprawdzenie nie działa poprawnie np. mam zadać 20000 obrażeń graczom i gdy już osiągne ten postęp to nie sprawdza tylko idzie dalej i dalej :(


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#7 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 11.08.2013 16:33

Dobra sebul działa, tylko jeszcze mam jeden problem
 
 

public Damage(id)
{
    new attacker = get_user_attacker(id);
    new damage = read_data(2);
    
    if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)
        return PLUGIN_CONTINUE;
    
    if(misja_gracza[attacker][1][5] == 2)
    {
        wartosc_postep[attacker][1][5] += damage;
        SprawdzMisje(attacker, 1, 5);
    }
    return PLUGIN_CONTINUE;
}

public SprawdzMisje(id, rozdzial, misja)
{
    if(misja_gracza[id][rozdzial][misja] == 2 && wartosc_postep[id][rozdzial][misja] == Rozdzial_Pierwszy[misja][eWartosc1])
    {
        misja_gracza[id][rozdzial][misja] = 1;
        
        ResetMisji(id, rozdzial, misja);
                                
        return PLUGIN_CONTINUE
    }    
    return PLUGIN_CONTINUE
}
 
Wszystkie misje typu zabij tylu graczy działa okej, ale tutaj sprawdzenie nie działa poprawnie np. mam zadać 20000 obrażeń graczom i gdy już osiągne ten postęp to nie sprawdza tylko idzie dalej i dalej :(

A weź pomyśl logicznie ;]
Zabijając kogoś, za jednym razem dodaje się tylko jeden frag do ogólnej liczby, więc warunek z == kiedyś się spełni na pewno, ale zadając jakieś obrażenia, doda się po prostu jakaś liczba, np. 5, czy 10. Więcej chyba już pisać nie muszę.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#8 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 11.08.2013 16:48

Ale tutaj jest tak: wartosc_postep[attacker][1][5] += damage;


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#9 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 11.08.2013 16:57

Chodzi tutaj o sprawdzanie czy misja zakończona, a nie to w jaki sposób jest coś dodawane, a dokładniej chodzi o ten warunek
if(misja_gracza[id][rozdzial][misja] == 2 && wartosc_postep[id][rozdzial][misja] == Rozdzial_Pierwszy[misja][eWartosc1])

a jeszcze dokładniej o to
wartosc_postep[id][rozdzial][misja] == Rozdzial_Pierwszy[misja][eWartosc1]

  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#10 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 11.08.2013 17:24

A no tak ^^ Już wiem, można zamknać


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#11 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 11.08.2013 17:30

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

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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