Problem mit Support System (Wichtig!)

  • Problem mit Support System (Wichtig!)

    Neu

    Quellcode

    1. CMD:sup(playerid, params[])
    2. {
    3. new input[90], text[96], string[128];
    4. if(!IsLoggedIn(playerid))return 1;
    5. if(sscanf(params, "s[90]", input))return SendClientMessage(playerid, COLOR_GREY, "Benutze /sup [Nachricht]");
    6. new bool:isOnline;
    7. for(new i=0;i<GetMaxPlayers();i++)
    8. {
    9. if(IsPlayerConnected(i) && Spieler[i][pLoggedIn])
    10. {
    11. if(Spieler[i][pAdmin] > 0)
    12. {
    13. isOnline = true;
    14. }
    15. }
    16. }
    17. if(!isOnline)
    18. {
    19. SendClientMessage(playerid, COLOR_GREY, "Derzeit ist kein Team Mitglied online.");
    20. return 1;
    21. }
    22. // CREATE SUPPORT TICKET
    23. if(GetTicketCount() > MAX_REPORTS)return SendClientMessage(playerid, COLOR_GREY, "Die Team Mitglieder haben momentan zuviele Tickets. Schreibe in einigen Minuten ein neues Ticket!");
    24. if(Spieler[playerid][pReportAktiv] != 0)return SendClientMessage(playerid, COLOR_GREY, "Du bist bereits in einem aktiven Report oder hast ein Ticket erstellt!");
    25. SendClientMessage(playerid, COLOR_GREEN, "Du hast ein Support-Ticket abgeschickt. Bitte gedulde dich nun einen moment.");
    26. format(string, sizeof(string), "%s hat ein Support-Ticket erstellt! (/areport)", GetName(playerid));
    27. SendAdminMessage(COLOR_GREEN, string);
    28. format(string, sizeof(string), "Support-Ticket: "COLOR_HEX_WHITE"%s", input);
    29. SendClientMessage(playerid, COLOR_GREEN, string);
    30. Spieler[playerid][pReportAktiv] = 1;
    31. new ticket = GetFreeTicket();
    32. gSupport[ticket][ticketCreated] = true;
    33. format(gSupport[ticket][ticketMessage], 90, input);
    34. gSupport[ticket][ticketSender] = playerid;
    35. gSupport[ticket][ticketAdmin] = INVALID_PLAYER_ID;
    36. gSupport[ticket][ticketType] = 1;
    37. format(string, sizeof(string), "Offene Tickets: ~g~%d", GetTicketCount());
    38. for(new i=0;i<GetMaxPlayers();i++)
    39. {
    40. if(IsLoggedIn(i))
    41. {
    42. if(Spieler[i][pAdminDuty] == 1)
    43. {
    44. PlayerTextDrawSetString(i, pTextSupport[i][2], string);
    45. }
    46. }
    47. }
    48. if(Spieler[playerid][pReportAktiv] == 1)
    49. {
    50. for(new i=0;i<MAX_REPORTS;i++)
    51. {
    52. if(gSupport[i][ticketCreated])
    53. {
    54. if(gSupport[i][ticketSender] == playerid && Spieler[playerid][pAdmin] == 0)
    55. {
    56. if(gSupport[i][ticketAdmin] != INVALID_PLAYER_ID)
    57. {
    58. if(IsPlayerConnected(gSupport[i][ticketAdmin]))
    59. {
    60. strdel(text, 0, 1);
    61. format(string, sizeof(string), "{21DD00}(( %s: %s ))", GetName(playerid), text);
    62. SendClientMessage(gSupport[i][ticketAdmin], COLOR_WHITE, string);
    63. SendClientMessage(playerid, COLOR_WHITE, string);
    64. return 0;
    65. }
    66. else
    67. {
    68. SendClientMessage(playerid, COLOR_GREY, "* Dein Gegenüber ist offline. Das Ticket wurde gelöscht.");
    69. gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
    70. gSupport[i][ticketSender] = INVALID_PLAYER_ID;
    71. gSupport[i][ticketCreated] = false;
    72. gSupport[i][ticketType] = 0;
    73. strdel(gSupport[i][ticketMessage], 0, 90);
    74. return 0;
    75. }
    76. }
    77. }
    78. else if(gSupport[i][ticketAdmin] == playerid && Spieler[playerid][pAdmin] > 0)
    79. {
    80. if(gSupport[i][ticketSender] != INVALID_PLAYER_ID)
    81. {
    82. if(IsPlayerConnected(gSupport[i][ticketSender]))
    83. {
    84. strdel(text, 0, 1);
    85. format(string, sizeof(string), "{21DD00}(( %s: %s ))", GetName(playerid), text);
    86. SendClientMessage(gSupport[i][ticketSender], COLOR_WHITE, string);
    87. SendClientMessage(playerid, COLOR_WHITE, string);
    88. return 0;
    89. }
    90. else
    91. {
    92. SendClientMessage(playerid, COLOR_GREY, "Dein Gegenüber ist offline. Das Ticket wurde gelöscht.");
    93. gSupport[i][ticketAdmin] = INVALID_PLAYER_ID;
    94. gSupport[i][ticketSender] = INVALID_PLAYER_ID;
    95. gSupport[i][ticketCreated] = false;
    96. gSupport[i][ticketType] = 0;
    97. strdel(gSupport[i][ticketMessage], 0, 90);
    98. for(new a=0;a<GetMaxPlayers();a++)
    99. {
    100. if(Spieler[a][pLoggedIn]){
    101. if(Spieler[a][pAdminDuty] == 1)
    102. {
    103. format(string, sizeof(string), "Offene Tickets: ~g~%d", GetTicketCount());
    104. PlayerTextDrawSetString(a, pTextSupport[a][2], string);
    105. }
    106. }
    107. }
    108. return 0;
    109. }
    110. }
    111. }
    112. }
    113. }
    114. }
    115. return 1;
    116. }
    Alles anzeigen
    Guten Abend,

    Ich habe ein Problem wen ein Admin jetzt das Ticket annimt kann man normal mit /sup Text schreiben aber das funktioniert nicht auch nicht beim User
    mit /sup sollte man auch ein Ticket erstellen können warum?