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

Problem z kompilacją klasy cod mod nowy


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

#1 Rafii

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Rafał
  • Lokalizacja:Bielawa
Offline

Napisano 23.07.2025 20:00

Witam edytowałem silnik cod mod nowy aby były 4 linie opisu klas, lecz ukazuje się błąd podczas kompilacji.

 

//  SILNIK


opis1_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
opis2_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
opis3_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
opis4_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],


public ZarejestrujKlase(plugin, params) {
if(params != 9)
return PLUGIN_CONTINUE;


if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;


pluginy_klas[ilosc_klas] = plugin;


get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opis1_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
get_string(3, opis2_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
get_string(4, opis3_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
get_string(5, opis4_klas[ilosc_klas], MAX_WIELKOSC_OPISU);


zdrowie_klas[ilosc_klas] = get_param(6);
kondycja_klas[ilosc_klas] = get_param(7);
inteligencja_klas[ilosc_klas] = get_param(8);
wytrzymalosc_klas[ilosc_klas] = get_param(9);
for(new i=0;i<klasid;i++) {
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])) {
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}
return ilosc_klas;
}


native cod_register_class(const nazwa[], const opis1[], const opis2[], const opis3[], const opis4[], punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);


// KLASA


new const opis1[] = "1";
new const opis2[] = "2";
new const opis3[] = "3";
new const opis4[] = "4";


new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;


cod_register_class(nazwa, opis1, opis2, opis3, opis4, zdrowie, kondycja, inteligencja, wytrzymalosc);


// Kompilacja klasy


AMX Mod X Compiler 1.8.3-dev+5201
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team


Error: Array dimensions do not match on line 33
Warning: Symbol is never used: "inteligencja" on line 19
Warning: Symbol is never used: "kondycja" on line 18
Warning: Symbol is never used: "wytrzymalosc" on line 20


1 Error, 3 Warning


Linia 33: cod_register_class(nazwa, opis1, opis2, opis3, opis4, zdrowie, kondycja, inteligencja, wytrzymalosc);
Linia 18: new const kondycja  = 0;
Linia 19: new const inteligencja = 0;
Linia 20: new const wytrzymalosc = 0;

 


Użytkownik Rafii edytował ten post 23.07.2025 20:04

  • +
  • -
  • 0

#2 xSPECJALSx

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:35
  • GG:
  • Steam:steam
  • Imię:xZANDARMx
Online

Napisano 28.07.2025 19:09

Błąd kompilacji „Error: Array dimensions do not match” wskazuje na problem z niezgodnością

rozmiarów tablic w wywołaniu funkcji cod_register_class. Prawdopodobnie wynika to z przekazywania

nieodpowiednich typów danych lub niezgodnych rozmiarów tablic.

 

Funkcja cod_register_class oczekuje, że argumenty opis1, opis2, opis3, opis4 będą pojedynczymi tablicami znaków (np. const opis1[]), a nie dwuwymiarowymi tablicami. Dlatego kompilator zgłasza błąd niezgodności rozmiarów tablic.


  • +
  • -
  • 0
  • Pomoc przy AMXX + Stworzeniu Paczki bądź pluginu
  • Pomoc przy zakładaniu stron www
  • Pomoc przy konfigurowaniu Invision Community, MyBB
  • Pomoc przy całkowitym przygotowaniu forum www

#3 ^^DeeD^^

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:73
  • GG:
  • Imię:Patryk
  • Lokalizacja:Sanok
Offline

Napisano 28.07.2025 20:13

wpisywanie kodu bledy do chatu gpt to nie rozwiązanie problemu dla kolegi.
Podeslij całe sma albo link do silnika tego coda


  • +
  • -
  • 1

#4 xSPECJALSx

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:35
  • GG:
  • Steam:steam
  • Imię:xZANDARMx
Online

Napisano 11.08.2025 20:41

 

Witam edytowałem silnik cod mod nowy aby były 4 linie opisu klas, lecz ukazuje się błąd podczas kompilacji.

 

//  SILNIK


opis1_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
opis2_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
opis3_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
opis4_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],


