Hey Com,
Ich habe jezt mal mein Blitzersystem umgeschrieben:
new i = -1;
for(new id = 0; id <MAX_BLITZER_DATA; id++)
{
if(!IsPlayerInRangeOfPoint(playerid,5.0,BlitzerInfo[id][Blitzerx],BlitzerInfo[id][Blitzery],BlitzerInfo[id][Blitzerz]))
{
i = id;
//printf("%f | %f | %f",BlitzerInfo[id][Blitzerx],BlitzerInfo[id][Blitzery],BlitzerInfo[id][Blitzerz]);
break;
}
}
So das mit den Coordinaten wird auch geprintet allerdings wied danach dieser Teil ganrnicht mehr aufgerufen:
if(BlitzerInfo[i][Filmabschnitte] >= 0)
{
new string[128], VID = GetPlayerVehicleID(playerid), Float:spd, speed;
GetVehicleSpeed(VID, spd), speed = floatround(spd,floatround_round);
new maxspeed = BlitzerInfo[i][Geschwindigkeit] + BlitzerInfo[i][Toleranz];
if(speed >= maxspeed)
{
new strafkmh = speed - BlitzerInfo[i][Geschwindigkeit] + BlitzerInfo[i][Toleranz];
new strafe = strafkmh * BlitzerInfo[i][Geschwindigkeit] + BlitzerInfo[i][Toleranz];
new punkte = floatround(speed/ ((1 / 2) * BlitzerInfo[i][Geschwindigkeit] + BlitzerInfo[i][Toleranz]) ,floatround_round);
format(string,sizeof(string),"Du wurdest geblitzt: Deine Geschwindigkeit: %d KM/h, Erlaubt: %d KM/h (+ %d KM/h) ",speed,BlitzerInfo[i][Geschwindigkeit],BlitzerInfo[i][Toleranz]);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(string,sizeof(string),"Strafe: $%d, vergebene Punkte: %d, Zeuge: Blitzer: %d", strafe,punkte,BlitzerInfo[i][Blitzerid]);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
format(BlitzerInfo[i][LastBlitz],MAX_PLAYER_NAME,"%s",pn(playerid));
BlitzerInfo[i][Filmabschnitte] --;
print("geblitzt");
}
else print("Speed nicht eingehalten!");
}
else print("Fehler");
return 1;
Das ist der der ganze Public einfach zusammendenken
// Die umteren prints werden nichts ausgegeben nur der oben
Ich kann mir das auch nciht erklären da es mal funktioniert aht