Beiträge von Kaliber

    Schau dir doch einfach Tutorials an.

    • Nutze kein mysql! Nutze pdo oder mysqli.
    • Nutze nie direkte Variablen in SQL-Statements! Nutze immer prepared Statements.
    • Nutze `` für Spaltennamen, damit diese nicht als Keywords interpretiert werden.

    Kurze Frage; kann mir jemand erklären, wie ich das hinbekomme, eine Sperre für normale Namen zu machen und das die Namen bei der Registration MIT einem Unterstrich ( bsp. Marc_Williams) sein MÜSSEN.

    Unter OnPlayerConnect kannst du einfach prüfen, ob sie einen gültigen Namen haben.


    Entweder du nutzt ein dickes Plugin dafür: https://forum.sa-mp.com/showthread.php?t=247893


    oder hier mal eine Funktion dafür eben geschrieben, die folgendes beachtet:


    • Nur Buchstaben, keine Zahlen/Sonderzeichen
    • Nur ein _ (der sich nicht ganz vorne oder ganz hinten befinden kann)


    wo der Spieler hinschaut?
    Gibt es da eine Möglichkeit?

    Na klar, musst nur etwas rumspielen, wie groß die Distanz ca ist.


    const Float:distance = 5.0; //Hier anpassen, musst schauen, wann es passt (kannst ja zur Probe ein Pickup oder so an der Position erstellen, ob es die richtige ist)


    new Float:x,Float:y,Float:z,Float:a;
    GetPlayerPos(playerid,x,y,z), GetPlayerFacingAngle(playerid,a);
    x += distance * floatsin(-a, degrees);
    y += distance * floatcos(-a, degrees);
    //x,y,z = Die Position, die du suchst
    Oder wenn es immer unterschiedlich ist, auf SynonymousZ hören! :)

    Die Idee gefällt mir, ist eine nette Funktionalität :)


    C
    stock SetVehicleCheckpoint(vehicleid, Float:x, Float:y, Float:z, Float:size)
    {
        for(new i=GetPlayerPoolSize(); i!=-1; i--)
        {
            if(IsPlayerConnected(i) && IsPlayerInVehicle(i,vehicleid)) SetPlayerCheckpoint(i,x,y,z,size);
        }
        return 1;
    }

    Jetzt kannst du einfach anstatt den Checkpoint für den Spieler und für das Fahrzeug zu setzen, einfach für das Fahrzeug setzen, dann bekommt jeder (auch der Fahrer), der in dem Fahrzeug ist, den Checkpoint angezeigt! :)

    Wenn ich jemanden ein Textdraw anzeige (Textdrawshow...) und der Spieler disconnected,
    wird für den nächsten Spieler mit der ID das Textdraw auch angezeigt oder ist es pflicht es beim disconnect wieder zu hiden?

    Um die Aussage von Skeezy nochmal zu verdeutlichen auf dein Beispiel.


    Würde der Spieler disconnectet werden z.B. durch einen Kick, dann würde er die TextDraws noch weiter sehen (es sei denn du würdest sie hiden).


    Connectet ein Spieler mit der selben ID, wird das TextDraw ihm nicht automatisch angezeigt :)

    Bei mir findet er in der Include aber trotzdem nicht pInfo von meinem Gamemode.

    Ja, inkludiere das Include erst unter dem new pInfo von deinem Gamemode.


    Und da ist ein Formatierungsfehler in Zeile 30 und 31....einfach das eine Leerzeichen davor löschen :)


    PS: GetMySpec ist zwar eine nette Idee, allerdings müsste sie ein Array an Spielern zurückgeben. Da du ja nicht zwingend nur eine Person hast, die jmd spectatet.

    Gerade mal Langeweile gehabt, hab dir quasi mal n Include dafür geschrieben, was das alles aktualisiert:


    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? :)

    @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]);

    Hallöchen,


    dieses Thema wurde hier schon oft erörtert :)


    Um es kurz zu machen, der Boden verschwindet kurzzeitig wenn da keiner ist und dann fallen die Fahrzeuge durch den Boden und dann passiert eben genau das :)


    Lösungsvorschläge (für den berühmten Grove Street Bug):


    • Mit CreateObject ein Boden Objekt knapp unter den normalen Boden erstellen.
    • Einen Timer machen, der prüft ob jemand in die Nähe kommt & nicht schon jemand in der Nähe ist -> dann Fahrzeuge respawnen
    • Simpler respawn aller Fahrzeuge, sobald jemand das Interior verlässt und niemand im Fahrzeug ist