Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define FILTERSCRIPT
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp(cmdtext, "/autos visibles", true)){
- new v, str[128], count;
- for(; v<MAX_VEHICLES; v++){
- if(GetVehicleModel(v) && IsVehicleStreamedIn(v, playerid) && IsVehicleInPlayerScreen(playerid, v)){
- if(count)format(str, 128, "%s||%i", str, v);
- else format(str, 128, "%i", v);
- count++;
- }
- }
- return SendClientMessage(playerid, -1, (count) ? (str) : ("No se encontraron vehiculos."));
- }
- return 0;
- }
- stock IsVehicleInPlayerScreen(playerid, vehicleid)
- {
- static Float:P[3], Float:vP[3], Float:Dist;
- GetPlayerPos(playerid, P[0], P[1], P[2]);
- GetVehiclePos(vehicleid, vP[0], vP[1], vP[2]);
- if(vP[2]-P[2]>15.0 || P[2]-vP[2]>15.0)return 0;
- Dist = floatsqroot(floatpower((P[0]-vP[0]), 2)+floatpower((P[1]-vP[1]), 2)+floatpower((P[2]-vP[2]), 2));
- if(Dist>100.0)return 0;
- static Float:cV[3], Float:cP[3], Float:T[3], Float:Ar;
- GetPlayerCameraPos(playerid, cP[0], cP[1], cP[2]);
- GetPlayerCameraFrontVector(playerid, cV[0], cV[1], cV[2]);
- T[0] = cV[0]*Dist+cP[0];
- T[1] = cV[1]*Dist+cP[1];
- T[2] = cV[2]*Dist+cP[2];
- if(vP[2]-T[2]>10.5 || T[2]-vP[2]>10.5)return 0;
- if(Dist<7.0)return 1;
- Ar=atan2((P[1]-T[1]), (P[0]-T[0]));
- if(Ar-42.0<(atan2((P[1]-vP[1]), (P[0]-vP[0])))<Ar+42.0)return 1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment