Beiträge von Kaliber

    Danke, ich bekom folgendeFehler.

    Ohh, jaa da war ja was, state ist ja ein Keyword :rolleyes:


    Dann nehmen wir halt Deutsch :)


    @Kaliber
    Ich hab da och keine Variable.

    Ahh jaa okay :D

    C
    //Pack oben in dein Skript
    #define IsPlayerAFK(%0) ((gettime()-AFK[%0])>5)
    
    
    //Das auch oben irgendwo hin
    new AFK[MAX_PLAYERS];
    
    
    //Und das unter OnPlayerUpdate
    AFK[playerid] = gettime();


    So jetzt hast ein AFK System :)


    Und dann den Befehl so:


    Also die Tickets hab ich aus dem Befehl weggelassen, weil ich da keine Infos hatte.


    Wenn du die noch haben magst, kannst du es gerne selbst probieren oder mir sagen, in welcher Variable du die speicherst, welchen Wert das haben soll, wenn der Spieler offline ist.

    Irgendeine idee?

    Schreibs mal so:



    C
    {
        new org = PlayerInfo[playerid][pOrgMember];
        printf("%d != 0 && %d == 1",org,OrgInfo[org][OrgMech]);
        return (org != 0 && OrgInfo[org][OrgMech] == 1);
    }

    Dann schau mal, was geprintet wird im Server-Log und dann weißt du, was falsch läuft ;)


    PS: Funktionsname entfernt weil angeblich das ein zensiertes Wort ist *roflkopter*

    Gibt es wirklich keine genauere Bezeichnung dazu?

    Naja, kannst ja die Genre von Spielen einfach googeln, dann hast du alle exakt.



    Und bei dem anderen Game steht nur Adventure, General


    Und doch die games sind ähnlich.


    Da man bei den io games auch interaktiv ist um mit der Maus Dingen auszuweichen oder sonstiges.


    Auf was legst du denn genau Wert bei deiner Spiele Suche, wenn es dir um Musik geht, ist das natürlich eine andere Geschichte.

    Empfehle dir folgendes:


    1. Lösche CountDownFromAmount.


    2. Schreib es so:


    SetTimerEx("CountDownTimer2", 997, 0, "i", 10); //10 = Sekunden



    C
    forward CountDownTimer2(countDown);
    public CountDownTimer2(countDown)
    {
        if (--countDown == 0) return GameTextForAll("Mach dich bereit!", 3000, 5);
        new string[32];
        format(string, sizeof(string), "~w~%d Sekunden", countDown);
        GameTextForAll(string, 990, 4);
        SetTimerEx("CountDownTimer2", 997, 0, "i", countDown);
        return 1;
    }

    Dann brauchst du keine Globale Variable und der Timer beendet sich automatisch :)

    Ist es möglich z.B der aktuelle Stand von Bitcoin auszulesen und im Script einzubauen?

    Ja, das ist sehr gut möglich.


    Es gibt schon eine API die dir das zur Verfügung stellt: https://api.coinmarketcap.com/v1/ticker/bitcoin/?convert=EUR


    Und mit der Funktion: https://wiki.sa-mp.com/wiki/HTTP kannst du das einfach abfragen und angeben :)



    Am Ende wuerde ich gerne in einem Dialog alle Spieler auflisten, sortiert absteigend nach den meisten Kills.

    Schreib das mal so:


    Nutze dafür: https://forum.sa-mp.com/showthread.php?t=343172




    Kleine Frage

    Das keine kleine Frage, weil das komplett unverständlich ist, was du eigentlich wissen magst.


    Und so gut wie keiner kennt doch die Funktionen etc was du da verwendest.


    Schreib mir eine PN wenn du doch offensichtlich zu dem Callback Mechanismus von mir fragen hast ^^

    Ja...so könntest du es machen, dann musste einfach wieder das .pwn dranhängen und gut ist.


    Aber es ist halt einfach unsinnig. Du könntest es ja auch .c oder .exe nennen, aber das macht ja keinen Sinn.


    Du verwendest die Direktive #include somit ist faktisch alles was du da angibst, ein Include und nichts anderes.


    Also solltest du .inc verwenden.

    3 Dinge.


    • Nur weil du es .pwn nennst, bleibt es trotzdem ein Include, also nenne es doch einfach korrekt .inc
    • Ich glaube der dude in dem Tutorial hat seinen Code nicht getestet. Denn das #include <bla/x> ist immer ein relativer Pfad von Pawno/includes aus, das was du willst ist #include "bla/x"
    • Egal ob .pwn oder .inc, beides sind Includes, da du sie als solche verwendest. Du musst in keinen Hooking verwenden.

    Alsoo, irgendwo in deinem Gamemode steht:


    #include <server/enums.pwn>


    Also eine Sache dazu, man nennt Includes nicht .pwn, sondern .inc.


    Dementsprechend schreib einfach: #include <server/enums>



    So und nun muss es folgende Datei geben unter Pawno/includes/server/enums.inc.


    Falls dann immer noch der Fehler auftritt liegt es eventuell daran, dass du das falsche Pawno geöffnet hast und er deshalb die Include nicht findet ;)

    sizeof(Donutshop[0][itemName])

    Das kannst du leider nicht machen.


    Die einzige Möglichkeit wäre sizeof(Donutshop[]) oder du nutzt einen direkten Wert :)


    Format ist aber auch sehr langsam und in diesem Beispiel, wird auch kein format benötigt, da könntest du den String direkt setzen.


    Donutshop[0][itemName] = "Donut ohne Füllung";


    oder memcopy bzw strcat. Alles schneller und besser, als format ^^