Tag leute, hab mal nach längerer Zeit mein Script wieder ausgepackt und bemerkt, dass ein davor optimal laufendes System jetzt spackt und ich komme einfach nicht auf den Fehler.
Kurz zum System.. Das ADAC kann falsch geparkte Fraktionsautos abschleppen, diese Spawnen dann nicht mehr bei ihren ursprünglichen Koords. sondern in der ADAC Zone, wo der Mechaniker /opark benutzt hat. Jedoch werden die Kordinaten in der Datenbank nicht mehr eingetragen und somit hat das alles kein Effekt,
Hier mal mein Opark:
ocmd:opark(playerid, params[])
{
new preis, grund[34],named[34], string[128];
GetPlayerName(playerid, named, sizeof(named));
new Float:NeuX,Float:NeuY,Float:NeuZ, Float:NeuR;
if(sscanf(params,"is",preis,grund))return SendClientMessage(playerid, Color_Green,"Benutzung: /opark [Preis][Grund]");
if(SpielerInfo[playerid][pTeam] != 5) return SendClientMessage(playerid, error,"Du bist kein Mitglied des ADAC's!");
if(isinADAC[playerid] != 1) return SendClientMessage(playerid, error, "Du bist nicht in der ADAC Zone!");
else if(preis < 0 || preis > 1000) return SendClientMessage(playerid, error,"Du kannst das Bußgeld nicht weniger als 0 und mehr als 1000 kosten lassen!");
{
new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
if(i == -1) return SendClientMessage(playerid, error, "Du bist nicht in einem abschleppbaren Auto!");
format(VehInfo[i][Grund], 32, grund);
format(VehInfo[i][Named], 32, named);
GetVehiclePos(GetPlayerVehicleID(playerid),NeuX,NeuY,NeuZ);
GetVehicleZAngle(GetPlayerVehicleID(playerid),NeuR);
VehInfo[i][Preis] = preis;
VehInfo[i][inADAC] = 1;
VehInfo[i][Abgeschleppt] = 1;
VehInfo[i][NewX] = NeuX;
VehInfo[i][NewY] = NeuY;
VehInfo[i][NewZ] = NeuZ;
VehInfo[i][NewR] = NeuR;
format(string, sizeof(string),"|Strafzettel| Preis %i€ Grund: %s",preis,grund);
SendClientMessage(playerid, Color_Green, string);
SaveVehicle(i);
}
return 1;
}
Wenn ich die Kordinaten in der Datenbank eintrage funktioniert es.
Das gleiche beim Freikaufen, man Zahlt zwar den betrag aber in der Datenbank wird nichts resettet und somit bleibt das Auto auf dem Hof trotz freikaufen.
if(dialogid == DIALOG_aPARK)
{
if(response == 0)
{
new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
new Veh = GetPlayerVehicleID(playerid);
new preis = VehInfo[i][Preis];
VehInfo[i][Preis] = 0;
VehInfo[i][inADAC] = 0;
VehInfo[i][Abgeschleppt] = 0;
VehInfo[i][NewX] = 00.00;
VehInfo[i][NewY] = 00.00;
VehInfo[i][NewZ] = 00.00;
VehInfo[i][NewR] = 00.00;
format(VehInfo[i][Grund], 32, "");
format(VehInfo[i][Named], 32, "");
GivePlayerMoney(playerid, -preis);
KassenInfo[5][fGeld] += preis;
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid, erfolg, "Herzlichen Glückwunsch, du hast dein Auto freigekauft.");
SendClientMessage(playerid, warn, "Du kannst das Tor nun mit der Hupe öffnen.(Vorsicht: Nur 1 mal!)");
autozu[Veh] = 1;
SaveVehicle(i);
SaveKassen();
}
if(response == 1)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
}
}
Falls noch irgendwas benötigt wird, einfach schreiben. Freue mich auf jede Hilfe!
Freundliche Grüße