Beiträge von Kaliber

    Mal ein paar Hinweise...


    • Da das ein Include sein soll, nutze bei globalen Variablen static und nicht new. (Damit Namen nicht Fehler auftreten, falls im Gamemode genau die selben Variablen Namen verwendet wurden. Hier als Tipp noch, nimm static stock damit man deine Include einfach inkludieren kann und nichts reserviert wird, auch wenn man keine Funktion nutzt.
    • Du hast einen Fehler bei deiner UpdateRealTime Funktion. Du rufst das unter OnGameModeInit auf...übergibst aber gar keine Spielerid...verwendest dann aber den Parameter playerid. Nun, jetzt wirst du dir denken, was meckert er denn, bei mir hat das wunderbar funktioniert. Das ist auch korrekt, allerdings nur, weil nichts übergeben wurde..und der Parameter deshalb immer 0 sein wird...und du wahrscheinlich spielerid 0 warst :klugs: Also, hier entweder das auf OnPlayerConnect verlagern (was meines erachtens am besten wäre, denn dann kannst du nach dem Login bzw wenn die TextDraws wieder weg sollen den Timer killen und sparst dadurch ressourcen) oder du musst eine Schleife für alle Spieler verwenden :)
    • Da du das jetzt als Include gemacht hast...wäre es doch eventuell besser gewesen, das mit den Pointern zu machen...da du so den Nutzern Speicherplatz sparst...ich meine..jetzt reservierst du jedem der das nutzen will 64kb...
    • Du verwendest in deinen TextDraws sowas wie ueber das sieht nicht so dolle aus..schreib es mal \172ber. Dann wird das ü korrekt dargestellt :) Link für alle Codes: http://forum.sa-mp.com/showthread.php?t=397515

    An sich...finde ich sowas als Include nicht gerade sehr sinnvoll, da man so oder so..die Texte in der Include anpassen muss...und naja...man ist an das Design gebunden..usw...
    Dennoch nett, dass du dein Design veröffentlichst :)


    Noch ein Optionaler Punkt:

    Du lädst das falsch..dass muss so aussehen:



    C
    cache_get_field_content(0, "IP", sInfo[playerid][sIP]);
    sInfo[playerid][sBargeld] = cache_get_field_content_int(0, "Bargeld");
    sInfo[playerid][sLevel] = cache_get_field_content_int(0, "Level");
    sInfo[playerid][sGeschlecht] = cache_get_field_content_int(0, "Geschlecht");
    sInfo[playerid][sSkin] = cache_get_field_content_int(0, "Skin");

    Es gab keinen Fehler, weil man optional das connection Handle da angeben kann ^^

    Es würde auch sowas reichen:


    Schreibweise etwas kompliziert

    Makros sind nice :love:


    Hahah xD


    Aber ist okay, dein Skript ^^

    So:


    for(new i; i <sizeof(LoginTextDraw[]); i++)


    Wenn du einen kleinen Performanz hinweis magst:

    Die Funktion kannste vereinfachen:


    C
    public settime(playerid)
    {
        new string[16];
        gettime(string[0], string[1], string[2]);
        format(string,sizeof(string),"%02d:%02d:%02d",string[0],string[1],string[2]);
        TextDrawSetString(Time, string);
    }

    Für jeden Spieler das einzeln zu setzen macht btw keinen Sinn...kannst das direkt nur für das TextDraw setzen, das wird dann für die einzelnen Spieler automatisch angezeigt :)


    Zudem wenn er zu langsam zählt, liegt das an dem Timer-Interval, ders zu groß :)

    Heißt dein Feld in der Datenbank wirklich [Name] oder doch eher nur Name ? :D