Beiträge von YaBroo

    Wie hängt er sich denn auf. Direkt beim Verbinden oder nach ner gewissen Zeit ?
    Crasht die exe oder kann man neu verbinden und spielen?
    Hängt er sich auf oder habt ihr TimeOut?

    Kennt sich jemand damit genauer aus oder hatte ähnliche Probleme ?

    Woher kommt denn dann der 3. Zugriff auf den Server wenn nur du in dein Kollege connecten ?
    Wie hängt er sich denn auf. Direkt beim Verbinden oder nach ner gewissen Zeit ?

    Auch wenn ich nicht Jeffry heiße würde ich dich gerne etwas fragen.
    requests connection cookie. steht dafür, das jemand versucht auf den Server zu connecten.
    Das der Server abschmiert, spricht dafür, dass evt. noch Bots connecten aber die MAX NPC / PLAYER in der server.cfg nicht angepasst sind.


    Benutzt du NPC's/Bots ? Schau mal in deine Server.cfg ob die max angepasst ist.
    Bin mir nicht sicher ob der Server sich davon aufhängen kann, allerdings kann man dadurch nicht connecten.
    Probeweise einfach mal schauen.

    Man kann auch einfach [wiki]GetPlayerPoolSize[/wiki] nutzen. Das gibt einfach die Anzahl der belegten Slots zurück.

    Wenn playerid 1 und 22 online sind , spieler dazwischen sind offline, hat man aber dennoch unnötige slots und müsste durchgehend loopen bis random irgendwann
    mit einem belegten slot übereinstimmt.
    Kann man natürlich trotzdem besser verwenden als MAX_PLAYERS im Loop.

    https://wiki.sa-mp.com/wiki/SetTimer
    http://wiki.sa-mp.com/wiki/Random
    http://wiki.sa-mp.com/wiki/Loops



    Im CMD setzt du einen Timer - gehst alle Spieler durch und stellst noch eine Abfrage ob es ein validplayer ist.
    Nimm dir eine seperate vspieler bezogene variable zur Hand in der du einen counter der schleife (validplayers) speicherst.
    Den Counter lässt du +1 setzen sofern eine Spielerid online ist.
    Somit bekommt jeder der online ist eine Zahl zugewiesen.


    new var[MAX_PLAYERS],
    counter;var[loopvari] = counter;
    Dann nutzt du die Random Funktion und gehst die aktuelle größe des globalen counters durch.
    Dann hast du als output eine Zahl, diese vergleichst du nochmal mit allen Spielern und guckst welcher Spieler diesen Counter input == randomzahl
    hat und somit hast du immer einen Gewinner der Online ist.
    Natürlich noch GewinnerCounter hinzufügen oder den alten resetten um zu prüfen wie viele Gewinner schon gepickt wurden.
    Wesentlich besser als solange zu loopen bis mal rndm mit ner playerid übereinstimmt falls einer zwischen drin offline sein sollte außer man hat MAX_PLAYERS an seine reguläre Spieleranzahl angepasst,
    dann wäre es nicht so wild.

    Du weißt Spieler[pID][pDeckname] nichts zu.
    Was genau kommt denn raus wenn du im setdeckname CMD unten den string des decknamen printest?
    Hat der Spieler bestimmte Decknamen oder freiwählbar?
    Wenn sie freiwählbar sind musst du im CMD auch


    Spieler[pID][pDeckname] = deckname;SetPlayerName(playerid, deckname);



    nutzen, dann wird es sofort INGame aktualisiert und in pDeckname gespeichert.
    ggf. falls du den Decknamen erst beim verkleiden setzen möchtest, dann das SetPlayerName dort einfügen.

    Nun bekommt der Spieler eine Zahl statt den Decknamen

    Spieler[playerid][pDeckname] auch mit MAX_PLAYER_NAME definiert?


    Code
    Spieler[playerid][pDeckname] = cmdtext;

    und printe es dir dann nochmal aus weil du aktuell dem decknamen string keinen string zuweißt.

    Warum erstellst du eig. jedem Spieler ein eigenes TextDraw anstatt einen bzw. 2 globale für alle die im Gangfight anzeigst/updatest?
    Und was meinst du mit synchron geupdated wenn der string nur eine variable immer einzelnt updated (+1)?

    Das Fahrzeug wird auch abgeschlossen jedoch


    wen ich in ein Haus rein und raus gehe ist es wieder Offen


    Dann kann es ja laut System nicht abgeschlossen sein wenn es trotzdem offen ist.
    Schließlich ändert sich der Code nicht wenn man ein Haus betritt / verlässt wenn dort nichts eingetragen ist.


    Geh unter OnGamemodeinit alle F-Fahrzeuge durch, dann abschließen lassen somit werden sie beim Laden auch gleichzeitig abgeschlossen.

    Interessant ist auf jedenfall zu sehen das egal mit welchem Account ich versuche auf den Server zu connecten, dieser mir den output gibt das dieser Nickname wegen waffenhack gesperrt ist.
    Props
    Klassischer 0815 Server Startbonus der schon vor Jahren verpönt wurde schreckt ohnehin ab, sich aber nicht mal einloggen zu können ohne gekickt zu werden ist keine Bewertung wert.

    Kommt keine Meldung if(Deagle[playerid] > 1) return SendClientMessage(playerid,ORANGE,"Du bist in der Deagle Arena");

    Bei dir müsste es dann so aussehen da du scheinbar keine globale Vari hast die allgemein ist.



    Code
    if(Deagle[playerid] == 1) return SendClientMessage(playerid,ORANGE,"Du befindest dich bereits in einer Arena");