Mała zmiana w silniku - Cod Awanse klas.
question?
29.12.2013
Prosiłbym o poradę jak zmienić rejestrację awansu. Chciałbym by klasa awansowała np. od 500lvl i po awansie klasa miałby statystyki i moce z klasy Ulepszonej natomiast LVL szedł by dalej czyli 501, 502 itp. Teraz mam zrobione, że klasa po awansie startuje znów z 1 lvla. Z góry dziękuję za pomoc.
public ZarejestrujAwans(plugin, params) { if(params != 9) return PLUGIN_CONTINUE; if(++ilosc_klas > MAX_ILOSC_KLAS) return -1; pluginy_klas[ilosc_klas] = plugin; new awans_z = get_param(1); awansuje_do[awans_z] = ilosc_klas; awansuje_z[ilosc_klas] = awans_z; ilosc_awansow++; awanse[ilosc_awansow][1] = ilosc_klas; awanse[ilosc_awansow][0] = awans_z; awanse[ilosc_awansow][2] = get_param(2); get_string(3, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY); get_string(4, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU); bronie_klasy[ilosc_klas] = get_param(5); 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; }
O'Zone
29.12.2013
Zajrzyj do poradnika o dodaniu awansów: http://amxx.pl/topic...63-awanse-klas/, a dokładniej na fragment pod "Jeżeli chcesz, aby na nową klasę przechodził poziom, exp, statystyki itd., zastąp w/w funkcję tą"
question?
29.12.2013
Poradnik "przestudiowałem" nie ma tam informacji tych których jas potrzebuje. NIE chcę by przechodizło wszystko. Potrzebuję tylko by level szedł dalej nie powracał znów do 1.
O'Zone
29.12.2013
Wystarczy drobna korekta podanej tam funkcji. Nie wszystko musi być zawsze podane na tacę, wystarczy trochę wysilić szare komórki
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_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; 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); } }
question?
29.12.2013
Dziękuje bardzo udało sie lvl idzie dalej nie wraca do 1, ale pojawił się kolejny problem: mogę rozdac pkt do statystyk te za ten 500lvl a chiałbym by znow klasa miała w każdej statystyce bazowe pkt....
O'Zone
30.12.2013
Logiczną rzeczą jest, że jeśli klasa ma określony poziom, to może także rozdać odpowiednie dla tego poziomu punkty. Można by to zmienić, ale wymaga to już większych modyfikacji w silniku.