Witam,
Dzisiaj mam dość bardzo nietypowy problem i mam nadzieję iż ktoś mi z nim pomoże.
Mam na serwerze wgrany plugin wytrzymalośc perku.
Problem polega na tym iż kiedy mam 10/100 wytrzymałości perku i ktoś mnie zabije to serwer się crashuje oraz w lewym górnym rogu wyświetla się że zostałem 5 razy zabity.
Error logi :
L 11/24/2014 - 00:00:58: Start of error session. L 11/24/2014 - 00:00:58: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20141124.log") L 11/24/2014 - 00:00:58: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx") L 11/24/2014 - 00:00:58: [AMXX] Run time error 3: stack error L 11/24/2014 - 00:00:58: Unhandled dynamic native error L 11/24/2014 - 00:00:58: [AMXX] Displaying debug trace (plugin "wytrzymalosc_perku.amxx") L 11/24/2014 - 00:00:58: [AMXX] Run time error 10: native error (native "cod_get_user_perk") L 11/24/2014 - 00:00:58: [AMXX] [0] wytrzymalosc_perku_2610429.sma::Death (line 43) L 11/24/2014 - 00:07:14: [AMXX] Displaying debug trace (plugin "QTM_CodMod.amxx") L 11/24/2014 - 00:07:14: [AMXX] Run time error 3: stack error L 11/24/2014 - 00:07:14: Unhandled dynamic native error L 11/24/2014 - 00:07:14: [AMXX] Displaying debug trace (plugin "wytrzymalosc_perku.amxx") L 11/24/2014 - 00:07:14: [AMXX] Run time error 10: native error (native "cod_get_user_perk") L 11/24/2014 - 00:07:14: [AMXX] [0] wytrzymalosc_perku_2610429.sma::Death (line 43)
Plugin wytrzymalosc perków :
#include <amxmodx> #include <codmod> #define PLUGIN "[CODMOD] Wytrzymalosc w hud" #define VERSION "2.0" #define AUTHOR "QTM_Peyote" #define ZADANIE_POKAZ_WYTRZYMALOSC 35200 new cvar_max_wytrzymalosc, cvar_uszkodzenia_za_smierc; new wytrzymalosc_perku[33]; new SyncHudObj; new wytrzymalosc[33]; /*--------- Aby korzystac z natywow cod_get_perk_durability oraz cod_set_perk_durability musisz dodac do swojego pluginu: native cod_set_perk_durability(id, wytrzymalosc); // Ustawia wytrzymalosc perku gracza. native cod_get_perk_durability(id); // Pobiera wytrzymalosc perku gracza. -----------*/ 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", "10"); cvar_uszkodzenia_za_smierc = register_cvar("cod_perkdamage", "2"); SyncHudObj = CreateHudSyncObj(); } public plugin_natives(){ register_native("cod_get_perk_durability", "PobierzWytrzymalosc", 1); register_native("cod_set_perk_durability", "UstawWytrzymalosc", 1); } public cod_perk_changed(id, perk) wytrzymalosc_perku[id] = perk? get_pcvar_num(cvar_max_wytrzymalosc): 0; public Death(){ new id = read_data(2); if(!is_user_connected(id)) return; if(!cod_get_user_perk(id)) return; new uszkodzenia_za_smierc = get_pcvar_num(cvar_uszkodzenia_za_smierc); wytrzymalosc_perku[id] -= (wytrzymalosc_perku[id] > uszkodzenia_za_smierc)? uszkodzenia_za_smierc: wytrzymalosc_perku[id]; if(wytrzymalosc_perku[id] <= 0){ cod_set_user_perk(id, 0); client_print(id, print_chat, "Twoj przedmiot ulegl zniszczeniu"); } else{ client_print(id, print_chat, "Pozostala wytrzymalosc twojego przedmiotu to %i", wytrzymalosc_perku[id]); } } public UstawWytrzymalosc(id, wartosc){ new max_wytrzymalosc = get_pcvar_num(cvar_max_wytrzymalosc); wytrzymalosc_perku[id] = (wartosc > max_wytrzymalosc)? max_wytrzymalosc: wartosc; } public PobierzWytrzymalosc(id) return wytrzymalosc_perku[id]; public PokazWytrzymalosc(id){ id -= ZADANIE_POKAZ_WYTRZYMALOSC; if(!is_user_alive(id)){ remove_task(id+ZADANIE_POKAZ_WYTRZYMALOSC); return; } set_hudmessage(255, 255, 255, 0.65, 0.00, 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.5, "PokazWytrzymalosc", id+ZADANIE_POKAZ_WYTRZYMALOSC, _, _, "b"); } public cod_class_changed(id){ wytrzymalosc[id]=PobierzWytrzymalosc(id); set_task(1.0, "USTAW",id); } public USTAW(id){ UstawWytrzymalosc(id,wytrzymalosc[id]); } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Siedze nad tym błędem już 3 dni i nic nie mogę wykombinować. Mam nadzieje że wy mi pomożecie
Załączone pliki
Użytkownik Astralol edytował ten post 24.11.2014 00:52