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

Tag mismatchDziwny error

pomoc help ratunku

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

#1 wacho

    Pomocny

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 17.10.2017 17:59

Cześć, 

Przy kompilacji zwraca mi błąd Tag mismatch 

public NowaRunda()
{
      new stats[8], bdhits[8]
      for(new i = 1; i <= MAX_PLAYERS; i++)
      {
            if(!is_user_connected(i) || !ePlayerQuestType[i]) continue;
            
            get_user_rstats(i, stats, bdhits)
            
            switch(ePlayerQuestType[i])
            {
                  case CELNOSC:
                  {
                        if(stats[5])
                        {
                              new celnosc = 100 * stats[5] / stats[4];    // TUTAJ ZWRACA TAG MISMATCH
                              
                              if(celnosc >= ArrayGetCell(gIleRazy, iPlayerQuestID[i]))
                              {
                                    Nagroda(i);
                                    return;
                              }

                              client_print(i, print_chat, "W poprzedniej rundzie miales %i%% celnosci!", celnosc)
                        }
                  }
                  case KILLSROUND:
                        iPlayerQuestProgress[i] = 0

                  case HSRATIO:
                  {
                        if(stats[2])
                        {
                              new hsratio = 100 * stats[2] / stats[0];  // TUTAJ ZWRACA TAG MISMATCH
                              
                              if(hsratio >= ArrayGetCell(gIleRazy, iPlayerQuestID[i]))
                              {
                                    Nagroda(i);
                                    return;
                              }
                                    
                              client_print(i, print_chat, "W poprzedniej rundzie miales %i%% hs/kills!", hsratio)
                        }
                  }
            }
      }
}

add_progress(id, amount)
{
      if((iPlayerQuestProgress[id] += amount) >= ArrayGetCell(gIleRazy, iPlayerQuestID[id])) // TUTAJ ZWRACA TAG MISMATCH
            Nagroda(id);
}
 

Wie ktoś co jest nie tak ? 

new celnosc
new hsratio
 

i ostatni if


  • +
  • -
  • 0

#2 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 17.10.2017 19:01


if(stats[5])


if(stats[2])

 

To chyba jest liczba całkowita, a nie wartość logiczna ;)


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#3 wacho

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 18.10.2017 06:38

Zgadza się ale przecież zastosowana jest zmienna dla liczb całkowitych a nie new bool


  • +
  • -
  • 0

#4 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 19.10.2017 23:49

Taki warunek sprawdza tylko czy stats[2] jest prawdziwe, a jest prawdziwe dla każdej liczby różnej od zera.

Chodziło ci może o bardziej sprecyzowane wyrażenie np. stats[2] > 0 ?


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 _McHappy

    Wszechwiedzący

  • Support Team

Reputacja: 243
Wszechwidzący

  • Postów:501
  • GG:
  • Imię:Radek
  • Lokalizacja:Tak
Offline

Napisano 20.10.2017 10:51

Dla tego typu problemów wystarczy zastosować !!

if(!!stats[2])
{
...
}

Ale stosuje się to w przypadku przypisania wartości do zmiennej.

Wydaje mi się jednak, że problem leży nie w tym, co wyżej lecz w deklaracji zmiennych. Kompilator nie przewiduje, czy użytkownik chce sprawdzić warunek zmienna!=0, czy też zmienna>0 i ostrzeżenia z tego powodu nie wyrzuci.

Byłbyś w stanie podrzucić na wklejce kompletny kod pluginu?

Użytkownik _McHappy edytował ten post 20.10.2017 10:55

  • +
  • -
  • 0

#6 wacho

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 20.10.2017 17:14

Można zamknąć już sobie poradziłem. 

 

Problem leżał w kompilatorze miałem jakiegos includa który to powodował. wrzuciłem na czysty kompilator i poszło :) 


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: pomoc, help, ratunku

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

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