Beiträge von Campbell


    Poste eben mal die entsprechenden Zeilen, raten werd ich nun doch nicht. Am besten die entsprechende Zeile und eine davor und dannach.

    Übersetzung:


    Mehrdimensionale Arrays müssen komplett initialisiert sein.



    Beschreibung Initialisierung:


    Haben wir eine Variable deklariert und definiert, so hat sie einen
    beliebigen Wert - je nach dem was gerade im zugewiesenen Speicherbereich
    steht. Da wir mit solch einem Zufallswert nicht arbeiten wollen, können
    wir mittels Initialisierung die Variable auf einen initialen
    Anfangswert setzen. Variablen sollten immer initialisiert werden, um zu
    vermeiden, dass mit einem Zufallswert gearbeitet wird.


    Quelle: http://www.c-howto.de/tutorial-variablen-deklaration.html



    Erklärung:



    new Float:DtcParkPlatz[AUTOHAUSER][MAXPARKPLATZE][7] = { /* Hier haben wir sieben Einträge festgelegt. */
    {
    {2471.7231, -1558.3952, 23.5809, 0.0},
    {2474.7231, -1558.3952, 23.5751, 0.0},
    {2477.7231, -1558.3952, 23.5771, 0.0},
    {2480.7231, -1558.3952, 23.5921, 0.0},
    {2483.7231, -1558.3952, 23.6092, 0.0},
    {2486.7231, -1558.3952, 23.6319, 0.0}
    }
    /* Es scheint als würden Einträge fehlen - der mehrdimensionale Array ist somit nicht komplett initialisiert. */

    Stichwort: Debuggen.


    Schau dir an, wie die Datei aussieht und ob alles ordentlich gespeichert wird. Falls dies der fall ist lass dir die gespeicherten Daten ausgeben und schaue ob sie richtig ausgelesen bzw. zugewiesen werden. So wirst du nach und nach zum Problempunkt kommen und das Problem evt. finden. Für uns wird es hier sehr schwer werden einen Fehler so zu finden.

    Nun gut, du musst natürlich für jedes Haus deine Daten verschieden speichern, vielleicht wird dir follgendes helfen:



    #define MAX_HAEUSER 100


    enum eHaus
    {
    Float:HausX,
    Float:HausY,
    Float:HausZ,
    HausPreis
    /* ... */
    }


    new HausInfo[MAX_HAEUSER][eHaus];


    Dein Script ist zum derzeitigen Zeitpunkt recht kompliziert und unübersichtlich geschrieben, versuche dies zu verbessern.

    1. Benutze einfach einen Timer der recht kurz ist und lass den Spieler dann einfach direkt spawnen.
    2. Mache einfach eine if-Anfrage ob einer deiner Befehle eingegeben wurde, anonsten wird diese Meldung ausgegeben.
    3. CreateVehicle(veh,X+5,Y+5,Z+2,0.0,color1,color2,10);


    Ed.: Grammatikalisch Fehler beseitigt.