Anfänger Selfmade MySQL R7

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


  • Zum Thema Skripten will ich dir mal paar Tipps geben.


    Bitte wenn du ein string zusammenfügen willst ohne Platzhalter benutzt dazu nicht format , dazu gibt es strcat oder memcpy. Zu dem wenn der string in einer Anweisung deklariert ist
    wie bei deinem einen Befehl.


    ocmd:zeigescheine(playerid,params[])
    format(string,sizeof(string),"Führerschein: Nicht Bestanden");


    entweder
    strcat(string,"Führerschein: Nicht Bestanden");
    und davor
    strdel(string,sizeof(string));


    oder


    string="Führerschein: Nicht Bestanden";


    Als weiteres benutz doch Bit-Arrays, wenn du nur 1 wert specihern musst
    Das kannst du selbst machen oder eine include verwenden wie r-bits oder y_iterator.


    also weiteren Punkt du benutzt ja schon in deinem enum pName warum dazu noch eine extra Funktion um den Namen zurückzugeben
    einfach bei OnPlayerConnect
    GetPlayerName(playerid,PlayerInfo[playerid][pName],MAX_PLAYER_NAME+1);


    und oben das define

    #define PlayerName(%0) PlayerInfo[%0][pName];


    Zu Thema Dialog
    benutz doch auch ein enum dazu das nimmt dir viel Arbeit ab


    enum {
    Dialog_Reg,
    DIALOG_GESCHLECHT,
    }


    Dialog_Reg hat nun den wert 0 und DIALOG_GESCHLECHT 1 du kannst auch direkt bei 1 einsteigen


    enum {
    Dialog_Reg=1,
    DIALOG_GESCHLECHT,
    }


    Ahja so nebenbei
    "#HTML_WHITE"
    ist nicht nötig da reicht "HTML_WHITE" man verwendet # nur dann wenn man " " nicht verwenden kann und andersrum ist eine kleine Zeitersparnis :D


    PlayerInfo[playerid][LastLogin]
    dazu muss man nicht umbedingt einen das ganze auslesne und als string formatieren dazu gibt es den SQL befehl NOW() und zum auslesen auch DATE_FORMAT :D



    xD zur anschuldigung wegen der PRP skript muss ich sagen sind ja Absurd


    Beispiel das Mutesystem

    forward @MYSQL_QUERY_FINISH_MUTED_CHECK(playerid,UnMuteName[]);
    @MYSQL_QUERY_FINISH_MUTED_CHECK(playerid,UnMuteName[])
    {
    new bool:muted = !!cache_get_field_content_int(0,"Muted");


    Ich glaube nicht das du sowas dort findest da erstens der Ersteller vom Prp bestimmt nichtmal weiß wozu das gut ist und zweitens ist das von mir was ich für ihn geschrieben habe bei seinem Problem Thread zum dem Thema hier im Forum.



    Zu den Farben das soll ja wohl ein witz sein seit wann sind Farbcodes Copyright bei jemanden, genau bei den anderen Funktionen diese anderszuschreiben macht doch auch kein Sinn.(isPlayerInFrakt, PlayerTalkPublic nun gut dort hätte man ja wenigstens ein Array nutzen können).

  • @IPrototypeI:
    Danke sehr.
    Ich habe die sachen die ich so ändern konnte geändert.
    #define PlayerName(%0) PlayerInfo[%0][pName];
    Das geht irgendwie nicht. Wenn ich dann PlayerName(playerid) mache bekomme ich fehler
    Das mit den Dialogen und dem strcat habe ich nun umgesetzt


    @Azure Jr.:
    Ist das Script den so in ordnung?
    o. habt ihr noch andere Verbesserungs vorschläge?

  • Gute Arbeit einer der Wenigen Öffentlichen R7+ GM's mir Gefällts aber nutzen werde ich es nicht da ich Selbst ein R8er habe und dran zu Gange bin. Für Neulinge Super zu benutzen lediglich macht mir eher die Sorge das die Neulinge mit der R7+ Threaded MySQL Basis ned klar kommen :P


    mach weiter so :D



  • Ich weiß ja nicht ob du dich mit defines auskennst mit Directives. Defines sind dazu da dir alles etwas leichter zu machen. Da du diese erstellen kannst und das was sich dahinter verbirgt
    nicht extra immer und immer wieder schreiben musst. Beim Kompilen existieren defines nicht mehr da diese ersetzt werden mit den code elementen was sich dahinter verbirgt.


    Daher ist das ganze auch logisch


    return PlayerName(playerid);
    würde so kompilt werden


    return PlayerInfo[playerid][pName];;


    resultat => Error daher einfach das Semicolon entfernen beim Define :D

  • Hey.


    Bei mir tucht immer folgender Fehler auf:


    Script[gamemodes/MySelfmade.amx]: Run time error 19: "File or function is not found"


    Über Hilfe freue ich mich :-).


    Mfg


    P.s: Habe nur nen Testserver wo ich alles teste. Bin neu im Servergeschäft :D

    Hole dir jetzt *KOSTENLOS das Taschenbuch für Gründer!


    Link: https://bit.ly/2muVYRS


    *es fallen lediglich Versandkosten an

  • Log nach dem Restart:


    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3x, (C)2005-2013 SA-MP Team


    [20:00:02] filterscripts = "" (string)
    [20:00:02]
    [20:00:02] Server Plugins
    [20:00:02] --------------
    [20:00:02] Loading plugin: mysql
    [20:00:02] Failed (plugins/mysql: cannot open shared object file: No such file or directory)
    [20:00:02] Loading plugin: sscanf
    [20:00:02] Failed (plugins/sscanf: cannot open shared object file: No such file or directory)
    [20:00:02] Loaded 0 plugins.


    [20:00:02]
    [20:00:02] Filterscripts
    [20:00:02] ---------------
    [20:00:02] Loaded 0 filterscripts.


    [20:00:02] Script[gamemodes/MySelfmade.amx]: Run time error 19: "File or function is not found"
    [20:00:02] Number of vehicle models: 0


    Ja ich habe alle Ordner gedownloadet.


    PermanenT
    Rockstar12

    Hole dir jetzt *KOSTENLOS das Taschenbuch für Gründer!


    Link: https://bit.ly/2muVYRS


    *es fallen lediglich Versandkosten an

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen