Beiträge von BloodyEric

    Soweit ich weiß wurde mal ein Basis-Code dafür veröffentlicht.
    Ein Bekannter von mir hatte damals angefangen, ebenfalls ein Plugin für das Anzeigen von externen Bildern ingame zu erstellen, hat das aber relativ früh wieder aufgegeben...kann aber gerne mal fragen, wie weit genau es fertig ist.

    Wofür ist SSCANF unten?


    Und was soll folgendes bewirken: ?


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == JobPickup) return 1;
    return 1;
    }


    Und bei OnPlayerStateChange ist zweimal mehr oder weniger der selbe Code für den selben Fall... :P

    Du kannst alle Gamemodes auf beiden Serverplattformen benutzen. Die einzige Ausnahme wären Plugins, die zum Beispiel nur auf Windows funktionieren und im Gamemode fest verankert sind, aber das ist bei Fusion nicht der Fall.


    Dennoch solltest du bedenken, dass Fusion (aus gutem Grund) nicht für Anfänger geeignet ist, da das editieren ohne Grundkenntnisse wegen einer mangelhaften Dokumentation nahezu unmöglich ist.

    Nein, ich denke nicht. Ich kenn zumindest das selbe Phänomen von meinem ehemaligen Server und da wurde auch nicht sonderlich im Script geschlampt. ;)


    Es war einfach so, dass man zum Beispiel, um die Knast Türen nach 30 Minuten automatisch öffnen zu lassen ~25 Minuten angeben musste, obwohl der Timer auf 1000ms stand, damit es mit der Zeit ungefähr hinkommt.


    Ich bin mir nicht sicher, ob sich das allgemein bei jeglicher Ausführung von irgendwelchem Code von irgendwelchen Callbacks nach hinten verschiebt (wenn auch immer nur ein paar MS, aber das summiert sich) oder nur bei der Ausführung von Timern.


    Vielleicht könnte man etwas dagegen tun, in dem man y_timers (siehe englisches SAMP Forum) benutzt, aber da muss man dann halt abwägen, ob es der Aufwand wert ist, alle Timer im Script neu zu organisieren. ;)

    Pawn ist singlethreaded, wenn dazwischen irgendwelcher anderer Code ausgeführt wird "verschiebt sich" der Timer nach hinten. Also kann man da nur noch nach Gefühl die Zeit etwas geringer setzen, damit es zum gewünschten Zeitpunkt ausgeführt wird.

    Falls das ein allgemeiner Speedtest-Thread werden soll, hier ist Y_Less Code zum Speedtesten, einfach die Defines oben austauschen oder direkt den Code unten.


    #define CODE_1 printf("%d", 42);
    #define CODE_2 new str[4]; format(str, sizeof (str), "%d", 42); print(str);
    #define ITERATIONS (10000)


    Test()
    {
    new
    t0,
    t1,
    t2,
    i;
    t0 = GetTickCount();
    for (i = 0; i < ITERATIONS; i++)
    {
    CODE_1
    }
    t1 = GetTickCount();
    for (i = 0; i < ITERATIONS; i++)
    {
    CODE_2
    }
    t2 = GetTickCount();
    printf("Time 1: %04d, time 2: %04d", t1 - t0, t2 - t1);
    }