Moin Leute,
hat jemand eine Idee wie man am besten den Tank der Fahrzeuge speichert..?
Bis jetzt speichere ich den Tank nur in den Fahrzeugen die von Spieler gekauft werden,
mein Problem ist jetzt, was wenn jemand das Fahrzeug von jemand anderem tanken will?
Denn um den Tank der Fahrzeuges abzufragen, brauch man die ID vom Besitzer. Aber
wie ermittel ich den Besitzer des Fahrzeuges? Eventuell durch eine VehicleID ?
Wie speichert man den Tank am besten?
- Jadeclon
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
wie ermittel ich den Besitzer des Fahrzeuges? Eventuell durch eine VehicleID ?
Über eine eindeutige ID, die aus der Datenbank kommt.
Du kannst dir das Vorgehen hier abschauen:
[jTuT] Fraktions-Fahrzeug-System mit MySQL R39-5Anstatt von Fraktions-IDs nimmst du die ID des Spielers aus der Datenbank.
-
-
Ja, das kannst du mit einem stock wie diesem so abfragen:
stock GetPlayerCarOwner(vehicleid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
for(new j = 0; j < MaxVeh; j++)
{
if(PlayerCar[i][j][c_id] == vehicleid) return PlayerCar[i][j][owner] ;
}
}
return -1;
} -
@Jeffry
Hab den Stock jetzt so hinzugefügt (Plate ist sozusagen der Owner)Code
Alles anzeigenstock GetPlayerCarOwner(vehicleid) { for(new i = 0; i < MAX_PLAYERS; i++) { for(new j = 0; j < MaxVeh; j++) { if(PlayerCar[i][j][CarId] == vehicleid) return PlayerCar[i][j][Plate]; } } return -1; }
Und diesen Befehl mal als Test gemacht, gibt aber nie was zurück. Müsste doch so ungefähr funktionieren oder?Code
Alles anzeigenif(strcmp(cmd, "/getowner", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] >= 1) { new owner = GetPlayerCarOwner(GetPlayerVehicleID(playerid)); format(string,sizeof(string),"Besitzer: %s",owner); SendClientMessage(playerid,F_Red,string); } } return 1; }
-
Das Plate ist ein String, daher:
stock GetPlayerCarOwner(vehicleid)
{
new plate[32];
for(new i = 0; i < MAX_PLAYERS; i++)
{
for(new j = 0; j < MaxVeh; j++)
{
if(PlayerCar[i][j][CarId] == vehicleid)
{
format(plate, sizeof(plate), PlayerCar[i][j][Plate]);
return plate;
}
}
}
return plate;
}und
format(string,sizeof(string),"Besitzer: %s",GetPlayerCarOwner(GetPlayerVehicleID(playerid)));
SendClientMessage(playerid,F_Red,string); -
Ah danke
Funktioniert nun -
breadfish.de
Hat das Thema geschlossen.