Awanse klas
Goliath
20.08.2011

Przy okazji - aktualizacja wersji z frakcjami:
- poprawiona kompatybilność z najnowszą wersją frakcji,
- teraz możliwe będzie dodanie klas, do której się awansuje, do innej frakcji niż klasa bazowa.
Intex
15.10.2011
Goliath
15.10.2011
Intex
15.10.2011
Użytkownik Intex edytował ten post 16.10.2011 13:14
lE_campe
22.10.2011

xanderms991
01.11.2011
Załączone pliki
xanderms991
01.11.2011
ric0
01.11.2011
if(awansuje_do[klasa_gracza[id]])
{
if(poziom_gracza[id] >= awanse[ZnajdzAwans(klasa_gracza[id], awansuje_do[klasa_gracza[id]])][2])
{
set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
ShowSyncHudMsg(id, SyncHudObj2,"Osiagajac poziom %i, awansowales do klasy %s!", poziom_gracza[id], nazwy_klas[awansuje_do[klasa_gracza[id]]]);
new temp_int = inteligencja_gracza[id], temp_zdr = zdrowie_gracza[id], temp_kon = kondycja_gracza[id], temp_wyt = wytrzymalosc_gracza[id], temp_exp = doswiadczenie_gracza[id], temp_lvl = poziom_gracza[id];
nowa_klasa_gracza[id] = awansuje_do[klasa_gracza[id]];
UstawNowaKlase(id);
poziom_gracza[id] = temp_lvl;
doswiadczenie_gracza[id] = temp_exp;
wytrzymalosc_gracza[id] = temp_wyt;
zdrowie_gracza[id] = temp_zdr;
kondycja_gracza[id] = temp_kon;
inteligencja_gracza[id] = temp_int;
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
DajBronie(id);
ZastosujAtrybuty(id);
ZapiszDane(id);
}
}
Czy to oby na pewno działa? bo mi niestety nie chce wczytać tych statystyk i poziomu po awansie.
Użytkownik Squady edytował ten post 01.11.2011 19:57
xanderms991
01.11.2011
d0naciak
18.11.2011
Tak, dałoby się
. Najpierw uwzględnij zmianę z pierwszego postu, z punktów 2 i 3 (nowa zmienna - awansuje_z). Potem zmień kod z punktu 5 na:
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
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(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
}
Z punktu 6. na:public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
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])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
return PLUGIN_CONTINUE;
}
I usuń kod z punktu 7.
I żeby z tym też działały frakcje
SoPelQ
11.12.2011
Przykładowo np. żeby tą klase można było użyć po 1000lvlu http://amxx.pl/topic...osiada-m72-law/
H.W.D.P
22.12.2011
Snajper
Elitarny Snajper?
SoPelQ
02.01.2012
Ale ja bym chciał, aby po wbiciu nie ważne którą klasą 600lvla, mogę grać inną wybraną przez sb klasą. Chodzi tu o to by klasa odblokowywała się po samym wbiciu 600lvla, bez brania pod uwagę (bez znaczenia), na której klasie wbiłem ten lvl.
PS CoD'a mam z frakcjami.
Użytkownik lok301 edytował ten post 02.01.2012 12:28
Barto_12_SAS
02.01.2012
Użytkownik SAS edytował ten post 02.01.2012 19:26
robaloss
14.01.2012
Wybierz klase:
1. Snajper - jak klikniesz odsyla do menu gdzie jest:
Wybierz awans:
1. Normalna
2. Profesjonalny Snajper (od 100 lvl)
dało by się to stworzyc?
matixr
04.02.2012
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Undefined symbol "cod_register_advance" on line 24
Error: Number of arguments does not match definition on line 24
Warning: Symbol is never used: "bronie" on line 48
Warning: Symbol is never used: "inteligencja" on line 48
Warning: Symbol is never used: "kondycja" on line 48
Warning: Symbol is never used: "wytrzymalosc" on line 48
Warning: Symbol is never used: "zdrowie" on line 48
2 Errors.
Could not locate output file Y:\DO MOJEGO COD MODA\awanse klas\codawans_elitesnajper.amx (compile failed).
.SMA wziąłem z 1 postu
Powie mi ktoś czy :
- Edytujemy tylko silnik i codmod.inc ?
- Gdzie dodajemy w klasie, w którą ma się zamienić z czego ?
- Gdzie dodać w klasie, gdy po wbiciu 100lv zamieni się w tą wyżej klasę ?
! MOD PROSZĘ USUNĄĆ MOJE POSTY !
PROBLEM ROZWIĄZANY !
Użytkownik matixr edytował ten post 02.02.2012 15:00