Witam, mam wgrane awanse klas, frakcję oraz opis i pytanie przy wyborze klas. Tylko że wgrałem "Klasy nie awansują, ale odblokowywują się po osiągnięciu danego poziomu na danej klasie (jeżeli mamy wgrane frakcje)" http://amxx.pl/topic...post__p__262954. Lecz gdy osiągnie się poziom na danej klasie, np. Komandos i awansuję na Elitarnego Komandosa to nie da się grać komandosem bo przełącza go na elitarnego od razu. Proszę o pomoc.
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 menu2 = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50], szTmp[5];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_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), "\y%s \rPoziom: %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), "\y%s \rPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
}
num_to_str(i, szTmp, charsmax(szTmp));
menu_additem(menu2, klasa, szTmp);
}
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz^n^n\dWitaj w modyfikacji CoD MoD: AW^nForum: Cs-xxxxxx.pl^nSklep: Sklep.xxxxxx/cod");
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu2);
client_cmd(id, "spk QTM_CodMod/select");
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
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:AW] 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])
return PLUGIN_CONTINUE;
wybrana_klasa[id] = item
new text[513]
new bronie[320];
for(new i=1, n=1; i <= 32; i++)
{
if((1<<i) & bronie_klasy[item])
{
new weaponname[22];
get_weaponname(i, weaponname, 21);
replace_all(weaponname, 21, "weapon_", " ");
if(n > 1)
add(bronie, charsmax(bronie), ",");
add(bronie, charsmax(bronie), weaponname);
n++;
}
}
format(text, 512, "\rNazwa: \w%s ^n\rOpis: \w%s^n\rBronie: \w%s^n^n\yCzy chcesz wybrac te klase?",nazwy_klas[item], opisy_klas[item], bronie, inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item])
new nmenu = menu_create(text, "WybierzKlase_Handler")
menu_additem(nmenu, "Tak")
menu_additem(nmenu, "Nie")
menu_display(id, nmenu)
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handler(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(wybrana_klasa[id] == klasa_gracza[id])
return PLUGIN_CONTINUE;
switch(item)
{
case 0:
{
klasa_gracza[id] = wybrana_klasa[id];
if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
}
case 1:
{
WybierzKlase(id)
}
}
return PLUGIN_CONTINUE;
}
Proszę o szybką pomoc.
Każdą pomoc nagradzam +.
Użytkownik protypek edytował ten post 10.07.2015 15:51


Dodatki SourceMod



Temat jest zamknięty








