Ticket System Problem

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
  • Guten Tag,


    ich habe da ein kleines Problem,


    ich hab ein Ticket System gemacht und kriege Errors


    ocmd:tickets(playerid, params[])
    {
    #pragma unused params
    if(pInfo[playerid][pAdmin] >= 1))return SendClientMessage(playerid,ROT,"Du bist kein Admin"); // hier ist der fehler
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Die angezeigten Tickets können mit /taketicket angenommen werden");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SupportTicket[i] == 1)
    {
    if(TicketAngenommen[i] == 0)
    {
    new string[128], SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(i, SpielerName, sizeof(DerSpieler));
    format(string, sizeof(string), "ID: %d Name: %s", i, SpielerName);
    SendClientMessage(playerid, COLOR_GREY, string);


    }
    }
    }
    }
    return 1;
    }
    Hier sind die Errors
    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : error 028: invalid subscript (not an array or too many subscripts): "pInfo"
    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : warning 215: expression has no effect
    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : error 001: expected token: ";", but found "]"
    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : error 029: invalid expression, assumed zero
    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.
    Hoffe es kann einer weiterhelfen


    Mfg


    Denis

  • Hab das gleiche problem mom


    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : error 028:
    invalid subscript (not an array or too many subscripts): "pInfo"


    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : warning 215: expression has no effect


    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : error 001: expected token: ";", but found "]"


    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : error 029: invalid expression, assumed zero


    C:\Users\Denis\Desktop\asd\gamemodes\Selfmade.pwn(779) : fatal error 107: too many error messages on one line


    so besser les bar ;)

  • Arbeite mit ihm an dem Selfmade ka er hats gemacht ;) aber er hat pInfo oben schon eingetragen ^^

  • doch hier guck
    enum pInfo
    {
    pLevel,
    pLeader,
    pMember,
    pSupporter,
    pAdmin,
    };

  • Einfach die Adminabfrage und die Farben anpassen, müsste gehen (in meinem Script aufjedenfall)
    ocmd:tickets(playerid, params[])
    {
    #pragma unused params
    if(IsPlayerAnAdmin(playerid,1))
    {
    SendClientMessage(playerid, GELB, "|______________________ TICKETLISTE ______________________|");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SupportTicket[i] == 1)
    {
    if(TicketAngenommen[i] == 0)
    {
    new string[128], DerSpieler[MAX_PLAYER_NAME];
    GetPlayerName(i, DerSpieler, sizeof(DerSpieler));
    format(string, sizeof(string), "** Ticket-ID: %d Spieler: %s **", i, DerSpieler);
    SendClientMessage(playerid, BLAU, string);
    }
    }
    }
    }
    return 1;
    }

  • Haben da noch ein Problem wenn man /sup test macht


    restartet er sich oder irgendein text dhinter schreibt


    Hoffe kann einer helfen


    ocmd:sup(playerid,params[])
    {
    new text[256];

    {
    SendClientMessage(playerid, COLOR_GREY,"[Benutzung]: /sup [text]");
    }
    else
    {
    if(TicketAngenommen[playerid] == 0)
    {
    new pname[MAX_PLAYER_NAME],save[512], string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save) && TicketZeile[playerid] == 0) // Wenn noch kein Ticket existiert und auch die TicketZeile auf 0 ist.
    {
    new adminmeldung[128];
    format(adminmeldung, sizeof(adminmeldung), "%s hat ein Support-Ticket geschrieben", pname);
    SendAdminMessage(COLOR_YELLOW, adminmeldung);
    SupportTicket[playerid] = 1;
    TicketZeile[playerid] = 1;
    dini_Create(save);
    dini_Set(save,"Suptext",text);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Du hast ein Ticket mit folgendem Text geöffnet:");
    format(string, sizeof(string), "%s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT]Warte bis es ein Supporter annimmt!");
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT]Du kannst noch mit /sup 2 weitere Zeilen anhängen");
    return 1;
    }
    else if(TicketZeile[playerid] == 1) // Wenn die erste Zeile schon geschrieben wurde
    {
    new string2[128];
    dini_Set(save, "Suptext2",text);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Du hast folgendes an dein Ticket anhängt:");
    format(string2, sizeof(string2), "%s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string2);
    TicketZeile[playerid] = 2;
    return 1;
    }
    else if(TicketZeile[playerid] == 2) // Wenn bereits 2 Zeilen ausgefüllt sind
    {
    new string3[128];
    dini_Set(save, "Suptext3",text);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Du hast folgendes an dein Ticket anhängt:");
    format(string3, sizeof(string3), "%s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string3);
    TicketZeile[playerid] = 3;
    return 1;
    }
    else if(TicketZeile[playerid] == 3) // Wenn das Ticket bereits 3 Zeilen hat
    {
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Dein Ticket ist bereits randgefüllt!");
    return 1;
    }
    }
    if(TicketAngenommen[playerid] == 1) // Zum direkten Antworten per /sup , wenn das Ticket angenommen wurde.
    {
    new pID = DeinSupport[playerid];
    new antwort[128], antwort2[128], DerFragende[MAX_PLAYER_NAME], DerSup[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerFragende, sizeof (DerFragende));
    GetPlayerName(pID, DerSup, sizeof (DerSup));
    format(antwort, sizeof (antwort),"--> %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, antwort);
    format(antwort2, sizeof (antwort2), "%s schrieb: %s", DerFragende, text);
    SendClientMessage(pID, COLOR_YELLOW, antwort2);
    }


    }
    return 1;
    }


    Mfg


    Hydra

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


    ocmd:sup(playerid,params[])
    {
    new text[256];
    if(sscanf(params,"s",text))
    {
    SendClientMessage(playerid, BLAU,"Benutze: /sup [Text]");
    }
    else
    {
    if(TicketAngenommen[playerid] == 0)
    {
    new pname[MAX_PLAYER_NAME],save[512], string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save) && TicketZeile[playerid] == 0) // Wenn noch kein Ticket existiert und auch die TicketZeile auf 0 ist.
    {
    new adminmeldung[128];
    format(adminmeldung, sizeof(adminmeldung), "[SUPPORTSYSTEM] %s hat ein Ticket geschrieben.", pname);
    SendAdminMessage(GELB, adminmeldung);
    SupportTicket[playerid] = 1;
    TicketZeile[playerid] = 1;
    dini_Create(save);
    dini_Set(save,"Suptext",text);
    SendClientMessage(playerid, GELB, "[SUPPORTSYSTEM] Du hast ein Ticket mit folgendem Text geschrieben:");
    format(string, sizeof(string), "%s", text);
    SendClientMessage(playerid, GELB, string);
    SendClientMessage(playerid, GELB, "[SUPPORTSYSTEM] Warte bis es ein Supporter annimmt.");
    SendClientMessage(playerid, GELB, "[SUPPORTSYSTEM] Du kannst noch maximal 2 weitere Zeilen hinzufügen (/sup)");
    return 1;
    }
    else if(TicketZeile[playerid] == 1) // Wenn die erste Zeile schon geschrieben wurde
    {
    new string2[128];
    dini_Set(save, "Suptext2",text);
    SendClientMessage(playerid, GELB, "[SUPPORTSYSTEM] Folgender Text wurde deinem Ticket hinzugefügt:");
    format(string2, sizeof(string2), "%s", text);
    SendClientMessage(playerid, GELB, string2);
    TicketZeile[playerid] = 2;
    return 1;
    }
    else if(TicketZeile[playerid] == 2) // Wenn bereits 2 Zeilen ausgefüllt sind
    {
    new string3[128];
    dini_Set(save, "Suptext3",text);
    SendClientMessage(playerid, GELB, "[SUPPORTSYSTEM] Folgender Text wurde deinem Ticket hinzugefügt:");
    format(string3, sizeof(string3), "%s", text);
    SendClientMessage(playerid, GELB, string3);
    TicketZeile[playerid] = 3;
    return 1;
    }
    else if(TicketZeile[playerid] == 3) // Wenn das Ticket bereits 3 Zeilen hat
    {
    SendClientMessage(playerid, GELB, "[SUPPORTSYSTEM] Du kannst keinen weiteren Text deinem Ticket hinzufügen.");
    return 1;
    }
    }
    if(TicketAngenommen[playerid] == 1) // Zum direkten Antworten per /sup , wenn das Ticket angenommen wurde.
    {
    new pID = DeinSupport[playerid];
    new antwort[128], antwort2[128], DerFragende[MAX_PLAYER_NAME], DerSup[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerFragende, sizeof (DerFragende));
    GetPlayerName(pID, DerSup, sizeof (DerSup));
    format(antwort, sizeof (antwort),"((%s: %s))", DerFragende, text);
    SendClientMessage(playerid, GELB, antwort);
    format(antwort2, sizeof (antwort2), "((%s: %s))", DerFragende, text);
    SendClientMessage(pID, GELB, antwort2);
    }
    }
    return 1;
    }

  • danke dann noch ein problem


    wenn ich /tickets mache kommt garnichts


    einfach nichts


    ocmd:tickets(playerid, params[])
    {
    #pragma unused params
    if(!isPlayerAnAdmin(playerid,1))
    {
    SendClientMessage(playerid, COLOR_YELLOW, "|______________________ TICKETLISTE ______________________|");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SupportTicket[i] == 1)
    {
    if(TicketAngenommen[i] == 0)
    {
    new string[128], DerSpieler[MAX_PLAYER_NAME];
    GetPlayerName(i, DerSpieler, sizeof(DerSpieler));
    format(string, sizeof(string), "** Ticket-ID: %d Spieler: %s **", i, DerSpieler);
    SendClientMessage(playerid, BLAU, string);
    }
    }
    }
    }
    return 1;
    }