Dynamisches Tankstellen System funzt nicht

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!


    Ich bin zwar einer, der nicht schnell Aufgibt, aber nun verzweifle ich langsam! Aus meinem GF habe ich das Biz System in ein Tank System umgewandelt! Doch nun tritt ein unerwartetes Problem auf!


    Oben habe ich ein folgendes enum reingemacht:


    Dann ein forward Namens "LoadTanken"


    Der public LoadTanken:


    (Bitte auf Richtigkeit überprüfen!!!)


    Und bei OnGameModeInit auch LoadTanken eingefügt!


    Unter OnPropUpdate:



    Und nun der Problem Befehl:



    [i]
    Er sagt, "außer bei Tankstellen ID 0! immer, ich seie an keiner Tankstelle! Wie kommt das?


    Das Kuriose ist, das er die 3D Texte alle an der richtigen Position lädt! Siehe hier:



    Zitat


    for(new h = 0; h < sizeof(TankInfo); h++)
    {
    format(PropertyString,sizeof(PropertyString),"{FFFFFF}Tankstelle {FF0000}%s\n{FFFFFF}Besitzer: {0040FF}%s\n{FFFFFF}Benzin: {01DF01}%d {FFFFFF}| Preis: {FFBF00}%d\n{FFFFFF}Diesel: {01DF01}%d{FFFFFF}| Preis: {FFBF00}%d\n{FFFFFF}Autogas: {01DF01}%d{FFFFFF}| Preis: {FFBF00}%d",TankInfo[h][tMessage],TankInfo[h][tBesitzer],TankInfo[h][tBenzin],TankInfo[h][tBenzinPrice], TankInfo[h][tDiesel],TankInfo[h][tDieselPrice], TankInfo[h][tAutogas],TankInfo[h][tAutogasPrice]);
    TankLabel[h] = Create3DTextLabel(PropertyString ,0x00FF00AA,TankInfo[h][tstellex], TankInfo[h][tstelley], TankInfo[h][tstellez],30, 0, 1);
    }


    Das funzt alles!
    [/i]


    Schkudigung die PWN funkion funzt nicht so richtig :D



    Wenn ihr mehr Infos braucht bitte posten!


    Woran liegt das, ich hoffe, ihr könnt mir helfen!


    MFG,


    [i]Razor!


    [/i]


  • enum tInfo
    {
    Float:tstellex,
    Float:tstelley,
    Float:tstellez,
    tMessage[128],
    tBesitzer[128],
    tBenzin,
    tDiesel,
    tAutogas,
    tBenzinPrice,
    tDieselPrice,
    tAutogasPrice
    };
    public LoadTanken()
    {
    new file[64];
    for(new idx = 0; idx < sizeof(TankInfo) ; idx++)
    {
    format(file, sizeof(file),"LARP/Tanken/%d.ini", idx);

    TankInfo[idx][tstellex] = dini_Float(file,"Stelle_X");
    TankInfo[idx][tstelley] = dini_Float(file,"Stelle_Y");
    TankInfo[idx][tstellez] = dini_Float(file,"Stelle_Z");
    strmid(TankInfo[idx][tMessage], dini_Get(file,"Message"), 0, strlen(dini_Get(file,"Message")), 255);
    strmid(TankInfo[idx][tBesitzer], dini_Get(file,"Besitzer"), 0, strlen(dini_Get(file,"Besitzer")), 255);
    TankInfo[idx][tBenzin] = dini_Int(file,"Benzin");
    TankInfo[idx][tDiesel] = dini_Int(file,"Diesel");
    TankInfo[idx][tAutogas] = dini_Int(file,"Autogas");
    TankInfo[idx][tBenzinPrice] = dini_Int(file,"BenzinPrice");
    TankInfo[idx][tDieselPrice] = dini_Int(file,"DieselPrice");
    TankInfo[idx][tAutogasPrice] = dini_Int(file,"AutogasPrice");
    }
    print("[SCRIPT]: Loaded Tanken");
    return 1;
    }

    else if(update == 2)
    {
    format(file, sizeof(file),"LARP/Tanken/%d.ini",idx);
    if(!dini_Exists(file))
    {
    dini_Create(file);
    }
    dini_FloatSet(file,"Stelle_X",TankInfo[idx][tstellex]);
    dini_FloatSet(file,"Stelle_Y",TankInfo[idx][tstelley]);
    dini_FloatSet(file,"Stelle_Z",TankInfo[idx][tstellez]);
    dini_Set(file,"Message",TankInfo[idx][tMessage]);
    dini_Set(file,"Besitzer",TankInfo[idx][tBesitzer]);
    dini_IntSet(file,"Benzin",TankInfo[idx][tBenzin]);
    dini_IntSet(file,"Diesel",TankInfo[idx][tDiesel]);
    dini_IntSet(file,"Autogas",TankInfo[idx][tAutogas]);
    dini_IntSet(file,"BenzinPrice",TankInfo[idx][tBenzinPrice]);
    dini_IntSet(file,"DieselPrice",TankInfo[idx][tDieselPrice]);
    dini_IntSet(file,"AutogasPrice",TankInfo[idx][tAutogasPrice]);
    }

    if(strcmp(cmd, "/setdieselpreis", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22)
    {
    if(PlayerInfo[playerid][pRank] >= 2)
    {
    for(new i = 0; i < sizeof(TankInfo); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5, TankInfo[tstellex], TankInfo[i][tstelley], TankInfo[i][tstellez]))
    {
    tmp = strtok2(cmdtext, idx);
    new dieselpreis = strval(tmp);
    if(dieselpreis >= 8 || dieselpreis <= 1) { SendClientMessage(playerid, COLOR_GRAD1, "Der Dieselpreis kann nur zwischen 1 und 8 liegen!"); return 1; }
    TankInfo[i][tDieselPrice] = dieselpreis;
    OnPropUpdate(2, i)
    OnPropTextdrawUpdate(2, i)
    format(string, sizeof(string), "Der Dieselpreis von Tankstelle %s wurde auf $%d pro Liter gesetzt!",TankInfo[i][tMessage], TankInfo[i][tDieselPrice]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1, "Du bist an keine Tankstelle!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1, "Du kannst die Preise erst mit Rang 2 verändern!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Transportunternehmen Mitarbeiter!");
    return 1;
    }
    }
    return 1;
    } [/i][/i][/i][/i][/i]
    for(new h = 0; h < sizeof(TankInfo); h++)
    {
    format(PropertyString,sizeof(PropertyString),"{FFFFFF}Tankstelle {FF0000}%s\n{FFFFFF}Besitzer: {0040FF}%s\n{FFFFFF}Benzin: {01DF01}%d {FFFFFF}| Preis: {FFBF00}%d\n{FFFFFF}Diesel: {01DF01}%d{FFFFFF}| Preis: {FFBF00}%d\n{FFFFFF}Autogas: {01DF01}%d{FFFFFF}| Preis: {FFBF00}%d",TankInfo[h][tMessage],TankInfo[h][tBesitzer],TankInfo[h][tBenzin],TankInfo[h][tBenzinPrice], TankInfo[h][tDiesel],TankInfo[h][tDieselPrice], TankInfo[h][tAutogas],TankInfo[h][tAutogasPrice]);
    TankLabel[h] = Create3DTextLabel(PropertyString ,0x00FF00AA,TankInfo[h][tstellex], TankInfo[h][tstelley], TankInfo[h][tstellez],30, 0, 1);
    }
    Schreibe das bitte immer übersichtlicher
    und wo sind die errors