Send Clientmessage wird vor Kick nicht aufgerufen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten morgen leute,


    mein Problem heute: Seit 0.3x spinnt das login system wenn man falsche passwörter eingibt.
    Der spieler wird geckickt allerdings soll davor eine MEssage ausgegeben werden, diese erscheint NICHT.


    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Du musst ein Passwort eingeben!");//Erst Message
    Kick(playerid);//Dannach Kick
    }
    if(strcmp(inputtext,mysql_ReturnPasswort(playerid)) == 0)
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    LoadPlayer(playerid);
    Spieler[playerid][eingeloggt] = 1;
    }
    Laut Debuginfo wirdf das Send Clientmessage übersprungen bzw der spieler wird schneller gekickt als die Message kommt.

  • Musst den Kick-Befehl einfach mit einem Timer ausführen, ist glaub ich einfach nur ein SA-MP Bug

    [tabmenu][tab='Angebote',http://images-1.findicons.com/files/icons/1722/gnome_2_18_icon_theme/48/stock_new_meeting.png][subtab='CMS und Forumsystem',http://icons.iconarchive.com/icons/uribaani/realm/128/Control-panel-icon.png]Installationen & Forumlösung - Forumthread


  • Und wo steht das bitteschön, dass es absichtlich ist, dass bis zu 500ms Nachrichten, die vor dem Kick gesandt wurden, nicht angekommen?


    Zitat von Kalcor:


    Zitat

    It's not a bug. It's intended behaviour. Kick() will cancel all pending packets and ignore any further messages from the player.


    This had to be done for security reasons.


    Gruß