Beiträge von Hagi

    Ich mache es so:


    Ich speichere die IP des Spielers beim Connect als "LastIP". Beim neuen Connect nehme ich die ersten drei Blöcke der neuen IP und schaue ob diese in der Reihenfolge in "LastIP" JEDES in der MYSQL gespeicherten Spielers vorkommen. Sollte das der Fall sein, so sehe ich den Account als einen Potentiellen Musltiaccount an.

    Abend Brotfischer,


    Ich weiß, diese Thema gibt es schon ungefähr ddreitausend Mal. Jedoch finde ich in keinem der bisherigen Treads eine vernünftige Lösung.
    Das Problem besteht darin, dass man beim ersten Connecten, also beim normalen connecten wenn man so will, meinen Loginbildschirm nicht sieht. Man sieht den Standartbildschirm beim Markt am Marina Strand in Los Santos.


    Die Position des Spielers, der Camera und des Lookat sind im Callback OnPlayerConnect implementiert.
    Wenn man jedoch nach einem gmx (ohne kicken der Clients) sich einloggen soll, sieht man den Loginbildschirm.


    In der Codesequenz wird erst die Camera usw gesetzt und dann der Logindialog aufgerufen.

    Spoiler anzeigen
    SetPlayerVirtualWorld(playerid,20);
    SetPlayerPos(playerid,180.7583,1187.7433,22.6676);
    SetPlayerCameraPos(playerid,180.2061,1189.9590,22.6676);
    SetPlayerCameraLookAt(playerid,171.5940,1218.9838,22.3338,CAMERA_CUT);

    Spoiler anzeigen
    new sqlaccountstatus = MySQLCheckAccount(name);
    if(sqlaccountstatus != 0)
    {
    SendClientMessage(playerid,weiß,"Spielerdaten wiedererkannt. Logge dich ein");
    ShowPlayerDialog(playerid,logindialog,DIALOG_STYLE_PASSWORD,"Login","Logge dich bitte mit deinem Password ein \n\n","Absenden","Quit");
    }
    else
    {
    SendClientMessage(playerid,rot,"Fehler: Es existiert keine Spielerdatei. Du kannst dich nun registrieren");
    SendClientMessage(playerid,rot,"Bitte beachte, dass deine IP Adresse bei jedem Log-In gespeichert wird");
    ShowPlayerDialog(playerid,registerdialog,DIALOG_STYLE_PASSWORD,"Registrierung deines Accounts","Willkommen auf Mafia-Police Fort Carson TDM\n\nHier kannst du deinen Namen registrieren\nGebe unten in das Feld bitte dein Passwort ein\n\nDanach kannst du dich mit dem Passwort einloggen","Absenden","Quit");
    }


    Also wenn jemand eine Idee hat, wie ich das Problem lösen kann, wäre ich sehr verbunden.


    MFG
    Hagi


    edit 26.08.2012:


    Für alle, die das gleiche Problem habe, habe ich jetzt eine Lösung.
    Einfach den Logindialog erst bei OnPlayerRequestClass aufrufen, dann klappts auch mit dem eigenen Hintergrund.

    Bei einem Anticheat hat man meist eine eigene Methode mit der Geld gegeben und genommen werden kann. Irgendwo wird einem ja sicher mal Geld gegeben oder abgezogen. Die MEthode kannst du dann nehmen.

    Ich habe manchmal RunTIme Errors wenn ich einen sehr sehr schlimmen scripttechnischen Fehler gemacht habe und der Compiler sich dadurch voll aufhängt.
    Also eventuell hast du einen sehr groben Fehler im Script. Das hört sich jetzt nicht sehr hilfreich an, ist aber das einzige was mir dazu einfällt.

    Das Problem ist einfach, und da bin ich hoffentlich nicht der einzige, dass alle meine Endungen .rar sind. Um es dann hier hochzuladen muss ich wieder zippen. Klar das dauert jetzt nicht lange, muss aber dennoch getan werden.
    Versteh auch garnicht warum euch das alle so nervt .rar hinzuzufügen. Tut euch der Dateityp irgendwie weh ?

    Da gibt nen Include für.
    MD5 ist schon relativ sicher.


    Aber mit Veschlüsselung kenn ich micht jetzt nicht so aus.

    Ich glaube nicht, dass Geld da den entscheidenen Faktor gespielt hat. Der "Täter" wusste warscheinlich nichtmal was er tut, bzw hat noch gar kein Bezug zum Geld. Ich kenne seine Persönlichkeit jetzt nicht, würde aber sagen, dass er wohl zu unerfahren war, was Entscheidungen im Leben angeht.



    GivePlayerMoney(playerid,floatround(GetPVarInt(playerid,"fische")*2,55, floatround_ceil));




    Wie fragt man ab, ob jemand Unter, vor, oder hinter ein auto steht?^^


    Du kannst anhand der Position des Autos und dessen Angle die Position des Spielers vergleichen. Dazu wirst du Vektoren brauchen, da du dich im dreidimensionalen Raum bewegst.