Vehicleid eines Spawnenden Autos auslesen

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
  • Hallo,
    Ich bin dabei, ein Selfmade Script zu machen und bin da an einem Problem hängen geblieben, wo ich nirgens eine Lösung zu finde.



    new car;
    car = SetVehicleNumberPlate(CreateVehicle(567, 2116.7092,-1155.0537,24.3414,355.2494, 1, 1, -1), Username(playerid));
    SetPVarInt(playerid, "Carid", car);


    Ich will, das die Vehicleid der Cars in die ini gespeichert wird,
    das Problem ist, das wenn das Car Spawnt, weiß ich nicht, wie ich an die Vehicleid komme, ohne dass der User einsteigt.
    Gibt es eine Möglichkeit, ind die Variable car nun die Vehicleid zu speichern von dem gespawntem Car,
    ohne das der User im Car drinnen sitzt?So wie es jetzt ist geht es ja nicht und als Funktion kenne ich nur GetPlayerVehicleID und dazu muss der Spieler im Car drinnen sein.
    Vielen Dank für eure Hilfe,
    Dennis

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn


  • new car;
    car = CreateVehicle(567, 2116.7092,-1155.0537,24.3414,355.2494, 1, 1, -1);
    SetVehicleNumberPlate(car,Username(playerid));
    SetVehicleToRespawn(car);
    SetPVarInt(playerid, "Carid", car);

    CreateVehicle speichert die id in "car", wenn du allerdings NumberPlate davor hast wir dieser Wert genommen und NumberPlate gibt keinen Wert zurück ;)
    Ich hab Respawn noch eingebaut sonst wird das Nummernschild nicht geladen.

  • Danke,
    wusste nicht, dass NumberPlate da die Sache blockiert^^
    Hätte direkt noch etwas, was ich hier fragen könnte,
    und zwar will ich das das Fahrzeug immer da Spawnt, wo es geparkt wurde.
    Dazu habe ich den CMD /parken gemacht, der die X, Y, Z und Rotationsachse ausliest und in der ini speichert.
    Das funktioniert soweit fehlerfrei, hab das auch schon in der ini verglichen.
    Damit das Auto dann wieder Spawnt
    hab ich nun den Stock erstellt:



    stock SpawnFahrzeuge(playerid)
    {
    new Float:X, Float:Y, Float:Z, Float:R, car, carart, f1, f2;
    X = GetPVarFloat(playerid, "AutoX");
    Y = GetPVarFloat(playerid, "AutoY");
    Z = GetPVarFloat(playerid, "AutoZ");
    R = GetPVarFloat(playerid, "AutoRotation");
    f1 = GetPVarInt(playerid, "Autofarbe1");
    f2 = GetPVarInt(playerid, "Autofarbe2");
    carart = GetPVarInt(playerid, "Autoid");
    car = CreateVehicle(carart, X, Y, Z, R, f1, f2, -1);
    SetVehicleNumberPlate(car, Username(playerid));
    SetVehicleToRespawn(car);
    SetPVarInt(playerid, "Carid", car);
    return 1;


    }


    in der public OnPlayerConnect habe ich das dann auch mit SpawnFahrzeuge(playerid) angegeben.
    Nur Spawnt das Car nicht.
    Danke,
    Dennis

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

  • Ja,
    die Variablen werden aus der Ini ausgelesen beim einloggen:


    dini_FloatSet(Userdatei, "AutoX", GetPVarFloat(playerid, "AutoX")); // Auto Position X
    dini_FloatSet(Userdatei, "AutoY", GetPVarFloat(playerid, "AutoY")); // Auto Position Y
    dini_FloatSet(Userdatei, "AutoZ", GetPVarFloat(playerid, "AutoZ")); // Auto Position Z
    dini_IntSet(Userdatei, "Autoid", GetPVarInt(playerid, "Autoid")); // Auto ID
    dini_IntSet(Userdatei, "Autofarbe1", GetPVarInt(playerid, "Autofarbe1")); // Auto Farbe1
    dini_IntSet(Userdatei, "Autofarbe2", GetPVarInt(playerid, "Autofarbe2")); // Auto Farbe2
    dini_FloatSet(Userdatei, "AutoRotation", GetPVarFloat(playerid, "AutoRotation")); // Auto Rotation


    Sie sind in der Ini gespeichert, die vorher mit dem /parkfahrzeug CMD gespeichert wurden.
    in der ini ist auch alles einwahntfrei,
    das Problem muss soweit irgendwo in dem SpawnFahrzeuge stock stecken.
    Ist auch als Float angegeben, da es ja Kommazahlen sind.

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

  • stock SpawnFahrzeuge(playerid){ new Float:X, Float:Y, Float:Z, Float:R, car, carart, f1, f2; X = GetPVarFloat(playerid, "AutoX"); Y = GetPVarFloat(playerid, "AutoY"); Z = GetPVarFloat(playerid, "AutoZ"); R = GetPVarFloat(playerid, "AutoRotation"); f1 = GetPVarInt(playerid, "Autofarbe1"); f2 = GetPVarInt(playerid, "Autofarbe2"); carart = GetPVarInt(playerid, "Autoid"); car = CreateVehicle(carart, X, Y, Z, R, f1, f2, -1); SetVehicleNumberPlate(car, Username(playerid)); SetVehicleToRespawn(car); SetPVarInt(playerid, "Carid", car); return 1;}




    Alle Werte haben hier "0" oder "-1".
    Die Werte hast du neu erstellt und musst diese neu auslesen.

  • ach sry, tut mir leid hab versehentilch den teil vom Saving hier gepostet :S


    SetPVarInt(playerid, "Autoid", dini_Int(Userdatei, "Autoid")); // Auto ID
    SetPVarInt(playerid, "Autofarbe1", dini_Int(Userdatei, "Autofarbe1")); // Auto Farbe 1
    SetPVarInt(playerid, "Autofarbe2", dini_Int(Userdatei, "Autofarbe2")); // Auto Farbe 2
    SetPVarFloat(playerid, "AutoX", dini_Float(Userdatei, "AutoX")); // Auto Position X
    SetPVarFloat(playerid, "AutoY", dini_Float(Userdatei, "AutoY")); // Auto Position Y
    SetPVarFloat(playerid, "AutoZ", dini_Float(Userdatei, "AutoZ")); // Auto Position Z
    SetPVarFloat(playerid, "AutoRotation", dini_Float(Userdatei, "AutoRotation")); // Auto Rotation


    Das ist der Teil, wo beim einloggen die sachen ausgelesen werden.



    //EDIT:
    Hab jetzt mal etwas getestet, also die Koordinaten werden beim befehl /parkauto richtig gespeichert,
    Beim ausloggen wird das Car auch richtig entfernt.
    Nur Spawnt es nicht, wenn man sich einloggt.
    Bei OnPlayerConnect hab ich da dann:

    new carbesitz = GetPVarInt(playerid, "Autoid");
    if(carbesitz > 0)
    {
    SpawnFahrzeuge(playerid);
    }
    else
    {
    return 1;
    }


    //EDIT return 1; hinzugefügt, Fehler bleibt dennoch der selbe...



    //EDIT: Das Problem besteht immer noch,
    Das Fahrzeugt wird mit dem Befehl /parkauto korekt in der ini gespeichert (X, Y, Z, Rotation)
    Es wird auch korrekt beim ausloggen richtig entfernt. Nur beim einloggen wird es nicht gespawnt.
    Hat da nicht einer eine Idee?
    Danke euch^^

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

    3 Mal editiert, zuletzt von Dennis321 ()