SII problem

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,
    einer aus Brotfish hat mir ein Haus Basic Script erstellt damit ich sehe wie die SII funktioniert,
    nur das problem ist im moment, das in die Datei nichts geschrieben wird, die steht komplett leer.



    Die Datei wird erstellt, aber kein Inhalt, sonst würde da doch stehen
    bsp:
    eX=...
    eY=....
    Aber es wird nichts eignetragen, ich sehe dort nicht wirklich einen Fehler.

  • Ich glaube du hast den Sinn von SII nicht ganz verstanden, es ist ja grad das Gute an SII, dass man den Format-Kram nicht machen muss. Schau dir mal das Tut an: [TuT]Slick's INI Include 2.0.6 Kurz SII


    INI_WriteFloat("eX",HouseInfo[house][eX]);
    INI_WriteFloat("eY",HouseInfo[house][eY]);
    INI_WriteFloat("eZ",HouseInfo[house][eZ]);
    INI_WriteFloat("aX",HouseInfo[house][aX]);
    INI_WriteFloat("aY",HouseInfo[house][aY]);
    INI_WriteFloat("aZ",HouseInfo[house][aZ]);
    INI_WriteInt("Preis", HouseInfo[house][Preis]);
    INI_WriteString("Besitzer",HouseInfo[house][Besitzer]);


    Verstanden wie's läuft?


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Die Datei wird beschrieben jedoch anscheinend nicht gefunden, also vielleicht mal erstellen? Jedoch sehe ich grad, dass dein Grundaufbau beim Speichern totaler Schwachsinn ist ^^ Also wer immer dies gemacht hat, bedanke dich nicht bei ihm.


    Was du geschrieben hast oben bedeutet, dass die Zeilen eX, eY, eZ, aX, aY, aZ, Preis, Besitzer erstellt werden und immer neu ersetzt, das bedeutet er beschreibt die Datei mit der HausID 0 und geht weiter und beschreibt sie dann mit HausID 1 usw. bis er die max. Zahl von MAX_HOUSES erreicht hat und was am Ende herauskommt sind die Daten vom letzten Haus und die anderen gibt es wohl nichtmehr ^^ ich habe dir nun im Anhang ein Beispiel gemacht womit er es richtig abspeichert, JEDOCH musst du das Laden umschreiben, da es mit dem Speichern nichtmehr übereinstimmt.

    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!

  • Bei neuen Sachen muss man sich immer rantasten...


    Also fang an mit öffnen, festen wert schreiben.
    Dann einen variablen.
    Dann mehrere.
    Dann variable formulierung.


    Dann beherrschst du auch SII und kannst das besser selber ;)


    Ansonsten mögen for-schleifen ein != lieber als ein <= (wenn auch letztes weiter verbreitet ist).
    Macht logisch kein Problem, die geniale Kuh-Engine sieht da trotzdme gerne bei <= eins


    P.S.: Bei INI_Open wird die datei auch erstellt, wenn se nich existiert...
    Da du hier nur ausliest, muss natürlich etwas existieren...

  • Wo bitte erstellt hier SII bei INI_Open eine Datei? ^^



    stock INI_Open(const filename[]){if (!filename[0]) return false;if (gFile[E_OPEN]){if (!strcmp(gFile[E_FILENAME], filename, true)) return true;return false;}new File: h;h = fopen(filename, io_readwrite);if (h){INI_strcpy(gFile[E_FILENAME], filename, INI_MAX_FILENAME, INI_MAX_FILENAME);new line[INI_MAX_LINE];new ln = -1;new separator;while (((ln + 1) < INI_MAX_LINES) && (fread(h, line))){ln ++;INI_StripLine(line);separator = strfind(line, "=", false);if ((line[0] == ';') || (line[0] == '=') || (separator == -1) || (separator > INI_MAX_KEY)){if (line[0] == ';'){INI_strcpy(gCache[ln][E_VALUE], line, INI_MAX_VALUE, INI_MAX_VALUE);}else{INI_strcpy(gCache[ln][E_VALUE][1], line, INI_MAX_VALUE, INI_MAX_VALUE);gCache[ln][E_VALUE][0] = ';';}continue;}INI_strcpy(gCache[ln][E_KEY], line, separator, INI_MAX_KEY);INI_strcpy(gCache[ln][E_VALUE], line[separator + 1], INI_MAX_VALUE, INI_MAX_VALUE);if (!gCache[ln][E_VALUE][0]) gCache[ln][E_VALUE][0] = ' ';}fclose(h);gFile[E_OPEN] = true;return 1;}return 0;}



    und bei fopen wird folgendes zurückgegeben:
    Returns the Filehandle. 0 if failed to open file




    Folge: Wenn Datei nicht vorhanden wird nix gemacht (wenn es in einer IF Abfrage wäre).
    Vielleicht hast du Trooper dein INI_Open verbessert? ^^

    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!


  • - Aus Dummheit gelöscht -

    Trooper weiß warum

    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!

    3 Mal editiert, zuletzt von Templer ()