fnSetRandomLocation(id) { static Float:vOrigin[3],Float:vDownOrigin[3],iContents fnRandLoc(vOrigin) vOrigin[2] = -MAP_MAX do { if(vOrigin[2] > MAP_MAX) return fnSetRandomLocation(id) vOrigin[2] += 10.0 iContents = PointContents(vOrigin) } while(iContents != CONTENTS_EMPTY) vOrigin[2] += 35.0 entity_set_vector(id,EV_VEC_origin,vOrigin) vDownOrigin = vOrigin vDownOrigin[2] = -MAP_MAX trace_line(id,vOrigin,vDownOrigin,vDownOrigin) if(vDownOrigin[2] < -MAP_MAX + 5.0) return fnSetRandomLocation(id) return PLUGIN_CONTINUE } fnRandLoc(Float:vVec[3]) { vVec[0] = random_float(-MAP_MAX,MAP_MAX) vVec[1] = random_float(-MAP_MAX,MAP_MAX) }