Hallo.
Ich würde gerne wissen, wie man im Dtc Car-System abfragt, ob es ein Privates Fahrzeug ist.
Also, z.B. wenn ich new vehicleid = GetPlayerVehicleID(playerid); mache, und dann abfragen kann es ein privates fahrzeug ist.
Habe da so meine Probleme.

Abfragen ob es ein Privat Car ist
- Ap0llinaris
- 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
-
-
new newcar = GetPlayerVehicleID(playerid);
if(newcar == PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]){naja nix besonderes
da hättest auch im pastbin bei /parken schauen können ist ja nix großes ahja ich hab unter deinem alten Problem auch was
gepostet/edit
link zum vorherigen Frage von dir
Kann nur 1 Taste drückennur noch eine kleine Info das geht nur innerhalb von einer halben sekunde also man kann keine taste 2 Sekunden lang gedrückt haben
und noch eine weitere dazu abfragen ist leider bei OnPlayerKeyStateChange nicht möglich und 4 ist = die Taste KEY_FIREwar nur ein test -
//Edit
Okay, habs nun. (Halbwegs)
Das ganze funktioniert nur, wenn der Spieler von dem abgeschleppten fahrzeug den "Carkey" für das fahrzeug ausgewählt hat. Hat der Spieler ein anderen "Carkey", passiert nichts!
CMD:oparken(playerid)
{
if(!(Spieler[playerid][pFraktion] == 5))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Ordnungsämtler.");
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
for(new i=0;i<GetMaxPlayers();i++)
{
new trailerid = GetVehicleTrailer(GetPlayerVehicleID(playerid));
if(trailerid == PlayerCar[i][PlayerKey[i]][CarId])
{
new Float:vX, Float:vY, Float:vZ;
GetVehiclePos(trailerid, vX, vY, vZ);
PlayerCar[i][trailerid][CarPos_x] = vX;
PlayerCar[i][trailerid][CarPos_y] = vY;
PlayerCar[i][trailerid][CarPos_z] = vZ;
PlayerCar[i][trailerid][CarState] = 1; //Abgeschleppt
printf("Vehicle ID %d von %s gesaved.", trailerid, GetName(i));
printf("Vehicle ID %d wurde bei %f %f %f gespeichert.", trailerid, vX, vY, vZ);
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du hast kein Fahrzeug hinten dran.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist in keinem Ordnungsamt-Fahrzeug.");
return 1;
}
return 1;
}Danke im Vorraus. ;D
//Edit
Fehler xD
//Edit-2
Nochmal was verbessert.
Kann mir keiner helfen? -.- -
mir würde noch was einfallen und zwar gabs für dtc ein extra native um den slot abzufragen und den besitzer
forward GetDtCarOwnerSlot(playerid,veh);
Function GetDtCarOwnerSlot(playerid,veh)
{
for(new X = 0; X < MaxVeh; X++)
{
if(PlayerCar[playerid][X][CarId] == veh)
{
return X;
}
}
return 555;
}forward GetDtCarOwner(veh);
Function GetDtCarOwner(veh)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
for(new X = 0; X < MaxVeh; X++)
{
if(PlayerCar[i][X][CarId] == veh){return i;}
}
}
return 1;
}dann kannst du es ja so verwenden
new besitzer= GetDtCarOwner(trailercar);
new slot = GetDtCarOwnerSlot(besitzer,trailercar);
PlayerCar[besitzer][slot][CarPos_x] = vX;
PlayerCar[besitzer][slot][CarPos_y] = vY;
PlayerCar[besitzer][slot][CarPos_z] = vZ;
PlayerCar[besitzer][slot][CarState] = 1;oder du bringst ganz einfach die slot abfrage ein
also hier die for schleife
for(new X = 0; X < MaxVeh; X++)weil dein problem ist du gehst nicht die carslots durch
-
breadfish.de
Hat das Thema geschlossen.