Beiträge von .Gottkomplex.


    Dies hier ist mein Weapon Carry System. Es heftet eine Waffe, sobald sie inaktiv wird, an den Spieler.
    Es funktioniert momentan für alle Waffen der Slots 0-8. Es ist für einen durchschnittlichen Skin(SkinID 1) perfekt angepasst worden. Da man, damit es pefekt passt, für jeden Skin einzelne Einstellungen machen müsste, passt es nur grob für jeden Skin.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Ich bitte um viel Feedback!(Fehler & Verbesserungsvorschläge)


    Download(Dank der Erlaubnis von InternetInk aka Benjamin)
    Der Download gibt euch die Möglichkeit, das Filterscript zu testen.



    Weil du mit deinem Stock nur ein bestimmtes Level abfragen kannst.
    Wenn du sicher bist, dass du den Spieler, bevor du versucht hast das Tor zu öffnen, in Fraktion 2 gesetzt hast, poste bitte mal wie du das Tor erstellst.
    Und soll das Tor sinken oder ist es eines, das sich zur Seite bewegt?

    if (strcmp("/pd", cmdtext, true, 10) == 0)//den Befehl könnt ihr jederzeit beliebig ändern
    {
    if(sSpieler[playerid][Fraktion] == 2)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,246.3600006,72.6699982,1003.8400269))
    {
    MoveObject(pdtuer, 244.3699951,72.6800003,1003.8400269,2.0);
    SetTimer("GateClosetGate",5000,0);
    }
    else
    {
    SendClientMessage(playerid,Blau,"Du bist kein Cop");
    }
    }
    }


    Ist es ein Tor das nach unten sinkt?


    CMD:setfraktion(playerid,params[])
    {
    if(sSpieler[playerid][Adminlevel] == 0)return SendClientMessage(playerid,Rot,"Du bist kein Admin");
    new pID,frakid;
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    if(sscanf(params,"ud",pID,frakid))return SCM(playerid,Blau,"Benutze: /setfraktion [playerid] [Fraktion]!");
    if(pID == INVALID_PLAYER_ID)return SCM(playerid,Rot,"Ungültiger Spieler");
    sSpieler[pID][Fraktion] = frakid;
    GetPlayerName(pID,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    dini_IntSet(Spieler,"Fraktion",frakid);
    SCM(pID,Blau,"Du wurdest einer Fraktion zugewiesen!");
    return 1;
    }


    €: Ein Fehler nach dem anderen verbessert.

    Also ich versuche es jetzt dir zu erklären.
    Du hast beim Login pBanned abgefragt, bevor du den Account geladen hast.
    Das heißt du hast pBanned abgefragt, bevor überhaupt etwas in pBanned stehen konnte.
    Aus diesem Grund habe ich die Abfrage entfernt und nochmal beim Spawn(wenn der Accounts bereit geladen wurde) abgefragt.

    Hilfsbereite Leute, die offenbar dein ganzes System durcheinander bringen.


    So muss das jetzt bei dir aussehen:



    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {

    SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
    LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen


    }
    else
    {
    //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }


    return 1;
    }



    Dann machst du unter OnPlayerSpawn am besten das hier:



    public OnPlayerSpawn(playerid)
    {
    if(SpielerInfo[playerid][pBanned]== 1)
    {


    Kick(playerid);

    }


    return 1;
    }

    Das eigentliche Problem war, dass du vor LoadPlayer nicht etwas aus dem Array SpielerInfo abfragen konntest, in das erst in LoadPlayer geschrieben wird.


    Nimm den Code, den du in deinem ersten Beitrag gepostet hast und frage erst ab, ob pBanned gleich 1 ist, wenn du den Spieler per LoadPlayer bereits geladen hast.