[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Hat niemand ne idee..?

    Wird dein Textdraw mehrfach erstellt ? Es wird soweit ich weiß nur das letzte Textdraw gelöscht, heißt wenn du 2x das gleiche Textdraw showst, ist es doppelt da, kann aber nicht doppelt wieder versteckt werden.
    Bin mir aber nicht sicher... hatte mal ein ähnliches Problem

    MfG. Adrian

  • Wie deklarierst du die Variable (also das mit new) und wie setzt du den Wert der Variable?


    new PlayerText:MSGTextdrawPlayer[MAX_PLAYERS];



    Wird dein Textdraw mehrfach erstellt ? Es wird soweit ich weiß nur das letzte Textdraw gelöscht, heißt wenn du 2x das gleiche Textdraw showst, ist es doppelt da, kann aber nicht doppelt wieder versteckt werden.Bin mir aber nicht sicher... hatte mal ein ähnliches Problem

    Nein wird es nicht...





    Kann ich es theoretisch nochmal aufrufen und dann direkt hiden? würde das was bringen?

  • Lass dir mal die IDs ausgeben des Textdraws. Einmal wenn du ihn erstellst und einmal, wenn du ihn löscht/versteckst.


    Sind diese Identisch?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • @deklaN: Das beantwortet nur eine meiner zwei Fragen...


    Die Andere war, wie du das zuweist bzw welchen Wert die Variable hat.


    Kannst es dir ja mal printen lassen (da wo du das TextDraw erstellst und wo du es nutzt jeweils printen lassen und vergleichen).


    printf("%d", _:MSGTextdrawPlayer[playerid]);

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hallo!


    Ich hab ein Problem bei meinem Loginsystem, und zwar steht da immer as das Passwort falsch ist obwohl ich es richtig eingebe. Ich denk es liegt an der Registerfunktion.


    Was ist da falsch?


    MfG


    Allrounder18

  • Bei der Registrierung wird dein Passwort nicht gehasht?


    Steht das denn in Klartext in der Datenbank? (Oh nooooo :/ )


    Generell ist aber auch von MD5 abzuraten: https://breadfish.de/index.php…ren-genauer-erkl%C3%A4rt/

    Das Passwort sollt sehrwohl gehast werden. Oder was hab ich vergessen?


    Edit: Ich hab jetzt mal bcrypt verwendet, jedoch wie mach ich das? Ich hab jetzt ma die Aleitug be deiem Lin befolgt, jedoch weiß ich nicht wie es weitergeht.

  • Das Passwort sollt sehrwohl gehast werden. Oder was hab ich vergessen?

    Steht es denn gehasht in der Datenbank? Kannste doch einfach testen.



    Edit: Ich hab jetzt mal bcrypt verwendet, jedoch wie mach ich das? Ich hab jetzt ma die Aleitug be deiem Lin befolgt, jedoch weiß ich nicht wie es weitergeht.

    Dann lass es jetzt erstmal so, aktuell habe ich keine Zeit oder experimentiere etwas rum, oder evlt ist jemand so nett und erläutert das etwas ^^


    Wo genau hängst du denn? :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke, es hat geklappt. ich hab einfach das Insert dingens bei Register vergessen.


    Edit: Ich möchte, dass bei Server Restart ein Passwort gesetzt wird.
    Funktioniert das so oder muss ich es anders mahen? Kann ich den Timer lassen oder ist der unnötig?
    Bei OnGamemodeIit steht dann SendRconCommand("password 0");


    Code
    ocmd:restart(playerid)
    {
        SendRconCommand("password ****");
        SetTimer("Restart",100, false);
        Kick(playerid);
        return SendRconCommand("gmx");
    }
  • Was genau machst du da?
    Du setzt ein Passwort, jedoch gleichzeitig lässt du den Server Restarten, wenn der Server neu startet, kann dazwischen (während des Restarts) eh keiner drauf connecten.
    Was macht der Timer?


    Wenn du nicht direkt den Server neustarten lässen möchtest, dann setzt in deinem restart Befehl "SendRconCommand("password 123"); und führe den Timer nach X Zeit aus und lass dort dann den rcon gmx durchführen.
    Ansonsten wenn du ihn direkt neu starten möchtest bei Befehl Eingabe, kannst du das Passwort weg lassen.

  • @Allrounder18


    Habe gerade dein Edit gelesen könntest auch mit params arbeiten aber hier z.b:
    Du hast vergessen alle Spieler rauszuwefen, habe die Arbeit mal für dich erledigt.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Code
    for(new id = 0; id < MAX_PLAYERS; id++)


    am besten zu


    Code
    for(new id = 0, j = GetPlayerPoolSize(); id < j; id++) //Besser als MAX_PLAYERS. Hab ich am eigenen Leib erfahren ^^


    GetPlayerPoolSize() nimmt nämlich die größte playerID und loopt nur durch die IDs darunter.



    Code
    ocmd:restart(playerid, params[]) //Hast hier das params[] vergessen


    @Allrounder18

    MfG. Adrian

  • C
    for(new id = 0, j = GetPlayerPoolSize(); id < j; id++)

    am besten zu


    C
    foreach(Player,id) //Besser als GetPlayerPoolSize(). Hab ich am eigenen Leib erfahren ^^

    Hier kannst du dir die Abfrage sparen, ob der Spieler connected ist, dazu lopped er nur die Spieler die Online sind.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Hallö!


    Ich habe von nem Kollegen ne .map Datei bekommen. Wo muss ich diese einfügen, damit sie auf dem Server läuft?! Ich raff das irgendwie nicht, da ich immer mit CreateDynamicObject's gearbeitet habe.

  • Beitrag von Maho ()

    Dieser Beitrag wurde von seegras aus folgendem Grund gelöscht: Kontext? Evtl. denjenigen per @Username erwähnen für den deine Antwort gedacht war ().