Bizz erstellung zeigt Warnings

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 Abend,


    der Fehlererklärbär konnte mir nicht weiter helfen und ich verzweifel auch schon langsam woran es liegen könnte.... X(



    enum BusinessInformationen
    {
    Name[64],
    Float:PosX,
    Float:PosY,
    Float:PosZ,
    Besitzer[64],
    Besetzt,
    Preis,
    Level,
    Konto,
    Text3D:Label,
    Pickup
    }
    new BizzInfo[10][BusinessInformationen];



    stock CreateBusiness(Beschreibung[64], Float:X, Float: Y, Float: Z, Besitzer[64], Preis, Level)
    {
    new Businessdatei[64];
    for(new business = 1; business < 10; business++)
    {
    format(Businessdatei, 64, "/Bizz/%s.txt", Beschreibung);
    if(!fexist(Businessdatei))
    {
    dini_Create(Businessdatei);
    dini_Set(Businessdatei, "Name", Beschreibung);
    dini_FloatSet(Businessdatei, "PosX", X);
    dini_FloatSet(Businessdatei, "PosX", Y);
    dini_FloatSet(Businessdatei, "PosX", Z);
    dini_IntSet(Businessdatei, "Preis", Preis);
    dini_IntSet(Businessdatei, "Level", Level);
    dini_IntSet(Businessdatei, "Konto", 0);
    dini_IntSet(Businessdatei, "Besetzt", 0);
    dini_Set(Businessdatei, "Besitzer", Besitzer);
    return LoadBusiness(business);
    }
    }
    return 1;
    }



    stock LoadBusiness(Beschreibung)
    {
    new Businessdatei[64];
    format(Businessdatei, 64, "/Bizz/%s.txt", Beschreibung);
    if(!fexist(Businessdatei))return 0;

    format(BizzInfo[Beschreibung][Name], 64, "%s", dini_Get(Businessdatei, "Name"));
    BizzInfo[Beschreibung][PosX] = dini_Float(Businessdatei, "PosX");
    BizzInfo[Beschreibung][PosY] = dini_Float(Businessdatei, "PosY");
    BizzInfo[Beschreibung][PosZ] = dini_Float(Businessdatei, "PosZ");
    BizzInfo[Beschreibung][Preis] = dini_Int(Businessdatei, "Preis");
    BizzInfo[Beschreibung][Level] = dini_Int(Businessdatei, "Level");
    BizzInfo[Beschreibung][Konto] = dini_Int(Businessdatei, "Konto");
    BizzInfo[Beschreibung][Besetzt] = dini_Int(Businessdatei, "Besetzt");
    format(BizzInfo[Beschreibung], 64, "%s", dini_Get(Businessdatei, "Besitzer"));

    if(BizzInfo[Beschreibung][Besetzt] == 0)
    {
    new string[256];
    BizzInfo[Beschreibung][Pickup] = CreatePickup(1272, 23, BizzInfo[Beschreibung][PosX], BizzInfo[Beschreibung][PosY], BizzInfo[Beschreibung][PosZ],0);


    format(string, sizeof(string), "Besitzer: Keiner\nPreis: %d$\nLevel: %d\nZum Kaufen /buybiz", BizzInfo[Beschreibung][Preis], BizzInfo[Beschreibung][Level]);
    BizzInfo[Beschreibung][Label] = Create3DTextLabel(string, -1, BizzInfo[Beschreibung][PosX], BizzInfo[Beschreibung][PosY], BizzInfo[Beschreibung][PosZ], 20, 0, 0);
    return print("Das Biz wurde erfolgreich geladen");
    }
    return 1;
    }



    ocmd:createbizz(playerid, params[])
    {
    new Preis, Level, Name[64];
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(sscanf(params, "sdd", Name, Preis, Level)) return SendClientMessage(playerid, -1,"Benutze:{FFFFFF} /createbizz [Name des Business] [Preis] [Level]");
    CreateBusiness(Name, X, Y, Z, "Der Staat", Preis, Level);
    return 1;
    }




    Folgende fehler spuckt mir der Compiler heraus:


  • Hallo,


    eigentlich sind deine Fehler keine große Sache, du verwendest lediglich mehrere Variablen öfters mit den gleichen Namen.
    Es reicht schon, wenn du die fehlerhaften Variablen anders beschriftest und deinen jetzigen Code darauf anpasst.


    Zu den eigentlichen Errors, die könntest du mal im Code markieren, dann ist es um einiges einfacher.

  • Du erstellst die Variablen schon im Enum und kannst Sie deswegen nicht nochmal erstellen.


    Versuchs mal so

    ocmd:createbizz(playerid, params[])
    {
    new pPreis, lLevel, nName[64];
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(sscanf(params, "sdd", nName, pPreis, lLevel)) return SendClientMessage(playerid, -1,"Benutze:{FFFFFF} /createbizz [Name des Business] [Preis] [Level]");
    CreateBusiness(nName, X, Y, Z, "Der Staat", pPreis, lLevel);
    return 1;
    }
    stock CreateBusiness(Beschreibung[64], Float:X, Float: Y, Float: Z, bBesitzer[64], pPreis, lLevel)
    {
    new Businessdatei[64];
    for(new business = 1; business < 10; business++)
    {
    format(Businessdatei, 64, "/Bizz/%s.txt", Beschreibung);
    if(!fexist(Businessdatei))
    {
    dini_Create(Businessdatei);
    dini_Set(Businessdatei, "Name", Beschreibung);
    dini_FloatSet(Businessdatei, "PosX", X);
    dini_FloatSet(Businessdatei, "PosX", Y);
    dini_FloatSet(Businessdatei, "PosX", Z);
    dini_IntSet(Businessdatei, "Preis", pPreis);
    dini_IntSet(Businessdatei, "Level", lLevel);
    dini_IntSet(Businessdatei, "Konto", 0);
    dini_IntSet(Businessdatei, "Besetzt", 0);
    dini_Set(Businessdatei, "Besitzer", bBesitzer);
    return LoadBusiness(business);
    }
    }
    return 1;
    }

    Das Sind jetzt nicht alle Fehler die behoben wurden sind aber einige. Eventuell kommst du ja jetzt alleine weiter, ansonsten schick nochmal die Fehlermeldungen und beschreibe ggf die Zeilen oder nutze [pwn='Zeile'].

  • Manche Variablen verwendest du nicht abwohl sie im Script eingefügt hast, andere wiederrum verwendet du doppelt in der Enum.


    Wenn du Variablen einer Enum zuweisst, achte darauf das diese nicht schon verwendet wird und du auch in keine andere Enum verwenden wirst.


    einfach am besten n passenden Bustaben in der EnumVariable.
    Statt
    enum BizzInformation {
    Besitzer[MAX_NAME_PLAYER]
    }


    So
    enum BizzInformation {
    bBesitzer[MAX_NAME_PLAYER]
    }

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

    Einmal editiert, zuletzt von palwal ()