Witam.
Chcę zrobić aby po wpisaniu komendy : /klasa było dostępne menu
- Darmowe - Premium ----> - Snajper - Komandos -----> - Snajper 5 poziom - Elitarny Snajper 1 poziom
A więc próboje tak lecz nie wyświetla się menu klas.
#define MAX_WIELKOSC_FRAKCJA 64 new lista_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1]; new frakcja_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1]; new nazwa_klasy[MAX_ILOSC_KLAS+1][64]; new nazwa_listy[MAX_ILOSC_KLAS+1][64]; new nazwa_frakcji[MAX_ILOSC_KLAS+1][64]; new klasid;
loadfile() loadfile2()
public loadfile()
{
new file[256];
get_configsdir(file,charsmax(file));
formatex(file, charsmax(file), "%s/cod_lista.ini", file);
if(!file_exists(file))
return;
new row[128], trash, size=file_size(file,1);
for(new i=0;i<size;i++)
{
read_file(file, i, row, charsmax(row), trash);
if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1)
{
replace(row, charsmax(row), "[klasa]", "");
split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_listy[klasid], charsmax(nazwa_listy[]), "[lista]");
klasid++;
}
}
}
public loadfile2()
{
new file[256];
get_configsdir(file,charsmax(file));
formatex(file, charsmax(file), "%s/cod_frakcje.ini", file);
if(!file_exists(file))
return;
new row[128], trash, size=file_size(file,1);
for(new i=0;i<size;i++)
{
read_file(file, i, row, charsmax(row), trash);
if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1)
{
replace(row, charsmax(row), "[klasa]", "");
split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_frakcji[klasid], charsmax(nazwa_frakcji[]), "[frakcja]");
klasid++;
}
}
}
public ZarejestrujKlase(plugin, params)
{
if(params != 7)
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);
for(new i=0;i<klasid;i++)
{
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i]))
{
lista_klas[ilosc_klas] = nazwa_listy[i];
}
if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i]))
{
frakcja_klas[ilosc_klas] = nazwa_frakcji[i];
}
}
return ilosc_klas;
}
public WybierzKlase(id)
{
hud_znika[id]=1;
new menu = menu_create("\yWybierz\r -", "WybierzKlasee_Handle");
for(new i=1; i <= ilosc_klas; i++)
{
if(!equal(frakcja_klas[i],"") && !is_in_previous(frakcja_klas[i],i))
{
menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
}
}
menu_addtext(menu, "^n\dUzyj komende\w /q\d aby uaktywnic Quest.^n^n\yCZIT =\r PERM^n\yREKLAMA =\r BAN^n\yEXPIENIE =\r BAN^n\yTXT =\r BAN^n\yBRAK KULTURY =\r BAN^n^n\r** \wZapraszam na nasze forum : www.Hajtowoo.xaa.pl \r**", 0)
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public WybierzKlasee_Handle(id, menu, item)
{
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
switch(item)
{
case 0: WybierzKlase2(id)
}
}
public WybierzKlase2(id)
{
hud_znika[id]=1;
new menu = menu_create("\yWybierz\r -", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
if(!equal(lista_klas[i],"") && !is_in_previous(lista_klas[i],i))
{
menu_additem(menu,lista_klas[i],lista_klas[i])
}
}
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
}
public WybierzKlase_Frakcje(id, menu, item)
{
if(item == MENU_EXIT)
{
hud_znika[id]=0;
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
new data[65], temp[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, temp, 63, callback)
new menu2 = menu_create("\yWybierz\r -", "WybierzKlase_Handle");
new klasa[50], numer[5], dana_klasa;
for(new i=1; i <= ilosc_klas; 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]);
}
menu_additem(menu, klasa);
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu2);
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handle(id, menu, item)
{
hud_znika[id]=0;
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
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])
ColorChat(id, GREEN, "[COD:MW3]^x01 Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
return PLUGIN_CONTINUE;
}
plik cod_lista.ini :
[klasa]Snajper[lista]Darmowe [klasa]Elitarny Snajper[lista]Darmowe [klasa]Komandos[lista]Premium [klasa]Elitarny Komandos[lista]Premium
Plik cod_frakcje.ini :
[klasa]Snajper[frakcja]Snajper [klasa]Eliterny Snajper[frakcja]Snajper [klasa]Komandos[frakcja]Komandos [klasa]Eliterny Komandos[frakcja]Komandos
Użytkownik 1stADXionC edytował ten post 20.12.2020 12:42


Dodatki SourceMod












