Beiträge von Kaliber

    Öhm, das hat geklappt, woran lag das Problem.

    Bei dem "neuen" Compiler ist es notwendig, dass alle Strings als const angegeben werden.


    Zum Beispiel:


    C
    stock test(str[])

    Das müsste zu:


    C
    stock test(const str[])

    Theoretisch ist es nicht notwendig, aber der Compiler, kann solche Funktionen dann besser optimieren.

    Versuch es mal so:


    warning 219: local variable "modelid" shadows a variable at a preceding level

    Das kommt daher, da du wohl global einmal modelid deklariert hast.


    Das war nicht sehr smart...also du hast 2 Möglichkeiten:


    1. Du änderst die globale Variable (evtl auch in einem enum) zu etwas anderem wie z.B. e_modelid oder what ever...


    Dann benennst du modelids zu modelid in dem Callback um.


    2. Du änderst es wieder zurück zu modelids gehst in das Include und ändert das forward OnPlayerModelSelectionEx so um, dass da auch modelids drinnen steht :)

    Nur beim login hab ich nicht wirklich ahnung wie ich das vorhandene passwort vergleichen soll

    Mach es so:


    Aber genau das passiert doch im minuten/stunden takt (je nachdem in welchen timer ich es einfüge) oder irre ich mich?

    Ja, es wird jede Minute/Stunde abgefragt, ob es der 1. im Monat ist.


    Da es ja aber nur 24 Stunden im Monat der 1. im Monat ist, und der delay dafür sorgt, dass das nicht 2x am Tag aufgerufen wird, passiert da nichts.


    Halt eben nur am 1. und 1x im Monat.

    meine frage steht noch, irgendjemand ne idee wie man das am besten umsetzen könnte? bräuchte hier nur den ansatz. danke im voeraus.


    Dadurch ist sichergestellt, dass es nur 1x im Monat aufgerufen wird :)

    Versuche gerade Mersenne Twister in PAWN zu implementieren, scheiter jedoch noch an dem Block hier.

    Wieso auch immer man das wollen würde...die random Funktion tuts doch auch ganz gut xD


    Naja, im Endeffekt kannst du diesen Block fast 1:1 übernehmen.


    Das UL steht einfach nur für unsigned long (also positive 64 Bit Integer)


    In Pawn gibt es nur 32 Bit Integer, aber sollte auch damit funktionieren.


    Und diese ganzen anderen Operatoren (bis auf den ternary operator) sind einfach nur Bit-Shifting Operationen: https://forum.sa-mp.com/showthread.php?t=177523


    C
    #define MATRIX_A 0x9908b0df   /* constant vector a */
    #define UMASK 0x80000000 /* most significant w-r bits */
    #define LMASK 0x7fffffff /* least significant r bits */
    #define MIXBITS(u,v) ( ((u) & UMASK) | ((v) & LMASK) )
    #define TWIST(u,v) ((MIXBITS(u,v) >> 1) ^ (((v)&1) ? MATRIX_A : 0))

    Mach es so:

    AddPlayerClass muss es meines Wissens geben.

    Es geht beides...


    aber ich möchte diese billige Skin Auswahl nicht

    Einfach so:

    C
    public OnPlayerRequestClass(playerid, classid)
    {
        SetSpawnInfo(playerid,0,299,0,0,3,0,0,0,0,0,0,0);
        SpawnPlayer(playerid);
        return 1;
    }

    Dann gibt es auch keine billige Skin-Auswahl.


    Musst halt dann noch den Startscreen vom Spieler entsprechend setzen, also was er sehen soll.


    Zum Beispiel unter OnPlayerConnect machst du ein SetPVarInt(playerid,!"new_connected",1);.


    Und dann unter OnPlayerSpawn (ganz oben prüfst du):


    C
    if(GetPVarInt(playerid,!"new_connected"))
    {
        TogglePlayerControllable(playerid, 0); 
        SetPlayerCameraPos(playerid, 0,0,50);
        SetPlayerCameraLookAt(playerid, 0,0,100);
        DeletePVar(playerid, !"new_connected");
        return 1;
    }


    und warum geht es Localhost kann mir jemand die Frage beantworten

    Weil es irgendwo irgendeinen Unterschied gibt...habe ich doch schon gesagt...

    Vergleich doch einfach mal die Server Logs.

    Lädst du evtl auf Windows noch Filterscripts?!