czyDuzoMiejsca(const Float:vfPunkt[3], Float:odleglosc){ new Float:vfStart[3], Float:vfEnd[3]; vfStart[0] = vfEnd[0] = vfPunkt[0]; vfStart[1] = vfEnd[1] = vfPunkt[1]; vfStart[2] = vfEnd[2] = vfPunkt[2]; //1 vfStart[0] += odleglosc; vfEnd[0] -= odleglosc; if(engfunc( EngFunc_PointContents, vfStart ) != CONTENTS_EMPTY && engfunc( EngFunc_PointContents, vfEnd ) != CONTENTS_EMPTY) return 0; //2 vfStart[0] -= odleglosc; vfEnd[0] += odleglosc; vfStart[1] += odleglosc; vfEnd[1] -= odleglosc; if(engfunc( EngFunc_PointContents, vfStart ) != CONTENTS_EMPTY && engfunc( EngFunc_PointContents, vfEnd ) != CONTENTS_EMPTY) return 0; return 1; } public PostawMine(id) { if (!ilosc_min_gracza[id]) { client_print(id, print_center, "Wykorzystales juz wszystkie miny!"); return PLUGIN_CONTINUE; } new Float:origin[3]; entity_get_vector(id, EV_VEC_origin, origin); if(!czyDuzoMiejsca(origin, 33.0)) { client_print(id, print_center, "Zbyt waskie przejscie!"); return PLUGIN_CONTINUE; } if(inteligencja_gracza[id] < 1) client_print(id, print_center, "Aby wzmocnic miny, zwieksz inteligencje!"); ilosc_min_gracza[id]--; new ent = create_entity("info_target"); entity_set_string(ent ,EV_SZ_classname, "Mine"); entity_set_edict(ent ,EV_ENT_owner, id); entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS); entity_set_origin(ent, origin); entity_set_int(ent, EV_INT_solid, SOLID_BBOX); entity_set_model(ent, "models/mine.mdl"); entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0}); drop_to_floor(ent); entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ; set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ; return PLUGIN_CONTINUE; }