// ~Wichtiges~
#include <a_samp>
// Credits: Peter <3 && Antironix für die Blitzer Geschwindigkeit
// Credits: To Jason_Gregory
enum SavePlayerPosEnum {
Float:LastX,
Float:LastY,
Float:LastZ
}
#define COLOR_GELB 0xFFFF00AA
#define SLOTS 200
forward Geschwindkeitsangabe(playerid);
new SekundenBlitz = 1; // Wie frequent wird es geupdatet
new maxobject = 2; //Anzahl der aufgestellten Blitzer
new HergestelltesOb;
new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new Abstandsangabe[MAX_PLAYERS];
stock AddBlitzer(playerid, modelid, Float:xx, Float:yy, Float:zz, radius, speed)
{
new fine[MAX_PLAYERS];
new str[256];
if(HergestelltesOb!=maxobject)
{
CreateObject(modelid, xx, yy, zz, 0.0, 0.0, 10);
HergestelltesOb++;
}
if((Abstandsangabe[playerid])>speed)
{
if(IsPlayerInCircle(playerid, xx, yy, radius) && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
{
fine[playerid]=((Abstandsangabe[playerid]*17/6)-speed);
GivePlayerMoney(playerid, -fine[playerid]);
format(str,sizeof(str), "Du bist schneller als %d(%d) Km/H gefahren und bezahlst $%d",speed, Abstandsangabe[playerid] ,fine[playerid]);
SendClientMessage(playerid, COLOR_GELB, str);
GameTextForPlayer(playerid, "!Geblitzt!", 300, 5);
SetPlayerWantedLevel(playerid,1);
}
}
}
IsPlayerInCircle(playerid,Float:x,Float:y,radius)
{
if(GetPlayerDistanceToPoint(playerid,Float:x,Float:y) < radius)
{
return 1;
}
return 0;
}
GetPlayerDistanceToPoint(playerid,Float:x,Float:y)
{
new Float:x1,Float:y1,Float:z1; GetPlayerPos(playerid,x1,y1,z1);
new Float:tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+
floatpower(floatabs(floatsub(y,y1)),2));
return floatround(tmpdis);
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public Geschwindkeitsangabe(playerid)
{
new Float:x,Float:y,Float:z;
new Float:distance,value;
for(new i=0; i<SLOTS; i++)
{
if(IsPlayerConnected(i))
{
GetPlayerPos(i, x, y, z);
distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
value = floatround(distance * 3600);
if(SekundenBlitz > 1)
{
value = floatround(value / SekundenBlitz);
}
Abstandsangabe[i] = floatround(value/1600);
SavePlayerPos[i][LastX] = x;
SavePlayerPos[i][LastY] = y;
SavePlayerPos[i][LastZ] = z;
AddBlitzer(i, 1278, 1483.1006,-1737.8201,13.5469, 20, 80); //Hier die Blitzer rein (Unsichtbare Speeding Boundries)
AddBlitzer(i, 1278, 2034.2117,-1757.9825,13.3828, 20, 80);
AddBlitzer(i, 1278, 2095.3606,-1106.7803,25.1243, 20, 40);
AddBlitzer(i, 1278, 1124.7125,-939.8494,42.8917, 20, 80);
AddBlitzer(i, 1278, 1452.9301,-1027.5425,23.8281, 20, 80);
AddBlitzer(i, 1278, 1350.0983,-1419.0045,13.5469, 20, 80);
AddBlitzer(i, 1278, 1523.8218,-1660.9788,13.5392, 20, 80);
AddBlitzer(i, 1278, 1689.8768,-1446.8567,13.5469, 20, 80);
AddBlitzer(i, 1278, 1849.4011,-1396.5714,13.3906, 20, 80);
}
}
}
Die gehen nicht bei mir, ich weiss nicht warum bitte um Hilfe.