Beiträge von Kaliber

    Der Timer funktioniert irgendwie nicht, die Dinger gehen nie bei mir.

    Wie wird das denn aufgerufen?


    Setz halt mal ein paar prints...schau was nicht aufgerufen wird, wie die Variablen sind...


    So ohne Debug-Infos kann man da jetzt nur Mutmaßen xD



    at jemand ne Idee was da falsch sein könnte ab dem Edit2?

    In deiner SQL Tabelle, musst du die Spalten mit NOT NULL und DEFAULT 0 erstellen! :)

    Ahhh, mein Fehler, ich habe nicht genau geschaut, wie du das aufrufst.



    Da du in deinem struct nur einen Pointer hast, musst du mit Malloc erstmal Speicher reservieren und kannst dann erst darauf schreiben.


    Und du darfst kein [] im Parameter haben.


    So sollte es gehen :)

    feld[n].name = name;

    Ja, in C weist man so keine Strings zu :)


    http://www.c-howto.de/tutorial…ktionen/strings-kopieren/


    Nutze:


    C
    strcpy(feld[n].name, name);
    
    //und bei Ort auch:
    strcpy(feld[n].ort, ort);


    Theoretisch könnteste Quick & Dirty auch direkt alles vom scanf ins struct schreiben:


    C
    void eingeben(int n, kunDB_t feld[]) { //n startet bei 0, wird vor jedem Aufruf um 1 erhöht
        scanf("%d %s %d %s",&feld[n].num,&feld[n].name,&feld[n].plz,&feld[n].ort);
    }

    Es konnte kein Klammerfehler gefunden werden!

    Das ist doch schon einmal gut, das bedeutet, dass in deinem Main-Gamemode keine Fehler sind.


    Aber wie gesagt, evtl ja bei den includes, das würde eben Sinn machen, wenn du die Selben nutzt bei deinen Skripten, wo du es getestet hast.



    Wenn ich versuche den Server zu starten kriege ich Run time error 17: "Invalid/unsupported P-code file format"

    ...du kannst doch ohne amx keinen Server starten (bei Fehlern wird evtl eine mit 0 Bytes erzeugt, aber das doch Müll).


    Ergo, fix die Fehler, compile das Skript und starte dann den Server...


    (Oder poste hier den ganzen Server Log pls...)

    Mit der Empty Version compiled es, allerdings bei keiner anderen

    Damm damm damm :D


    Bei den Skripten die du getestet hast, nutzt du da evtl Includes?


    Evtl ja die Selben und dort hat sich ein Fehler eingeschlichen? :)


    Aber du kannst zu 99.9% davon ausgehen, dass es sich hier entweder um einen Klammerfehler handelt, oder dass eine Zeile zu lang wurde .)


    Hatte dafür mal ein Tool geschrieben: Klammerfehler finden


    Good Luck :thumbup:

    Hat jemand die Coords wo ich

    die Uhrzeit nach geschrieben habe.


    Keiner weiß dir Coords auswendig

    Das ist zwar korrekt, aber man kann sie ja versuchen zu raten.


    Alsooo wir wissen, dass das Feld max 640x448 groß ist.

    CreatePlayerTextDraw(playerid, 548.750000, 65.333332, "00:00");

    Seine aktuelle Position: 548.75 und 65.333


    Wollen wir es also weiter nach oben verschieben, muss Y kleiner werden und ein stück nach rechts, also X ein wenig erhöhen.


    CreatePlayerTextDraw(playerid, 570, 45, "00:00");


    Wäre so ein guess hahaha xD



    Aber natürlich wäre es 1000x einfacher einfach einen TextDraw Editor zu nutzen, gerade dann, wenn du auch noch die Größe etc anpassen magst :D

    Setzt du denn, wenn der Spieler sich eingeloggt hat das account_Eingeloggt auch auf true?


    oder soll das auf false bleiben?


    Kannst ja mal das Makro so schreiben:


    #define IsNotConnected(%0) (!IsPlayerConnected(%0) || AccountInfo[%0][account_Eingeloggt])

    Woran kann das liegen?

    Du bringst id und pID durcheinander.


    Du solltest wirklich mehr Ordnung in deinen Code bringen, dann hast du es generell auch viel einfacher...


    Dann sieht man auch, was Sache ist...

    Ja habe es gerade ausprobiert, bringt leider nichts. IsNull prüft ja auch lediglich ob params vorhanden sind, hat ja eigentl. an sich nichts mit der string-formatierung zu tun

    Doch, da bei dir vorher sscanf das nochmal konvertiert, und du so direkt die Params nutzt.


    Schreib mal aus Spaß ein print(params); wird das denn richtig ausgegeben, was du eingibst?


    Wenn wir die Datenbank vom Script ändern Laden die Objekte von den Arenen

    nicht wieso?

    Mal Crashdetect geladen?

    Du solltest sscanf nicht bei einem einfachen String nutzen.


    Da kannst du einfach direkt params verwenden :)


    Also einfach:


    C
    //Das hier oben ins Skript
    #if !defined IsNull
        #define IsNull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
    #endif
    
    //Dann im Befehl:
    if(IsNull(params)) return 1;
    new string[32];
    format(string,sizeof(string),"%s €",params);
    SendClientMessage(playerid,weiss,string);