Beiträge von Kaliber

    Meine fresse was juckt mich das wenn jemand vergewaltigt wird und getötet wird.

    In meinen Augen haben Leute die sowas sagen Sozial Strafen zu erledigen, damit sie mal etwas Empathie lernen.


    Ich bekomm richtig das Kotzen, wenn ich Menschen reden höre, die so 0 Empathie haben, das ist in meinen Augen der Untergang der Gesellschaft.

    Durchgeht er ja jedes mal das Server Limit von 500 Usern. Wie geht es perfomanter?

    Am besten wäre es einfach, sowas zu machen, das würde beide deiner Probleme auf einen Schlag lösen:



    C
    #undef MAX_PLAYERS
    #define MAX_PLAYERS 25

    Dann würdest du eben nur 25 Einträge durchgehen hahaha :D


    Aber schon richtig foreach wäre am besten:


    http://forum.sa-mp.com/showthread.php?t=570868


    Gehen würde auch sowas wie:


    for(new i=GetPlayerPoolSize(); i!=-1; i--)


    Das beispielsweise beginnt ab der höchsten spielerid auf dem Server und nicht z.B. ab 500 :)


    Also zur Verdeutlichung:


    MAX_PLAYERS = Ein fester (konstanter) Wert, den du für Arrays nutzen kannst. (Da dort nur feste Werte verwendet werden können, also Dinge die sich nicht ändern. Die müssen von vorne herein fest definiert sein.) Habe oben ja gezeigt, wie du das anpassen kannst.


    GetMaxPlayers = Diese Funktion liest dir aus der server.cfg den Wert aus. Ist schlecht und kann nicht für Arrays verwendet werden, da es eine Funktion ist und keine konstante! Also am Besten einfach MAX_PLAYERS den Wert von der server.cfg mittels dem Makro trick oben anpassen.


    GetPlayerPoolSize = Gibt die höchste Spielerid auf dem Server wieder. Halt gut geeignet für Loops, aber foreach ist besser, da bei foreach keine Lücken zwischen den IDs entstehen. Quasi wenn ID 4 die höchste Spielerid ist, aber nur ID 1 noch online. Dann beginnt die Loop trotzdem von 4 runter zu zählen. Und bei foreach hättest du nur 2 anstatt 5 (4-0) Einträge.




    Zu deinem 2. Punkt kann man nicht viel sagen.
    Es gibt Memory Editing Plugins, so dass man Variablen dynamisch allozieren kann.


    Einfacher wäre der spezielle Gebrauch von PVars, da du diesen Speicher wieder freigeben kannst.


    Oder eben gezielte Anpassung des Makros von MAX_PLAYERS :)

    Lade mal crashdetect und schaue in deinen server_log.


    Hast du auch alle Ordner erstellt in den scriptfiles und die ganzen Libs? xD

    Also du bist am Boden und bist quasi gefreezt?!


    Und du kannst auch nicht springen?


    Aber du kannst die Kamera bewegen?


    Kannst du uns mal dein Skript zeigen? :D

    Du meinst die Kamera bewegt sich nicht automatisch?


    Das liegt an deinen Client-Einstellungen, dafür musst du unter: ESC > OPTIONS > CONTROLER SETUP > Und dann bei Configuration JOYPAD auswählen :)

    Nein, das kommt meistens davon, dass nirgens [wiki]AddPlayerClass[/wiki] oder [wiki]SetPlayerSpawn[/wiki] verwendet wurde und man somit außerhalb der Map landet ;)

    Also willst du wirklich, dass der Typ theoretisch 100 Drogen dabei haben kann, okay :D


    Wenn dem so ist, liegt es an der Speichermethodik, in dini kannst du sowas nicht gut umsetzen.


    Da wäre wirklich zu empfehlen in dem Fall MySQL oder besser SQLite zu verwenden :)

    Um dir das mitteilen zu können, müsste ich erstmal deinen Code verstehen....


    Was macht das i?


    Wieso hast du 100 i?


    Das macht doch überhaupt keinen Sinn. Schließlich speicherst du nicht den Wert, den der Spieler dabei hat, sondern nur die Zahlen 0-99...


    Im Endeffekt brauchst du gar keine Schleife und das sollte deinen Code schon mal ziemlich effizienter und sinnvoller machen hahaha :D

    Jedoch hat ein deutscher Server (German Crime Time) auch den Key 'Z' gebindet, womit der Motor der Fahrzeuge (de)/aktiviert wird.

    Der Z Key ist KEY_YES :)


    Da die Position von Y und Z auf der Deutschen Tastatur vertauscht ist ;)

    Die Frage verstehe ich nicht.


    Du kannst doch deine Keys Clientseitig belegen...ESC > Options > Settings > Control Settings > Dann auswählen Fahrzeug oder zu Fuß und dann einfach die Funktion suchen die du ändern magst dann Enter drücken und dann die Taste, mit der du die Funktion belegen magst :)

    Das starke Argument für die for - Schleife ist, dass es deutlich übersichtlicher ist und man damit schwieriger aus Versehen Endlosschleifen einbaut.

    Ich sagte nur, dass es performanter ist nicht, dass das das Hauptargument dafür ist.


    Dachte eigentlich das sei klar geworden, anhand meiner Beispiele.


    Ich denke schon. DSGVO eingehalten Foren-Lizenz. Richtiges Impressum, SSL ich denke da stimmt alles.

    Des warn simpler Wortwitz...da war keine Intention dahinter ;)


    Aber freut mich, dass ihr mit serious-reallife serious durchstarten wollt :)

    Ist das nicht egal? Oder ist das ein starker Performance unterschied in Pawn?

    Naja, ich habs ja extra in den Spoiler gepackt um es nur mal am Rande zu erwähnen.


    Es gehört sich in meinen Augen einfach für solche Dinge die for-Schleife zu verwenden, schließlich wurde sie genau dafür konzipiert, also wieso nicht nutzen xD Ist ein Stil-Bruch in meinen Augen, wenn man das nicht tut und ist halt nicht sehr schön xD


    Es gibt einen Performance Unterschied, und die for-Schleife ist hier definitiv um einiges effizienter.


    Aber in dem Fall ist das ja komplett belanglos, ich meine wir reden hier von 3 Einträgen, da könnte er auch for, while, do-while und goto irgendwie mixxen und es wäre kack egal xD


    Ich meine nur, wollte es halt einfach mal erwähnen xD