Wynik kompilacji:
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team Error: Symbol already defined: "frakcja" on line 625 Error: Argument type mismatch (argument 3) on line 629 Error: Array dimensions do not match on line 642 Error: Array dimensions do not match on line 659 4 Errors.
Kod frakcji:
#define MAX_WIELKOSC_FRAKCJA 64
new frakcja_klas[2][MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1]
Linia: 625 - public bool:is_in_previous(frakcja[0][], frakcja[1][], from)
{
for(new i = from - 1;i>=1;i--)
{
Linia: 642 - if(equali(frakcja_klas[0][i], frakcja[0], frakcja_klas[1][i], frakcja[1]))
{
return true;
}
}
return false;
}
public WybierzFrakcje(id)
{
new menu = menu_create("\yWybierz -", "WybierzFrakcje2");
for(new i=1; i <= ilosc_klas; i++)
{
Linia: 659 - if(!equal(frakcja_klas[0][i],"") && !is_in_previous(frakcja_klas[0][i],i))
{
menu_additem(menu,frakcja_klas[0][i],frakcja_klas[0][i])
}
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public WybierzFrakcje2(id)
{
new menu2 = menu_create("\yWybierz -", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
Linia: 642 - if(!equal(frakcja_klas[1][i],"") && !is_in_previous(frakcja_klas[1][i],i))
{
menu_additem(menu2,frakcja_klas[1][i],frakcja_klas[1][i])
}
}
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu2);
}
public WybierzKlase_Frakcje(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
new menu3 = menu_create("\yWybierz -", "WybierzKlase_Handle");
new klasa[50], szTmp[5];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[1][i]))
{
if(awansuje_z[i])
{
new bool:moze = false;
WczytajDane(id, awansuje_z[i]);
if(poziom_gracza[id] >= awanse[ZnajdzAwans(awansuje_z[i], i)][2])
moze = true;
WczytajDane(id, i);
if(moze) formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
else formatex(klasa, charsmax(klasa), "\r%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
}
else
{
WczytajDane(id, i);
formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
}
num_to_str(i, szTmp, charsmax(szTmp));
menu_additem(menu3, klasa, szTmp);
}
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu3, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu3, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu3, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu3);
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
item = str_to_num(data);
if(awansuje_z[item])
{
WczytajDane(id, awansuje_z[item]);
new bool:moze, a = ZnajdzAwans(awansuje_z[item], item)
if(poziom_gracza[id] >= awanse[a][2])
moze = true;
WczytajDane(id, klasa_gracza[id]);
if(!moze)
{
client_print(id, print_chat, "[COD:MW] Aby uzywac tej klasy musisz zdobyc %i poziom na klasie %s!", awanse[a][2], nazwy_klas[awansuje_z[item]]);
return PLUGIN_CONTINUE;
}
}
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;
nowa_klasa_gracza[id] = item;
if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
return PLUGIN_CONTINUE;
}
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, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
bronie_klasy[ilosc_klas] = get_param(3);
zdrowie_klas[ilosc_klas] = get_param(4);
kondycja_klas[ilosc_klas] = get_param(5);
inteligencja_klas[ilosc_klas] = get_param(6);
wytrzymalosc_klas[ilosc_klas] = get_param(7);
get_string(8, frakcja_klas[0][ilosc_klas], MAX_WIELKOSC_FRAKCJA);
get_string(9, frakcja_klas[1][ilosc_klas], MAX_WIELKOSC_FRAKCJA);
return ilosc_klas;
}


Dodatki SourceMod












