Beiträge von Kaliber

    hoffe jemand kann mir helfen

    Du machst es dir viel zu kompliziert, schreib es einfach nur so:


    #define MAX_FRAKTIONEN 1

    Okay, alles klar :)


    Das Problem ist du hast einen index.


    Also schauen wir uns das mal an:



    new x[1];
    x[0] = 5; //Das ist kein Problem, denn ein Array fängt bei 0 an
    x[1] = 3; //Das geht nicht...weil wir nur 1nen Index zur Verfügung haben und zwar die 0


    Du versuchst aber, genau das untere auf x[1] zuzugreifen.


    Die Lösung ist ganz einfach, du musst entweder überall Fraktion[f_ID-1] verwenden oder direkt nur 0 als Fraktion eingeben, da sich das ja auf den Index bezieht :)

    [19:33:16] [debug] Run time error 4: "Array index out of bounds"
    [19:33:16] [debug] Attempted to read/write array element at index 1 in array of size 1

    Da, das ist dein Fehler :)


    Wie hast du denn Fraktion deklariert? ;)



    Ich komm auf den Fehler nicht ich änder das die ganze zeit und die fehler beleiben..

    Dann schreib es doch mal ordentlich ^^


    Oder lager es aus.


    C
    new veh = GetPlayerVehicleID(playerid);
    new trailer = GetVehicleTrailer(vehicleid);
    new model = GetVehicleModel(veh);
    
    
    if((model == 514 || model == 515) && GetVehicleModel(trailer) == 584)

    Hinzufüge kann der Compeiler den Code nicht compeilen warum? bzw reagiert er nicht mehr

    Vermutlich weil die Zeile zu lang ist.


    Aber lager das doch aus:


    Schreib es lieber so, das ist effizienter:



    1. Dieses @ ist quasi nur forward und public.


    2. Das ist nur eine Schleife, die durch alle Spieler iteriert und prüft, ob ein Spieler länger als 120 Sekunden inaktiv war :D

    Hier mal eine Möglichkeit:


    Das kann an vielem liegen.


    Bist du sicher, dass es kein Klammerfehler ist?


    Weder ein { noch ein (.


    Hast du OP-Code wie #emit in deinem Skript?


    Kann auch an ungültigen defines liegen...


    Ein trick wäre..erstmal ganz viel auszukommentieren und es empfiehlt sich generell immer ein Backup zu haben :D

    Wie kann ich das machen das ich den Rang in einer der 4 Veralter Spalten setze und wenn zb in der ersten Spalte er den Rang 4 schon hat dass ich diesen in keienr anderen vergeben kann?

    z.B. so:




    Ist das eventuell zu aufwaendig umzusetzen?

    Kannst es so machen:



    //edit2: Habe gerade mal eine andere strcpy Funktion direkt im Script implementiert, aber auch dann schmiert der Compiler ab. Wird vielleicht irgendwas aus den YSI Bibliotheken genutzt was ich nicht weiss?

    Check dein Skript evtl mal auf Klammerfehler.


    Ansonsten kann es gut sein, dass ysi Probleme macht, bin mir grad gar nicht sicher, ob du dafür inzwischen schon den Zeex Compiler verwenden musst...

    Du kannst das so schreiben:



    Weiß nicht, was du mit der value als Parameter vor hast.


    Es ist besser vor der Schleife einmal den String zu formatieren, ansonsten wird er bei jedem durchlauf formatiert, das ist ja ineffizient.


    TeamsAlive(true) gibt hoffentlich 0 als ersten Index zurück :)

    Ah.. okay, also wäre es dann im Prinzip egal welchen Wert ich aus dem Array zur Initialisierung wähle?

    Naja, theoretisch, aber der Wert aus dem 0ten Index bietet sich ja an, weil du dann die Schleife einfach ab 1 starten lassen kannst.


    Alle anderen Werte bieten sich nicht so an, könntest natürlich auch den letzten Wert nehmen und die Schleife rückwärts laufen lassen... :D