public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("+grab","check") register_clcmd("-grab","checking_block") pcvar_odleglosc = register_cvar("bb_odleglosc","250.0") } public checking_block(id){ if(ents[id] == -1){ return PLUGIN_CONTINUE; } new ent = -1; while((ent = find_ent_in_sphere(ent,origins[id],get_pcvar_float(pcvar_odleglosc))) != 0){ new classname[32] pev(ent,pev_classname,classname,31) new targetname[32]; pev(ent,pev_targetname,targetname,31) if(equali(classname,"func_wall") && equali(targetname,"barrier")){ set_pev(ents[id],pev_origin,origins[id]); ents[id] = -1; return PLUGIN_CONTINUE; } } ents[id] = -1; return PLUGIN_CONTINUE; } public check(id){ new ent, body get_user_aiming(id, ent, body) if(!pev_valid(ent)){ return PLUGIN_CONTINUE; } new classname[32] pev(ent,pev_classname,classname,31) new targetname[32]; pev(ent,pev_targetname,targetname,31) if(!equali(classname,"func_wall") || equali(targetname,"ignore")){ return PLUGIN_CONTINUE; } ents[id] = ent; pev(ent,pev_origin,origins[id]) return PLUGIN_CONTINUE; }
chodzi o
register_clcmd("+grab","check")
register_clcmd("-grab","checking_block")
jest taka sytuacja
załóżmy że pod f mam +grab naciskam f pierwszy raz wywołuje się funkcja check puszczam checking_block naciskam drugi raz i nic funkcja check się nie wywołała a po puszczeniu checking_block także nie (chyba nie pamiętam już ;]) no i mogę nawalać w ten klawisz a funkcje ani rusz nawet jeśli dam na samym początku client_print to i tak nic się nie wyświetli tak jakby funkcje się nie uruchamiały