Beiträge von Sub Royal

    Moin.
    Ich will bei mir ein Rundensystem einfuegen. In meinem Gamemode gibt es 3 Teams, und wenn in mindestens 2 Teams mindestens 1 Spieler ist, soll ein Countdown starten.
    Wenn zwischendurch Spieler rausgehen soll dieser wieder resettet werden.
    Wenn der Countdown von 60 auf 0 runtergezaehlt hat sollen die Spieler gespawnt werden, und die Runde soll gestartet werden.


    Ist das hier logisch umgesetzt? Und wann rufe ich am besten die Funktion StartGame() auf? Oder periodisch mit Timer?




    Hier die Funktion welche erkennt wenn eine Runde beendet ist.
    Der rekursive Aufruf hier sinvoll?


    Danke dir Kaliber!


    Kennt jemand sich mit diesem Fehler unter Linux aus?


    Failed (libmysqlclient.so.18: cannot open shared object file: No such file or directory)


    Das kommt wenn ich einen Server mit dem mysql Plugin starten will.
    Leider finde ich auch nicht das Paket welches diese Datei beinhaltet.

    So brauche momentan einen kleinen Denkanstoss.
    Nachdem eine Runde beendet wird in meinem Gamemode.


    Es gibt 3 Dinge die der Spieler sammeln kann in einer Runde, Betten zerstoeren, Spieler killen, und seine Tode.
    Am Ende wuerde ich gerne in einem Dialog alle Spieler auflisten, sortiert absteigend nach den meisten Kills.


    Habe dazu ein 2 Dimensionales Array angedacht.
    Dort muss ich ja irgendwie die Spieler ID beherbergen, die Anzahl der Kills,Tode, und zerstoerten Betten.


    Hier mal mein Ansatz den ich gerade angefangen habe.


    Sortieren wuerde ich am Ende mit meinem Heapsort Algorithmus

    So, habe nun die Kinderkrankheiten meines Gamemodes Last Bed Standing entfernt.
    Habe mal vor einfach einen kleinen Server zu laufen, um zu schauen wie das so geht.


    Der Gamemode besteht darin, dass es mindestens 3 Teams gibt, und diese sollen das Bett eines gegnerischen Teams zerstoeren, so dass diese nicht mehr respawnen koennen, und dann soll das Team ausgeloescht werden.
    Jedoch habe ich noch nicht bedacht wie so eine Runde starten soll.
    Bisher kann man einfach auf den Server gehen, und in ein Team rein, unabhaengig davon ob da bereits was passiert oder nicht.
    Habt ihr Tipps wie ihr das "Starten" realisieren wuerdet?


    Habe evtl. gedacht, dass in mindestens 2 Teams, mindestens 1 Spieler sein muss um zu starten. Aber wie gestaltet man am besten die Abfrage?

    Ich sehe gerade, das Problem ist: Ich kann keinen Remote Zugriff auf meinen MYSQL Server ausfuehren. Der liegt ja nicht lokal auf meinem PC, sondern auf meinem Server im Netzwerk.
    Ich will jedoch mein Script hier auf dem PC testen, wobei ich dann auf die Datenbank auf den Server zugreifen muss.
    Weiss jemand wie ich Remote Zugriff aktivieren kann bei MySQL?

    Hier mal das Log.
    Da scheint der ja mit einem anderen Port verbinden zu wollen.


    Code
    [15:57:29] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:30] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:31] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:32] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'

    So ich versuche mich nun ein wenig in MySQL einzufinden.
    Jedoch weiss ich leider nicht wie ich Fehlersuche betreiben kann.


    Habe mir gerade ein Script gezogen, und versuche damit auf die Datenbank zu verbinden.
    User, IP und Datenbankname habe ich gecheckt, existiert alles.
    Jedoch kann ich leider nicht verbinden, dieses Script meldet mir hier einen Fehler.


    Wie kann ich rausfinden woran es genau liegt?


    Hat jemand Tipps wie ich das MySQL Plugin von BlueG zum laufen kriege? Ich bekomme immer die Meldung: Loading plugin: mysql failed.
    Die alten C++ Redist Packages kann ich auch nicht installieren, laesst Windows 10 leider nicht zu, da angeblich von allem neuere Versionen installiert sind.

    Hallo! Leider bin ich nun am verzweifeln.
    Bin gerade damit fertig geworden meinen Gamemode auf MySQL umzustellen.
    Als letzten Schritt wollte ich noch das YSI Include von oben streichen, jedoch kommen dann unendliche Errors, obwohl ich alle Reste davon im Script entfernt habe.
    Wenn ich das Include nicht streiche kommen keine Probleme.
    Hat jemand evtl. einen Tipp?


    Hier das Script


    https://pastebin.com/by9bGD6u


    Und die Fehler wenn ich das Include entferne



    Hat das denn irgendwelche Vorteile?

    Viele sagen ja, dass objektorientiertes Programmieren ganz toll sein soll.
    Ich habe nur Erfahrung mit C und PAWN, daher kenne ich die Vorteile davon nicht.
    Alles was ich bisher in C und PAWN umsetzen wollte habe ich auch in irgendeiner Form geschafft, aber sicherlich gibt es mit diesen Sprachen komfortablere Wege.

    Moin


    Versuche nun meinen Gamemode nach 1. Jahr erneut massiv zu verbessern, und habe nun viel Laufzeitoptimierung erreicht.
    Nun will ich auch an einigen Stellen mit Ternären Operatoren arbeiten, einzig und allein das, habe ich zuvor noch nie gemacht.


    Hat jemand da einen Tipp, wie ich diesen Block hier mit ternären Operatoren ausdrücken kann?


    C
    if(!tmp) return INVALID_PLAYER_ID;
    if(idx>tmp) idx=0;
    if(idx<0) idx=tmp-1;
    return randoms[idx];