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 }