Hilfe bei meinem Autohaussystem

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
  • Guten Tag.
    Ich arbeite gerade an einem Autohaussystem.
    Die Dialoge kommen und alles funktioniert.
    Nur beim wichtigsten weiß ich leider nichtmehr weiter.


    Undzwar:
    Wie kann ich dann das ausgewählte Fahrzeug in den Carkey schreiben?
    Das verstehe ich leider nicht, bin mein ales Autohaussystem (gf) durchgegangen doch leider blicke ich da auch nicht wo das eingetragen wird.


    Ich bitte um Hilfe.
    Hier mein Code:


    if(dialogid == DIALOG_AUTOKAUFEN)
    {
    if(response)
    {
    if(!Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    if(GetPlayerMoney(playerid) > 10000 )
    {
    SendClientMessage(playerid,COLOR_GREEN,"Auto gekauft!");
    RemovePlayerFromVehicle(playerid);
    // Hier soll das Auto in den Carkey vom Spieler eingetragen werden.
    // Leider habe ich keine Ahnung wie das geht....
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld dabei!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits ein Auto auf diesem Schlüssel!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Vielen Dank für Ihren Besuch");
    }
    }

  • Woher sollen wir das jetzt wissen?
    Ist das ein eigenes geschriebenes Autosystem, oder ein runtergeladenes? Musst uns schon mehr Infos geben.

    sorry ganz vergessen...


    Das Autohaussystem ist selbst geschrieben, wird aber in einem GF verwendet.
    Also ich schreibe gerade ein eigenes, mit Dialogen und nicht mit dem Koffer :)

  • Versuch es mit GetPlayerVehicleID, um auf deine Spieler Array bzw. PVar whatever,
    die VehicleID einzutragen. Denn jedes mal wenn man in ein Auto einsteigt sich nähert oder sonst was,
    wird die vehicleid übergeben.
    So kannst du das ganze dann vergleichen bzw. auslesen.


    L.G. ;)


    Hay, DAnke für deine Antwort.


    In Welchem Fahrzeug / bzw. welches der Spieler kaufen will weiß ich.


    Ich weiß nur nicht wie ich ein gekauftes Fahrzeug in seinen Carkey schreibe. Also das es ihm gehört :D (Befehl wie /carlock etc kann er dann mit dem Car machen)


    Also wenn er kaufen drück, spawnt ein ein neues am Ausgabe Punkt, welches dann sein ist.

  • müsste es da nicht ein OnCarBuy geben?

    Ja, eine Funktion.
    Doch werde ich aus der auch nicht schlauer :(


    Function OnPlayerBuyCar(playerid,Model,Preis,Autohaus)
    {
    if(IsPlayerConnected(playerid) && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    CallRemoteFunction("M_GivePlayerMoney","id",playerid,-Preis);
    if(Autohaus == 0)
    {
    AddToBizzTill(0,Preis/2);
    }
    else if(Autohaus == 2)
    {
    AddToBizzTill(0,Preis);
    }
    else if(Autohaus == 3)
    {
    AddToBizzTill(0,Preis/2);
    }
    else if(Autohaus == 4)
    {
    AddToBizzTill(0,Preis/10);
    }
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast dir ein Auto gekauft.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Gehe zu einem Beamten und hole dir eine Erlaubnis für einen Kennzeichen.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Danach musst du in die Stadthalle, um ein Kennzeichen für 5000$ zu kaufen.");
    PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
    SetParkPlatz(playerid,Autohaus);
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof name);
    format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
    new File: hFile = fopen(str, io_write);
    if (hFile)
    {
    new var[32];
    format(var, 32, "CarId=0\n");fwrite(hFile, var);
    format(var, 32, "CarModel=%d\n",Model);fwrite(hFile, var);
    format(var, 32, "CarPos_x=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_x]);fwrite(hFile, var);
    format(var, 32, "CarPos_y=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_y]);fwrite(hFile, var);
    format(var, 32, "CarPos_z=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_z]);fwrite(hFile, var);
    format(var, 32, "CarRotate=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarRotate]);fwrite(hFile, var);
    format(var, 32, "CarNitro=0\n");fwrite(hFile, var);
    format(var, 32, "CarHyd=0\n");fwrite(hFile, var);
    format(var, 32, "CarWheel=0\n");fwrite(hFile, var);
    format(var, 32, "CarAusp=0\n");fwrite(hFile, var);
    format(var, 32, "CarSideL=0\n");fwrite(hFile, var);
    format(var, 32, "CarSideR=0\n");fwrite(hFile, var);
    format(var, 32, "CarFB=0\n");fwrite(hFile, var);
    format(var, 32, "CarRB=0\n");fwrite(hFile, var);
    format(var, 32, "CarSpoiler=0\n");fwrite(hFile, var);
    format(var, 32, "CarRoof=0\n");fwrite(hFile, var);
    format(var, 32, "CarHood=0\n");fwrite(hFile, var);
    format(var, 32, "CarVents=0\n");fwrite(hFile, var);
    format(var, 32, "CarLamps=0\n");fwrite(hFile, var);
    format(var, 32, "CarPJ=-1\n");fwrite(hFile, var);
    format(var, 32, "CarC1=-1\n");fwrite(hFile, var);
    format(var, 32, "CarC2=-1\n");fwrite(hFile, var);
    format(var, 32, "Preis=%d\n",Preis);fwrite(hFile, var);
    format(var, 32, "Plate=XXX\n");fwrite(hFile, var);
    fclose(hFile);
    }
    OnPlayerCarLogin(playerid);
    }
    }



    Also irgendwie muss das Fahrzeug ja beim jetztigen System auch dem Spieler zugeteilt werden.
    Jetzt ist noch das standart System drinnen....

  • Arbeitest du mit pVars oder mit Arrays?
    Hier ein Beispiel für eine Array via enum.
    enum pInfo
    {
    pCarKey
    }
    new PlayerInfo[MAX_PLAYERS][pInfo];

    Muss dann entsprechend hinzugefügt werden, falls schon vorhanden.


    Zuteilung
    PlayerInfo[playerid][pCarKey] = GetPlayerVehicleID(playerid);


    Abfragen:
    if(PlayerInfo[playerid][pCarKey] == GetPlayerVehicleID(playerid) { } //Oder andere Abfragen^^


    Ich hoffe, das ist das, was du meinst.

  • ******\GTA\gamemodes\GF.pwn(344) : error 017: undefined symbol "pInfo"
    *****\GTA\gamemodes\GF.pwn.pwn(344) : error 009: invalid array size (negative, zero or out of bounds)
    *******\GTA\gamemodes\GF.pwn(2393) : warning 201: redefinition of constant/macro (symbol "pInfo")


    //edit


    Problem besteht weiterhin.
    Leider habe ich noch keine Lösung gefunden, wie ich das Auto dann dem Spieler zuweise.

    Einmal editiert, zuletzt von Askari ()