public ZarejestrujKlase(plugin, params) {
if(params != 9)
return PLUGIN_CONTINUE;


if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;


pluginy_klas[ilosc_klas] = plugin;


get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(2, opis1_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
get_string(3, opis2_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
get_string(4, opis3_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
get_string(5, opis4_klas[ilosc_klas], MAX_WIELKOSC_OPISU);


zdrowie_klas[ilosc_klas] = get_param(6);
kondycja_klas[ilosc_klas] = get_param(7);
inteligencja_klas[ilosc_klas] = get_param(8);
wytrzymalosc_klas[ilosc_klas] = get_param(9);
for(new i=0;i<klasid;i++) {
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])) {
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}
return ilosc_klas;
}


native cod_register_class(const nazwa[], const opis1[], const opis2[], const opis3[], const opis4[], punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);


// KLASA


new const opis1[] = "1";
new const opis2[] = "2";
new const opis3[] = "3";
new const opis4[] = "4";


new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;


cod_register_class(nazwa, opis1, opis2, opis3, opis4, zdrowie, kondycja, inteligencja, wytrzymalosc);


// Kompilacja klasy


AMX Mod X Compiler 1.8.3-dev+5201
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team


Error: Array dimensions do not match on line 33
Warning: Symbol is never used: "inteligencja" on line 19
Warning: Symbol is never used: "kondycja" on line 18
Warning: Symbol is never used: "wytrzymalosc" on line 20


1 Error, 3 Warning


Linia 33: cod_register_class(nazwa, opis1, opis2, opis3, opis4, zdrowie, kondycja, inteligencja, wytrzymalosc);
Linia 18: new const kondycja  = 0;
Linia 19: new const inteligencja = 0;
Linia 20: new const wytrzymalosc = 0;

 

Powinno działać 

#include <amxmodx>

// --- KONFIG ---
#define MAX_ILOSC_KLAS        64
#define MAX_WIELKOSC_NAZWY    32
#define MAX_WIELKOSC_OPISU    127

// --- PAMIĘĆ SILNIKA ---
new ilosc_klas;

new pluginy_klas[MAX_ILOSC_KLAS + 1];

new nazwy_klas[MAX_ILOSC_KLAS + 1][MAX_WIELKOSC_NAZWY + 1];
new opis1_klas[MAX_ILOSC_KLAS + 1][MAX_WIELKOSC_OPISU + 1];
new opis2_klas[MAX_ILOSC_KLAS + 1][MAX_WIELKOSC_OPISU + 1];
new opis3_klas[MAX_ILOSC_KLAS + 1][MAX_WIELKOSC_OPISU + 1];
new opis4_klas[MAX_ILOSC_KLAS + 1][MAX_WIELKOSC_OPISU + 1];

new zdrowie_klas[MAX_ILOSC_KLAS + 1];
new kondycja_klas[MAX_ILOSC_KLAS + 1];
new inteligencja_klas[MAX_ILOSC_KLAS + 1];
new wytrzymalosc_klas[MAX_ILOSC_KLAS + 1];

// (opcjonalnie) frakcje – jeśli używasz
new frakcja_klas[MAX_ILOSC_KLAS + 1];

// --- NATYWA (API) ---
public plugin_init()
{
    register_plugin("CoD Core", "1.0", "");
}

public plugin_natives()
{
    // bez stylu paramów (domyślnie), 9 argumentów
    register_native("cod_register_class", "ZarejestrujKlase");
}

// native cod_register_class(const nazwa[], const opis1[], const opis2[], const opis3[], const opis4[], hp, kond, int, wyt)
public ZarejestrujKlase(plugin, params)
{
    if (params != 9)
        return -1;

    if (++ilosc_klas > MAX_ILOSC_KLAS)
        return -1;

    pluginy_klas[ilosc_klas] = plugin;

    // Bufory na dane z wołania natywy
    get_string(1, nazwy_klas[ilosc_klas],  MAX_WIELKOSC_NAZWY + 1);
    get_string(2, opis1_klas[ilosc_klas],  MAX_WIELKOSC_OPISU + 1);
    get_string(3, opis2_klas[ilosc_klas],  MAX_WIELKOSC_OPISU + 1);
    get_string(4, opis3_klas[ilosc_klas],  MAX_WIELKOSC_OPISU + 1);
    get_string(5, opis4_klas[ilosc_klas],  MAX_WIELKOSC_OPISU + 1);

    zdrowie_klas[ilosc_klas]      = get_param(6);
    kondycja_klas[ilosc_klas]     = get_param(7);
    inteligencja_klas[ilosc_klas] = get_param(8);
    wytrzymalosc_klas[ilosc_klas] = get_param(9);

    // TODO: jeśli masz mapowanie frakcji po nazwie, zrób je tu.
    // for (...) if (equali(nazwy_klas[ilosc_klas], ...)) frakcja_klas[ilosc_klas] = ...

    return ilosc_klas; // ID nowej klasy
}

  • +
  • -
  • 0
  • Pomoc przy AMXX + Stworzeniu Paczki bądź pluginu
  • Pomoc przy zakładaniu stron www
  • Pomoc przy konfigurowaniu Invision Community, MyBB
  • Pomoc przy całkowitym przygotowaniu forum www




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

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