Witam mam problem
otoz taki ze kiedy wgram bylej aki perk co daje niewidzialnosc
to moja klasa ktora jest niewidzialna na nozu staje sie widzialna zawsze
co mam zrobic ???
zeby sie juz nic nie bugowalo??
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 16.12.2016 19:51
Witam mam problem
otoz taki ze kiedy wgram bylej aki perk co daje niewidzialnosc
to moja klasa ktora jest niewidzialna na nozu staje sie widzialna zawsze
co mam zrobic ???
zeby sie juz nic nie bugowalo??
Napisano 16.12.2016 20:46
podaj sma tej klasy co ma niewidzialnosc na nozu.
zakladam ze perki maja sprawdzenie if( ma_perk[id]) przed daniem/zabraniem nie widzialnosci
ogolem problem powstal po wgraniu tej paczki perkow :
https://amxx.pl/topi...bulka-z-maslem/
a tutaj sma tej klasy :
cichylekkisnajper.sma 2,79 KB 20 Ilość pobrań
cichylekkisnajper.amxx
Napisano 16.12.2016 23:00
juz wiem dlaczego tak sie dzieje
bo w perkach masz ustawianie niewidzialnosci w:
public client_PreThink(id)
a w klasie masz w evencie curweapon ktory daje niewidzialnosc tylko przy zmianie broni i nawet jesli masz na nozu to prethink wymusi ci widzialnosc jesli nie spelniasz warunkow z perku.
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <fakemeta> #include <fun> #include <codmod_frakcje> new const nazwa[] = "[PREMIUM]CichylekkiSnajper"; new const opis[] = "[PREMIUM]Niewidzialny na nozu,ciche kroki"; new const bronie = (1<<CSW_SCOUT); new const zdrowie = 5; new const kondycja = 25; new const inteligencja = 0; new const wytrzymalosc = 0; new const frakcja[] = "[PREMIUM]"; new ma_klase[33]; public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("CurWeapon", "ModelBroni_CurWeapon", "be", "1=1"); register_forward(FM_SetModel, "ModelBroni_fw_SetModel"); } public plugin_precache() { precache_model("models/cichysnajper/p_cichysnajper.mdl"); precache_model("models/cichysnajper/v_cichysnajper.mdl"); precache_model("models/cichysnajper/w_cichysnajper.mdl"); } public cod_class_enabled(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_H)) { client_print(id, print_chat, "[[PREMIUM]CichylekkiSnajper] Nie masz uprawnien, aby uzywac tej klasy.") return COD_STOP; } set_user_footsteps(id, 1); ma_klase[id] = true; return COD_CONTINUE; } public cod_class_disabled(id) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); set_user_footsteps(id, 0); ma_klase[id] = false; } public client_PreThink(id) { if(!ma_klase[id]) return; if(get_user_weapon(id) == CSW_KNIFE) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1); } else { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); } } public ModelBroni_CurWeapon(id) { new weapon = read_data(2); if(ma_klase[id]) { if(weapon == CSW_SCOUT) { set_pev(id, pev_viewmodel2, "models/cichysnajper/v_cichysnajper.mdl") set_pev(id, pev_weaponmodel2, "models/cichysnajper/p_cichysnajper.mdl") } } } public ModelBroni_fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED if(!equali(model, "models/w_scout.mdl")) return FMRES_IGNORED; new entityowner = pev(entity, pev_owner); if(!ma_klase[entityowner]) return FMRES_IGNORED; engfunc(EngFunc_SetModel, entity, "models/cichysnajper/w_cichysnajper.mdl") return FMRES_SUPERCEDE }
tylko nie wiem czy to zadziala z perkiem czy np. nie bedzie mrygac ta nie widzialnosc.
swoja droga po co komu perk jak i tak ma niewidke
Użytkownik Kmf!p edytował ten post 16.12.2016 23:02
Napisano 18.12.2016 20:11
juz wiem dlaczego tak sie dzieje
bo w perkach masz ustawianie niewidzialnosci w:
public client_PreThink(id)a w klasie masz w evencie curweapon ktory daje niewidzialnosc tylko przy zmianie broni i nawet jesli masz na nozu to prethink wymusi ci widzialnosc jesli nie spelniasz warunkow z perku.
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <fakemeta> #include <fun> #include <codmod_frakcje> new const nazwa[] = "[PREMIUM]CichylekkiSnajper"; new const opis[] = "[PREMIUM]Niewidzialny na nozu,ciche kroki"; new const bronie = (1<<CSW_SCOUT); new const zdrowie = 5; new const kondycja = 25; new const inteligencja = 0; new const wytrzymalosc = 0; new const frakcja[] = "[PREMIUM]"; new ma_klase[33]; public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("CurWeapon", "ModelBroni_CurWeapon", "be", "1=1"); register_forward(FM_SetModel, "ModelBroni_fw_SetModel"); } public plugin_precache() { precache_model("models/cichysnajper/p_cichysnajper.mdl"); precache_model("models/cichysnajper/v_cichysnajper.mdl"); precache_model("models/cichysnajper/w_cichysnajper.mdl"); } public cod_class_enabled(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_H)) { client_print(id, print_chat, "[[PREMIUM]CichylekkiSnajper] Nie masz uprawnien, aby uzywac tej klasy.") return COD_STOP; } set_user_footsteps(id, 1); ma_klase[id] = true; return COD_CONTINUE; } public cod_class_disabled(id) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); set_user_footsteps(id, 0); ma_klase[id] = false; } public client_PreThink(id) { if(!ma_klase[id]) return; if(get_user_weapon(id) == CSW_KNIFE) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1); } else { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); } } public ModelBroni_CurWeapon(id) { new weapon = read_data(2); if(ma_klase[id]) { if(weapon == CSW_SCOUT) { set_pev(id, pev_viewmodel2, "models/cichysnajper/v_cichysnajper.mdl") set_pev(id, pev_weaponmodel2, "models/cichysnajper/p_cichysnajper.mdl") } } } public ModelBroni_fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED if(!equali(model, "models/w_scout.mdl")) return FMRES_IGNORED; new entityowner = pev(entity, pev_owner); if(!ma_klase[entityowner]) return FMRES_IGNORED; engfunc(EngFunc_SetModel, entity, "models/cichysnajper/w_cichysnajper.mdl") return FMRES_SUPERCEDE }tylko nie wiem czy to zadziala z perkiem czy np. nie bedzie mrygac ta nie widzialnosc.
swoja droga po co komu perk jak i tak ma niewidke
ale mi chodzilo o to ze klasa ciagle jest zawsze widzalna a nie tylko wtedy kiedy ma perk
i nic nie pomoglo to co podales
Użytkownik Dropsu edytował ten post 18.12.2016 20:13
Napisano 18.12.2016 20:49
ale mi chodzilo o to ze klasa ciagle jest zawsze widzalna a nie tylko wtedy kiedy ma perk
panie jasniej sie nie da, odszyfrowac to to trzeba sie natrudzic
napisz co jest nie tak i kiedy i jak ma dzialac, bo juz sam nie wiem.
w kodzie podanym wyzej klasa ma niewidzialnosc na nozu, zaraz sprawdze perki z paczki ale wydaje mi sie ze powinny miec warunek if(ma_perk[id]) przed kazdym daniem niewidzialnosci.
problemem moze byc perk: wszechwidzacy
#include <amxmodx> #include <codmod> #include <fakemeta> new bool:ma_perk[33]; new const perk_name[] = "Wszechwidzacy"; new const perk_desc[] = "Widzisz miny i niewidzialnych"; public plugin_init() { register_plugin(perk_name, "1.0", "bulka_z_maslem") cod_register_perk(perk_name, perk_desc); register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1) register_forward(FM_AddToFullPack, "Miny", 1) } public cod_class_enabled(id) { ma_perk[id] = true; } public cod_class_disabled(id) { ma_perk[id] = false; } public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet) { if(!is_user_connected(host) || !is_user_connected(ent)) return; if(!ma_perk[host]) return; set_es(es_handle, ES_RenderAmt, 255.0); } public Miny(es_handle, e, ent, host, hostflags, player, pSet) { if(!pev_valid(ent)) return; new classname[5]; pev(ent, pev_classname, classname, 4); if(equal(classname, "mine")) { set_es(es_handle, ES_RenderMode, kRenderTransAdd); set_es(es_handle, ES_RenderAmt, 90.0); } }
niby gosc ma widziec miny, ale brakuje warunku ma_perk i jesli gracz widzi mine moze widziec tez nie widzialnych
Użytkownik Kmf!p edytował ten post 18.12.2016 21:00
Napisano 19.12.2016 20:26
ale mi chodzilo o to ze klasa ciagle jest zawsze widzalna a nie tylko wtedy kiedy ma perk
panie jasniej sie nie da, odszyfrowac to to trzeba sie natrudzic
napisz co jest nie tak i kiedy i jak ma dzialac, bo juz sam nie wiem.
w kodzie podanym wyzej klasa ma niewidzialnosc na nozu, zaraz sprawdze perki z paczki ale wydaje mi sie ze powinny miec warunek if(ma_perk[id]) przed kazdym daniem niewidzialnosci.
problemem moze byc perk: wszechwidzacy
#include <amxmodx> #include <codmod> #include <fakemeta> new bool:ma_perk[33]; new const perk_name[] = "Wszechwidzacy"; new const perk_desc[] = "Widzisz miny i niewidzialnych"; public plugin_init() { register_plugin(perk_name, "1.0", "bulka_z_maslem") cod_register_perk(perk_name, perk_desc); register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1) register_forward(FM_AddToFullPack, "Miny", 1) } public cod_class_enabled(id) { ma_perk[id] = true; } public cod_class_disabled(id) { ma_perk[id] = false; } public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet) { if(!is_user_connected(host) || !is_user_connected(ent)) return; if(!ma_perk[host]) return; set_es(es_handle, ES_RenderAmt, 255.0); } public Miny(es_handle, e, ent, host, hostflags, player, pSet) { if(!pev_valid(ent)) return; new classname[5]; pev(ent, pev_classname, classname, 4); if(equal(classname, "mine")) { set_es(es_handle, ES_RenderMode, kRenderTransAdd); set_es(es_handle, ES_RenderAmt, 90.0); } }niby gosc ma widziec miny, ale brakuje warunku ma_perk i jesli gracz widzi mine moze widziec tez nie widzialnych
usunąłem perk i nic nie pomoglo
dodam jeszcze ze niektore perki co daja niewidke nie dzialaja
(juz wczesniej tak bylo)
Napisano 19.12.2016 23:05
nie wiem co to ma byc ale to nie jest poprawne raczej dalem komentarze popraw se ale skoro ten perk ma takie wstawki to nie chce wiedziec co jest w innych :
#include <amxmodx> #include <codmod> #include <engine> #include <fakemeta> #include <hamsandwich> #define DMG_BULLET (1<<1) new const perk_name[] = "Tajemnica snajpera"; new const perk_desc[] = "Ma 1/1 z AWP i podczas kucania z nim jego widocznosc wynosi LW"; new bool:ma_perk[33], wartosc_perku[33] public plugin_init() { register_plugin(perk_name, "1.0", "bulka_z_maslem"); cod_register_perk(perk_name, perk_desc, 50, 100); register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_perk_enabled(id, wartosc) { ma_perk[id] = true; cod_give_weapon(id, CSW_AWP) wartosc_perku[id] = wartosc; } public cod_perk_disabled(id) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); ma_perk[id] = false; cod_take_weapon(id, CSW_AWP) } public fwPrethink_Niewidzialnosc(id, idattacker) // idattacker ? po co to ? { if(!ma_perk[id]) return; new button = get_user_button(id); if( button & IN_DUCK && get_user_weapon(id) == CSW_AWP) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, wartosc_perku[idattacker]); // idattacker ? id lepsze by bylo } else { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); } } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_perk[idattacker]) return HAM_IGNORED; if(!(damagebits & DMG_BULLET)) return HAM_IGNORED; if(get_user_weapon(idattacker) == CSW_SCOUT && random_num(1,1) == 1) // to nie potrzebne skoro ma 1/1 ale to szczegol cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
nastepny:
#include <amxmodx> #include <codmod> #include <fakemeta> #include <engine> new const perk_name[] = "Peleryna Pottera"; new const perk_desc[] = "Gdy stoisz w miejscu jestes niewidzialny"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "bulka_z_maslem"); cod_register_perk(perk_name, perk_desc); } public cod_perk_enabled(id) { ma_perk[id] = true; } public cod_perk_disabled(id) { ma_perk[id] = false; } public client_PreThink ( id ) { new button2 = get_user_button(id); // za duzo warunkow w jednej linii, zalozmy ze gosc nie zyje i bedzie widzial wszystkich nawet nie widzialnych if (ma_perk[id] && get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)) && is_user_alive(id))) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1); } else set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); return PLUGIN_CONTINUE }
poprawka
public client_PreThink ( id ) { if(!is_user_alive(id)) return PLUGIN_CONTINUE if(!ma_perk[id]) return PLUGIN_CONTINUE new button2 = get_user_button(id); if (get_entity_flags(id) & FL_ONGROUND && (!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)))) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1); } else set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); return PLUGIN_CONTINUE }
co do tego nie jestem pewny moze tak tez da sie laczyc, ale ja pierwszy raz takie cos widze
(!(button2 & (IN_FORWARD+IN_BACK+IN_MOVELEFT+IN_MOVERIGHT)))
jak to nie zadziala wyłącz te 2 perki, jak nie dziala wylancz peleryny, zostaw dla testu peleryne kucacza powinna dzialac i sprawdz czy jest nie widka wlanczaj po jednym perku i sprawdzaj czy nadal dziala peleryna kucacza jak nie to wiadomo bedziejaki perk buguje. wszech widzacego nie wlanczaj wcale bo trudniej bedzie dojsc a w dodatku brakuje mu warunku ma_perk.
Użytkownik Kmf!p edytował ten post 19.12.2016 23:35
0 użytkowników, 0 gości, 0 anonimowych