Beiträge von Kaliber

    Also kannst es dir auch einfacher machen:



    Das gibt dir alle Koordinaten aus.


    Kannst damit auch ganz einfach auf die restlichen Parameter zugreifen :)


    Und der Code ist unabhängig von der Formatierung des Strings.

    Habe gerade iwie ein Kleines Problem.

    Nutze doch Arrays, damit kannst du das viel einfacher alles machen:



    Und dann schau mal aufs print :)

    Ich pushe das mal weil ich immer noch keine Lösung gefunden habe

    Mach das am Besten zu einer Funktion:


    C
    stock GivePlayerHealth(playerid, Float:add)
    {
        new Float:h;
        GetPlayerHealth(playerid, h);
        return SetPlayerHealth(playerid, h+add);
    }
    
    
    //Nutzung dann einfach:
    GivePlayerHealth(playerid, 50.0);

    Mal kurz eine frage...

    Du hast aber keine Plugins in die Server.cfg eingetragen und es scheint, dass ein paar c++ redistributable fehlen :)

    Weiß Jemand warum ?

    Timer sind unpräzise. Es kann gut sein, dass der Timer eig viel länger braucht.
    Dafür gibt es einen TimerFix oder stell die Animationszeit einfach bissl höher :)

    Würde nicht gehen weil die Werte alphabetisch sotiert werden sollen und das auch mit neu Erstellten

    Kannst du doch machen?!


    Ich sagte du kannst nur noch die Reihenfolge im Enum ändern, also etwas über Qualität setzten.
    Allerdings kannst du unten drunter alles erstellen.
    Und zu dem Zeitpunkt wo du das enum speicherst, ist es sortiert und wo du es lädst auch, da verändert sich ja nichts.

    Speichert der die auch einfach so ab und müssen die Werte in einer Reihe sein die bleibt oder kann man auch dynamisch im Nachhinein die Reihenfolge verändern?

    Nichts für ungut, aber das kannst du doch in 5 Sekunden mit einem einfachen Befehl testen, wo du das kurz speicherst die Werte einliest ...abfragst und speicherst..abfragst bla blub.


    Die Werte im Enum müssen aufjedenfall in einer Reihenfolge bleiben, sprich du kannst nicht plötzlich irgendwas über Qualität setzen oder das oberste Array verdoppeln.


    Das führt zu Fehlern, es sei denn du löscht nochmal die gespeicherte Datei und machst das neu, dann ist das egal.


    Aber im Array selbst, lädt er genau das in die Array Spalte..was eben gespeichert wurde, kp was genau du jetzt machen willst.

    Was im doc beschrieben ist wäre ein Klammerfehler.

    Nein, wenn du es testest siehst du auch, dass bei deinem Beispiel Error 14 auftaucht.


    Hier mal ein Beispiel für den Fehler:


    C
    switch(x)
    {
        case 0: print("hi");
    }


    Das geht ohne Probleme, da nur ein Statement auf das case folgt.



    C
    switch(x)
    {
        case 0: print("hi");print("wtf");
    }

    Jetzt geht das aber nicht mehr, da nur eine Anweisung folgen darf.
    Jetzt muss man darum einen Klammerblock machen oder diese durch ein , verbinden :)

    Und jetzt ist gut. Kindergarten hier.

    Klar wer kennt es nicht, man speichert Konstante Strings in Variablen, wäre ja auch zu einfach Konsten für Konsten und Variablen für Variablen zu nutzen.



    new Float:diff = ((playerAngle + 180) % 360) - Pos[1];


    new Float:diff = (floatround(playerAngle + 180) % 360) - Pos[1];


    Modulo ist hier nur für Integer definiert, also aus dem Float einfach einen Integer machen.

    Damit ist diese - mal wieder - völlig sinnfreie Diskussion für mich beendet. Eine direkte Zuweisung ist in diesem expliziten Fall nicht möglich (außer bei exakter Länge). Das kannst du einsehen oder auch nicht. Fakt ist, es geht nicht.

    Du weißt doch gar nicht was er zuweisen will, wtf.


    Er will sicher keinen statischen Wert zuweisen, sondern etwas aus einer Variable.


    Und da kann man das genau so machen:



    C
    enum tEnum {
    	e_Name[MAX_PLAYER_NAME] //24 Zeichen
    };
    new testArray[MAX_PLAYERS][tEnum];
    
    
    //Dann da wo er was zuweisen will, was du auch nicht weißt, deshalb hatte ich ihn gefragt...
    new name[MAX_PLAYER_NAME],x;
    if(sscanf(params,"sd",name,x)) return Bla(..);
    testArray[playerid][e_Name] = name; //Man kann das direkt so zuweisen

    Es kommt halt darauf an, was genau er vor hat.


    Da er aber darauf nicht geantwortet hat und du das nicht gefragt hast, kannst du es auch gar nicht wissen.


    Klar geht es mit format, strcat, strmid oder what ever. Gibt ja viele Möglichkeiten.