Mehr als 1 Auto besitzen können

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
  • Naja ich bins wieder ^^ und zwar möchte ich, dass wir Spieler mehr als ein Auto besitzen können. Ich habe es bzw es war schon definiert aber geht iwie trotzdem nicht.


    #define MaxVeh 2


    hier, wenn man ein Auto kaufen will


    if (strcmp("/buycar", cmd, true, 10) == 0)
    {
    if (Spectating[playerid][0]!=-1)
    {
    if (Carlist[playerid][Typ]==-1)
    {
    new preis = Kaufliste[Spectating[playerid][0]][Preis];
    if (preis <= GetPlayerMoney(playerid))
    {
    new autohaus=Kaufliste[Spectating[playerid][0]][Autohaus];
    GivePlayerMoney(playerid, - preis);
    PlayerMoney[playerid] = PlayerMoney[playerid]-preis;
    Carlist[playerid][Typ]=Spectating[playerid][0]; Carlist[playerid][CarPos_x]=Autospawns[autohaus][CarPos_x]; Carlist[playerid][CarPos_y]=Autospawns[autohaus][CarPos_y];
    Carlist[playerid][CarPos_z]=Autospawns[autohaus][CarPos_z]; Carlist[playerid][CarRotate]=Autospawns[autohaus][CarRotate]; Carlist[playerid][Status]=1; Carlist[playerid][Lock]=0;
    Carlist[playerid][Carid]=CreateVehicle(Kaufliste[Spectating[playerid][0]][Modelid],Carlist[playerid][CarPos_x],Carlist[playerid][CarPos_y],Carlist[playerid][CarPos_z],Carlist[playerid][CarRotate],-1,-1,-1);
    SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,1);
    TogglePlayerControllable(playerid,1);
    Spectating[playerid][0]=-1;
    RemovePlayerFromVehicle(playerid);
    format(string,128,"Du hast dir erfolgreich für $%i ein/einen %s gekauft!",preis,Kaufliste[Carlist[playerid][Typ]][Name]);
    SetVehicleNumberPlate(autohaus, "Hartzfear RolePlay");
    SendClientMessage(playerid, COLOR_RED, string);
    SendClientMessage(playerid, COLOR_GREEN, "Wenn du dein Fahrzeug zerstörst, gib /fixcar ein, um es zu reparieren.");
    SendClientMessage(playerid, COLOR_GREEN, "Mit /carlock kannst du dein Fahrzeug für andere Leute freigeben oder abschließen.");
    SendClientMessage(playerid, COLOR_GREEN, "Mehr Befehle für dein Fahrzeug kannst du unter /carhelp sehen.");
    SendClientMessage(playerid, COLOR_YELLOW, "Dein Fahrzeug wurde gerade von der Fabrik geliefert, es steht am Ausgangspunkt für dich bereit!");
    SBizzInfo[11][sbTill] += preis;
    }
    else { format(string, 128, "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", preis); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt bereits ein Auto!"); }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!"); }
    return 1;
    }


    Ich hoffe mir kann iwie jemand helfen :rolleyes:

  • also /carkey hats nicht ^^ also ich hab mal den befehl genommen von dem LoH script hoffe der geht


    //edit also ich hab das jetzt alles wie in meinem Script angepasst leider Errors kann mir da jemand helfen ?


    Hier die Errors : C:\Users\Kevin\Desktop\SA-MP Reallife\gamemodes\RGR.pwn(33777) : error 001: expected token: "]", but found "["
    C:\Users\Kevin\Desktop\SA-MP Reallife\gamemodes\RGR.pwn(33777) : error 029: invalid expression, assumed zero
    C:\Users\Kevin\Desktop\SA-MP Reallife\gamemodes\RGR.pwn(33777) : error 029: invalid expression, assumed zero
    C:\Users\Kevin\Desktop\SA-MP Reallife\gamemodes\RGR.pwn(33777) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Und hier die Zeiler wo der fehler ist :
    format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, für deinen %s!",PlayerKey[playerid]+1,Kaufliste[Carlist[playerid][Typ][Name]],PlayerKey[playerid][ahModell]-400);

    Einmal editiert, zuletzt von DiSaster ()

  • enum cInfo
    {
    cModel,
    Float:cLocationx,
    Float:cLocationy,
    Float:cLocationz,
    Float:cAngle,
    cColorOne,
    cColorTwo,
    cOwner[MAX_PLAYER_NAME],
    cDescription[MAX_PLAYER_NAME],
    cValue,
    cLicense[MAX_PLAYER_NAME],
    cRegistration,
    cOwned,
    cLock,
    };


    enum ahCar
    {
    Typ,
    Float:CarPos_x,
    Float:CarPos_y,
    Float:CarPos_z,
    Float:CarRotate,
    Status,
    Lock,
    Carid,
    Paintjob,
    Farbe1,
    Farbe2,
    mod1,
    mod2,
    mod3,
    mod4,
    mod5,
    mod6,
    mod7,
    mod8,
    mod9,
    mod10,
    mod11,
    mod12,
    mod13,
    mod14,
    mod15,
    mod16,
    mod17,
    };

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Rust, dass kannst du vergessen. Du hast deine Variable "Carlist" höchstwahrscheinlich so definiert:


    new Carlist[MAX_PLAYERS][ahCar];, aber wenn du wirklich diese Definition verstehen würdest, könntest du ablesen, dass nur für jeden Spieler ein Fahrzeug abgespeichert wird.


    Theorethisch müsstest du daraus sogar ein 3 dimensionales-Array machen, also


    new Carlist[MAX_PLAYERS][ahCar][MaxVeh];
    aber das verbraucht zumal unmäßig an unnötigen Arbeitsspeicher, außer der Hoster hat dich ganz lieb xD, und du müsstest dann auch noch ÜBERALL im Script jedes Carlist um ein Array erweitern und dann auch noch unsinnige an Abfragen machen, ob Slot 0 belegt ist oder Slot 1 und wenn du MaxVeh auch noch auf 3 oder 10 setzen würdest, dann kannst dir die Kugel geben xD


    Wenn du ein Autoscript haben willst, was mehr als 2 Fahrzeuge unterstützt dann richte dich nach


    new Carlist[MAX_VEHICLES][ahCar];


    und du speicherst dann halt noch zusätzlich zu jeder Fahrzeug ID den Fahrzeugbesitzer als String (Spielernamen) oder als Unique SpielerID (welche nicht von Samp bei OnPlayerConnect gesetzt wird)


    Nebenbei ist auch zu beachten, dass die MAX_VEHICLES definition für Carlist NICHTS mit der VehicleID von GetPlayerVehicleID oder CreateVehicle oder einer sonstigen SAMP Funktion, was VehicleID´s wiedergibt.


    Also, ich will natürlich hier nicht dir alles erklären, wie du ein neues Autohaus machst, aber wenn du es versuchen willst, dann wirst du bissl brauchen und du kannst mich gerne in ICQ hinzufügen und mich nach Scriptfragen fragen, aber ich mach dir sicher kein eigenes Fahrzeugsystem ^^


    Ich kenne bereits einen, der von deiner Methode umgestiegen ist und nach sehr viel Kopfschmerzen und paar Fragen, die er mir gestellt hat ^^, hat er es endlich lösen können ^^.


    Ich sag das nur, damit du nicht den Anreiz, nachdem du dir den obigen Text durchgelesen hast, dazu verlierst ^^.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!