DRINGEND Supportsystem

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
  • Hallo Community,
    ich habe ein Problem. Derzeitig scripte ich mein Supportsystem basierend auf dini. Soweit (also Supportticket erstellen usw) geht alles ohne Probleme.
    Nun möchte ich für Admins einen Befehl machen, um zu sehen, um was es in einem Ticket geht. Ich habe 3 Kategorien. Beim Compilen gibt es keine Warnings oder Errors, aber im Spiel kommt "Dieser Befehl existiert nicht." -> also SERVER: Unknow Command.
    Hier mein Code vom Befehl, ich hoffe mir kann jemand schnell helfen.
    ocmd:infosup(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,BLAU,"Dieser Befehl ist nur für Admins freigeschalten.");
    new kategorie,user,info[128],pfad[128];
    if(sscanf(params,"ss",kategorie,user)) return SendClientMessage(playerid,ORANGE,"Benutze: /infosup [Fastsupport / Problem / Meldung] [User]");
    format(pfad,sizeof(pfad),"/Supportsystem/Meldung/%s.txt",kategorie,user);
    format(info,sizeof(info),"{ED9E15}Name des Spielers: {FFFFFF}%s\n{ED9E15}Text: {FFFFFF}%s\n\n{ED9E15}Um dieses Ticket anzunehmen gebe '/takesup [Kategorie] [User]' ein!",user,dini_Get(pfad,"Text"));
    ShowPlayerDialog(playerid,DIALOG_SUPPORT_BEST,DIALOG_STYLE_MSGBOX,"Supportsystem -> Admininfo",info,"Schließen","");
    return 1;
    }


    Mit freundlichen Grüßen
    Sven_Martinez


    PS: Nein, ich mache keinen Server, ich scripte rein aus Freude und werde dann mein fertiges Selfmade hier releasen ...

    Einmal editiert, zuletzt von TrueCore ()

  • Öhm wo fragst du denn ab, was passiert wenn einer irgendwas nach /infosup eingibt? Du hast dort nur 2 Strings, die gebraucht werden, aber sie werden doch dann nicht genutzt/abgefragt. Desweiteren würde der Username nicht ausgegeben werden, da du GetPlayerName/Deinen SpielerName Stock vergessen hast.

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • Nope du fragst mit sscanf nur ab, ob er auch 2 strings folgen lässt, aber was ist wenn ich "/infosup test lol" eingebe?
    Außerdem wird ein User mit "u" abgefragt, oder wird der wo gespeichert?

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • ocmd:infosup(playerid,params[])
    {
    print("0");
    if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,BLAU,"Dieser Befehl ist nur für Admins freigeschalten.");
    print("1");
    new kategorie,user,info[128],pfad[128];
    print("2");
    if(sscanf(params,"ss",kategorie,user)) return SendClientMessage(playerid,ORANGE,"Benutze: /infosup [Fastsupport / Problem / Meldung] [User]");
    print("3");
    format(pfad,sizeof(pfad),"/Supportsystem/Meldung/%s.txt",kategorie,user);
    print("4");
    format(info,sizeof(info),"{ED9E15}Name des Spielers: {FFFFFF}%s\n{ED9E15}Text: {FFFFFF}%s\n\n{ED9E15}Um dieses Ticket anzunehmen gebe '/takesup [Kategorie] [User]' ein!",user,dini_Get(pfad,"Text"));
    print("5");
    ShowPlayerDialog(playerid,DIALOG_SUPPORT_BEST,DIALOG_STYLE_MSGBOX,"Supportsystem -> Admininfo",info,"Schließen","");
    print("6");
    return 1;
    }


    dann nochmal testen und serverlog posten


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


    SA-MP Dedicated Server
    ----------------------
    v0.3d-R2, (C)2005-2011 SA-MP Team


    [14:52:23] filterscripts = "" (string)
    [14:52:23]
    [14:52:23] Server Plugins
    [14:52:23] --------------
    [14:52:23] Loading plugin: streamer
    [14:52:23]


    *** Streamer Plugin v2.5.2 R2 by Incognito loaded ***


    [14:52:23] Loaded.
    [14:52:23] Loading plugin: mysql
    [14:52:23] Failed.
    [14:52:23] Loaded 1 plugins.


    [14:52:23]
    [14:52:23] Ban list
    [14:52:23] --------
    [14:52:23] Loaded: samp.ban
    [14:52:23]
    [14:52:23]
    [14:52:23] Filterscripts
    [14:52:23] ---------------
    [14:52:23] Loaded 0 filterscripts.


    [14:52:23]
    #####################################################
    [14:52:23] # [My] Reallife (Version 0.1) #
    [14:52:23] # (c) 2011 - 2012 Sven_Martinez #
    [14:52:23] #####################################################


    [14:52:23] Es uwrden 11 Fahrzeuge geladen!
    [14:52:23] Number of vehicle models: 2
    [14:53:06] Incoming connection: 127.0.0.1:64689
    [14:53:06] [join] Sven.IceBlue has joined the server (0:127.0.0.1)
    [14:53:11] [part] Sven.IceBlue has left the server (0:2)
    [14:53:48] Incoming connection: 127.0.0.1:62230
    [14:53:49] [join] Sven_Martinez has joined the server (0:127.0.0.1)
    [14:54:58] 0
    [14:54:58] 1
    [14:54:58] 2
    [14:54:58] 3
    [14:54:58] 4
    [14:54:58] 5
    [14:54:58] 6
    [14:55:06] --- Server Shutting Down.
    [14:55:06] [part] Sven_Martinez has left the server (0:0)


    PS: Der Server sagt Dieser Befehl existiert nicht und zeigt auch nix an -.-

  • Nur so nebenbei...
    format(pfad,sizeof(pfad),"/Supportsystem/Meldung/%s.txt",kategorie,user);
    Du hast einen Platzhalter aber 2 Parameter dafür, kategorie und user.
    Sicher,dass es so stimmt? Wird übrigens der DIALOG auch angezeigt :-O ?
    Meine dass bei Dateipfaden auch die Groß/Kleinschreibung beachtet wird.

  • Wenn der DIALOG nicht angezeigt wird,dann wird wohl was mit dini_Get nicht passen.
    Ich bin mir relativ sicher,dass die Groß/Kleinschreibung beachtet wird ( case-sensitive ), daher probier mal folgendes :
    if(fexist(pfad)) printf("Datei '%s' existiert",pfad);
    else printf("ACHTUNG: Datei '%s' exisitert nicht",pfad);
    Existiert die Datei überhaupt ?

  • So jetzt hab ich den Fehler, weiß aber nicht wie ich ihn beheben sollte.
    Das ist der Fehler, der Pfad wird falsch "gemacht". Was kann ich jetzt dagegen tun?


    Hier der Logauszug: [15:39:47] ACHTUNG: Datei '/Supportsystem/ven_Martinez/Sven_Martinez.txt' exisitert nicht


    //Edit: Fehler behoben, einfach der Kategoier und dem User eine max. Anzahl an Zeichen zugewiesen und es funktioniert ohne Probleme.
    //Edit2: Wie kann man die Dateien eines Ordners auflisten lassen, z.B. in einem Dialog_Style_List?