Zauważyłem, że bardzo wiele osób ma problem z wytrzymałością perku, który się zlewa, np. z Monetami...
Aby temu zapobiec, należy robić tak jak niżej napisałem.
1. Na początku pluginu QTM_CodMod, zaraz po:
new MsgScreenfade;
Dodajemy:
native cod_set_perk_durability(id, wytrzymalosc); // Ustawia wytrzymalosc perku gracza. native cod_get_perk_durability(id); // Pobiera wytrzymalosc perku gracza.
Powinno wyglądać tak:
new MsgScreenfade; native cod_set_perk_durability(id, wytrzymalosc); // Ustawia wytrzymalosc perku gracza. native cod_get_perk_durability(id); // Pobiera wytrzymalosc perku gracza.
2. Szukamy:
public PokazInformacje(id) { id -= ZADANIE_POKAZ_INFORMACJE; if(!is_user_connected(id)) { remove_task(id+ZADANIE_POKAZ_INFORMACJE); return PLUGIN_CONTINUE; } if(!is_user_alive(id)) { new target = pev(id, pev_iuser2); if(!target) return PLUGIN_CONTINUE; set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]); return PLUGIN_CONTINUE; } set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]); return PLUGIN_CONTINUE; }
1) Dodajemy
new wytrzymalosc = cod_get_perk_durability(id);
nad:
set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
2) Dodajemy napis, aby się wyświetlał, czyli zamieniamy to:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
na:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Wytrzymalosc Perku : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
3) Ostatnim krokiem jest dodanie "wytrzymalosc" na koniec linijki czyli zamieniamy:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Wytrzymalosc Perku : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
na:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Wytrzymalosc Perku : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], wytrzymalosc);
Całość powinna wyglądać tak:
public PokazInformacje(id) { id -= ZADANIE_POKAZ_INFORMACJE; if(!is_user_connected(id)) { remove_task(id+ZADANIE_POKAZ_INFORMACJE); return PLUGIN_CONTINUE; } if(!is_user_alive(id)) { new target = pev(id, pev_iuser2); if(!target) return PLUGIN_CONTINUE; set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]); return PLUGIN_CONTINUE; } new wytrzymalosc = cod_get_perk_durability(id); set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Wytrzymalosc Perku : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], wytrzymalosc); return PLUGIN_CONTINUE; }
-
3. Teraz otwieramy plugin wytrzymalosc_perku.sma
Szukamy:
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD", "ResetHUD", "abe"); register_event("DeathMsg", "Death", "ade"); cvar_max_wytrzymalosc = register_cvar("cod_maxperkdurability", "100"); cvar_uszkodzenia_za_smierc = register_cvar("cod_perkdamage", "10"); SyncHudObj = CreateHudSyncObj(); }
Usuwamy linijkę:
register_event("ResetHUD", "ResetHUD", "abe");
Zjeżdżamy w dół, szukamy i usuwamy to:
public PokazWytrzymalosc(id) { id -= ZADANIE_POKAZ_WYTRZYMALOSC; if(!is_user_alive(id)) { remove_task(id+ZADANIE_POKAZ_WYTRZYMALOSC); return; } set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "^n^n^n^n^n[Wytrzymalosc Perku: %i/%i]", wytrzymalosc_perku[id], get_pcvar_num(cvar_max_wytrzymalosc)); } public ResetHUD(id) { if(!task_exists(id+ZADANIE_POKAZ_WYTRZYMALOSC)) set_task(0.1, "PokazWytrzymalosc", id+ZADANIE_POKAZ_WYTRZYMALOSC, _, _, "b"); }
-
Gotowiec: