Dzisiaj mam 2 problemiki:
1.
Stworzyłem klasę, która leczy pod PPM [ sprite ściągnąłem od kodu DeadSkull by DarkGL ], jednakże przy zrespieniu się zmienna nie przyjmuje wartości 3.
Spoiler
#include <amxmodx> #include <amxmisc> #include <codmod> #include <fakemeta> #include <engine> #include <hamsandwich> #include <fun> #define dodaj_exp(%1,%2) cod_set_user_xp(%1, cod_get_user_xp(%1) + %2) #define write_coord_f(%1) engfunc(EngFunc_WriteCoord,%1) new const nazwa[] = "Doktor"; new const opis[] = "Moze uleczac graczy po namierzeniu i nacisnieciu PPM"; new const bronie = 0; new const zdrowie = 0; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new ma_klase[33]; new index[33]; new ilosc[33]; new const szSprite[] = "sprites/leczenie.spr" new pSprite; public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); RegisterHam(Ham_Spawn, "player", "Respawn", 1); } public plugin_precache() { pSprite = precache_model(szSprite) } public cod_class_enabled(id) { ma_klase[id] = true; ilosc[id] = 3; } public cod_class_disabled(id) { ma_klase[id] = false; } public client_PreThink(id) { new button = get_user_button(id) new oldbutton = get_user_oldbutton(id) new ofiara, body; if(ma_klase[id] && button & IN_ATTACK2 && !(oldbutton & IN_ATTACK2)) { get_user_aiming(id, ofiara, body) index[id] = ofiara; Ulecz(id) } } public Ulecz(id) { new maxx = 100 + cod_get_user_health(index[id]) new nick[32], nick2[32]; get_user_name(id, nick, 32) get_user_name(index[id], nick2, 32) if(!ilosc[id]) { client_print(id, print_center, "Wykorzystales juz leczenia na te runde") return PLUGIN_HANDLED; } if(get_user_health(index[id]) > (maxx/2)) { client_print(id, print_center, "Gracz %s ma wiecej niz 50 proc zycia", nick2) return PLUGIN_HANDLED; } if(get_user_team(id) == get_user_team(index[id])) { new Float:fOrigin[3]; pev(index[id],pev_origin,fOrigin); message_begin(MSG_BROADCAST,SVC_TEMPENTITY ) write_byte(TE_SPRITE) write_coord_f(fOrigin[0]) write_coord_f(fOrigin[1]) write_coord_f(fOrigin[2]) write_short(pSprite) write_byte(10) write_byte(255) message_end() set_user_health(index[id], maxx) dodaj_exp(id, 70) ilosc[id]-- client_print(id, print_center, "[%i/3]Gracz %s uleczony (+70 EXP)", ilosc[id], nick2) client_print(index[id], print_center, "Zostales uleczony przez %s", nick) } return PLUGIN_CONTINUE; } public Respawn(id) { ilosc[id] = 3; client_print(id, print_center, "Wyposazyles sie w 3 paczki leczace") }
2. Nie zapisuje mi się lokalizacja NPC [ http://amxx.pl/topic/128809-npc/ ]. Nie ingerowałem w zapis pozycji. Co robię nie tak?
Z góry dzięki i pozdrawiam!