Fraktion Autos Buggen (Beim Laden Klappt alles Noch)

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, wie mache ich eine Varraible für Autos ich habe das so Getestet:


    new CarFraktion[MAX_VEHICLES];
    beim Laden dan:


    FrakCar[car][FraktionID] = dini_Int(FrakCars,"Fraktion");


    Zum test ist ein printf in der Ladefunktion:


    printf("Car %d der Fraktion %d Erfolgreich Geladen!", car, FrakCar[car][FraktionID]);


    Doch wenn ich das so mit String bei OnPlayerStateChange Verwende:



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    if(FrakCar[vehicle][FraktionID] == PlayerInfo[playerid][pMember] || FrakCar[vehicle][FraktionID] == 0)
    {

    }
    else
    {
    new datei[42];
    format(datei,sizeof(datei),"Das Car gehört der Fraktion %d An!",FrakCar[vehicle][FraktionID]);
    SendClientMessage(playerid,ROT,datei);
    SendClientMessage(playerid,ROT,"Sie gehören Nicht dieser Fraktion an!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }

    kommt z.B bei diesem Car:

    PHP
    ModelID=487
    x=2135.271972
    y=1446.807495
    z=11.999600
    angle=0.000000
    Farbe1=2
    Farbe2=0
    Fraktion=1


    Es gehöre zur Fraktion 2 ...


    wenn ihr irgendein Abschnitt oder so noch Braucht Melden!


    Danke an Alle Die Helfen!


    MFG Arendium

    76ul4ppd4lmb.png

    2 Mal editiert, zuletzt von Mr.Soap () aus folgendem Grund: Überschrift besser Begründet

  • Ja Nach Server-Konsole (Print Funktion schon) Im Stock Der die Cars Lädt klappt ja alles noch hier der Stock:


    ( Kaliber )



    stock LoadFrakCars(car)
    {
    new FrakCars[64];
    for(new fraks=1;fraks<MAX_FRAKS;fraks++)
    {
    format(FrakCars,64,"/Fraktionen/%d/%d.txt",fraks,car);
    if(fexist(FrakCars))
    {
    FrakCar[car][CarX] = dini_Float(FrakCars,"x");
    FrakCar[car][CarY] = dini_Float(FrakCars,"y");
    FrakCar[car][CarZ] = dini_Float(FrakCars,"z");
    FrakCar[car][CarAngle] = dini_Float(FrakCars,"angle");
    FrakCar[car][Farbe1] = dini_Int(FrakCars,"Farbe1");
    FrakCar[car][Farbe2] = dini_Int(FrakCars,"Farbe2");
    FrakCar[car][ModelID] = dini_Int(FrakCars,"ModelID");
    FrakCar[car][FraktionID] = dini_Int(FrakCars,"Fraktion");
    FraktionCar[car] = AddStaticVehicle(FrakCar[car][ModelID], FrakCar[car][CarX], FrakCar[car][CarY], FrakCar[car][CarZ], FrakCar[car][CarAngle], FrakCar[car][Farbe1], FrakCar[car][Farbe2]);
    printf("Car %d der Fraktion %d Erfolgreich Geladen!", car, FrakCar[car][FraktionID]);
    }
    }
    return 1;
    }

  • Das ist die varriable für den Format wo es Abgespeichert wird...


    //edit Hier Enum:



    enum fraktionautos
    {
    Float:CarX,
    Float:CarY,
    Float:CarZ,
    Float:CarAngle,
    Farbe1,
    Farbe2,
    FraktionID,
    ModelID
    }
    new FrakCar[MAX_VEHICLES][fraktionautos];

  • Ups, ja sorry hatte mich verlesen :D


    Zum Code, nein das meine ich nicht...es muss doch irgenteinen Code geben wo die ganzen Variablen einen Wert bekommen, der nicht aus einer .ini Datei ausgelesen wird...


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Also Unter OnGameModeInit Werden sie nach restart so Geladen:



    for(new car=1;car<MAX_FRAKCARS;car++)
    {
    LoadFrakCars(car);
    }


    sie werden in einer .txt Abgespeichert soll ich das in .ini ändern ?


    Falls du was anderes meinst bitte Fragen... Dan hab ich falsch verstanden
    bin kurz 5 Min. weg... Oder Kürzer ;)

  • .txt oder .ini ist im Prinzip das selbe, also mir würden jetzt keine sonderlichen Unterschiede einfallen :whistling:


    und nein, diesen Code meinte ich nicht, ich will sowas zum Beispiel mal sehen:


    FrakCar[car][FrakID] = PlayerInfo[playerid][pMember];


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ok dann ignoriert meinen Beitrag aber Dini bietet einen eigentlich die Funkion dini daher dachte ich es. aber Kaliber hat es aufgeklärt danke.

  • So wieder da Kaliber da ist es doch:


    FrakCar[car][FraktionID] = dini_Int(FrakCars,"Fraktion");


    oder meinst du Unter OnPlayerStateChange



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    if(FrakCar[vehicle][FraktionID] == PlayerInfo[playerid][pMember] || FrakCar[vehicle][FraktionID] == 0) // Hier
    {

    }
    else
    {
    new datei[42];
    format(datei,sizeof(datei),"Das Car gehört der Fraktion %d An!",FrakCar[vehicle][FraktionID]);
    SendClientMessage(playerid,ROT,datei);
    SendClientMessage(playerid,ROT,"Sie gehören Nicht dieser Fraktion an!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }

  • Du liest meine Posts nicht genau:


    Hast du soetwas im Script wo die Variable (FrakCar[car][FraktionID]) einen Wert bekommt, der nicht aus einer .txt oder .ini Datei stammt :huh:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Wie soll ich es den machen z.B die Fraktion vom Spieler wird doch auch beim Login aus einer Datei gelessen...



    denn bei OnPlayerStateChange wird ja der Wert der Vorher aus der .txt ausgelessen wurde verwendet also stamm er ja von einer .txt wenn du das so meinst


    Aber trotzdem schonmal: Danke


    MFG Arendium :)


    Kaliber

    76ul4ppd4lmb.png

    3 Mal editiert, zuletzt von Mr.Soap ()

  • Kaliber: NOCH Manuell da ja erstmal die Lade-Funktion tun muss soll ich es kurz Dynamisch mit einem Testcar machen ?


    Nee...ist okay..


    aber wenn du die Fraktionsid selber da einträgst würde das doch bedeuten, dass du sie entweder falsch einträgst oder er sie falsch ausliest oder ? :huh:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das Kommische ist beim Printen in der Lade-Funktion KLAPPT es ja... Wenn du mal mit TeamViewer drüberschauen willst
    wäre das Kein Problem... falls das weiterhilft


    Ne, sry sitze an der Arbeit, darf das nicht :D


    Ehm...wo funktioniert es denn dann nicht :huh:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S