Ticket wird andaunernd auf ID 0 übertragen.

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 liebe User und Scripter.
    Ich habe ein Problem in meinem GF - Edit.
    Wenn User ein Ticket schreiben (support) kommt das Ticket an, aber wenn ich das Ticket annehme und antworte erscheint die Antwort immer bei "ID 0".
    Hier mal der Support Code.


    dcmd_support(playerid,params[]){
    if(GetPlayerAdmin(playerid) && GetPVarInt(playerid,"Showed")==1){
    new What[32],sID;
    if(!sscanf(params,"sd",What,sID)){
    new Text[178];
    if(sID >= 1 && sID <= sizeof(SupportInfo)){
    sID--;
    if(SupportInfo[sID][Ssys_FromID] == -255)
    return SendClientMessage(playerid,S_COL_GREY,"** Auf dem gewählten Ticket ist keine Nachricht eingegangen...");
    if(strcmp(What,"Accept",true)==0){
    if(SupportInfo[sID][Ssys_Benutzt] != -255)
    return SendClientMessage(playerid,S_COL_GREY,"** Das gewählte Ticket wird bereits bearbeitet.");
    if(SupportInfo[sID][Ssys_Typ] == 1){
    format(Text,sizeof(Text),"~g~[%d]",(sID+1));
    TextDrawSetString(SupportInfo[sID][S_Nummern],Text);
    TextDrawSetString(SupportInfo[sID][S_Text],"~g~Keine Meldung");
    format(Text,sizeof(Text),"[Support-System] | Du hast den Support-Antrag von %s angenommen, du wurdest direkt zu dem Spieler Teleportiert.",sName(SupportInfo[sID][Ssys_FromID]));
    SendClientMessage(playerid,S_COL_YELLOW,Text);
    format(Text,sizeof(Text),"[Support-System] | %s hat deinen Support-Antrag angenommen. Er/Sie steht schon neben dir!",sName(playerid));
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,Text);
    new Float:pPos[3];
    GetPlayerPos(SupportInfo[sID][Ssys_FromID],pPos[0],pPos[1],pPos[2]);
    SetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerInterior(playerid,GetPlayerInterior(SupportInfo[sID][Ssys_FromID]));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(SupportInfo[sID][Ssys_FromID]));
    SupportInfo[sID][Ssys_FromID] = -255;
    return 1;
    }
    if(SupportInfo[sID][Ssys_Typ] == 2){
    format(Text,sizeof(Text),"~g~[%d]",(sID+1));
    TextDrawSetString(SupportInfo[sID][S_Nummern],Text);
    TextDrawSetString(SupportInfo[sID][S_Text],"~g~Keine Meldung");
    format(Text,sizeof(Text),"Die Frage von %s(%i) lautet:\n\n%s\n\nDu kannst direkt auf die Frage antworten oder sie direkt verwerfen!",sName(SupportInfo[sID][Ssys_FromID]),SupportInfo[sID][Ssys_FromID],SupportInfo[sID][Ssys_Text]);
    ShowPlayerDialog(playerid,Dialog_Report_Frage,DIALOG_STYLE_INPUT,"Frage beantworten:",Text,"Antworten","Verwerfen");
    SetPVarInt(playerid,"SupportSystem_AskID",SupportInfo[sID][Ssys_FromID]);
    SupportInfo[sID][Ssys_FromID] = -255;
    }
    if(SupportInfo[sID][Ssys_Typ] == 3){
    SupportInfo[sID][Ssys_Benutzt] = playerid;
    format(Text,sizeof(Text),"~y~[%d]",(sID+1));
    TextDrawSetString(SupportInfo[sID][S_Nummern],Text);
    format(Text,sizeof(Text),"~y~%s (Problem)",Name);
    TextDrawSetString(SupportInfo[sID][S_Text],Text);
    format(Text,sizeof(Text),"[Support-System] | Problem von %s(%i): %s.",sName(SupportInfo[sID][Ssys_FromID]),SupportInfo[sID][Ssys_FromID],SupportInfo[sID][Ssys_Text]);
    SendClientMessage(playerid,S_COL_YELLOW,Text);
    format(Text,sizeof(Text),"[Support-System] | Du kannst mit %s über den normalen Chat sprechen.",Name);
    SendClientMessage(playerid,S_COL_YELLOW,Text);
    format(Text,sizeof(Text),"[Support-System] | %s hat sich dein Problem angenommen.",sName(playerid));
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,Text);
    format(Text,sizeof(Text),"[Support-System] | Du kannst mit %s über den normalen Chat sprechen.",sName(playerid));
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,Text);
    }return 1;
    }
    if(strcmp(What,"Free",true)==0){
    if(SupportInfo[sID][Ssys_Benutzt] == -255) SendClientMessage(playerid,S_COL_GREY,"** Das gewählte Ticket wurde noch nicht bearbeitet.");
    else if(SupportInfo[sID][Ssys_Benutzt] != playerid) SendClientMessage(playerid,S_COL_GREY,"** Du bearbeitest das Ticket nicht!");
    else{
    if(SupportInfo[sID][Ssys_Typ] == 3){
    format(Text,sizeof(Text),"[Support-System] | Dein Ticket wurde von %s wieder für andere Supporter oder Administratoren freigegeben.",sName(playerid));
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,Text);
    SendClientMessage(playerid,S_COL_YELLOW,"** Du hast das Ticket wieder freigegeben.");
    SupportInfo[sID][Ssys_Benutzt] = -255;
    format(Text,sizeof(Text),"~r~[%d]",(sID+1));
    TextDrawSetString(SupportInfo[sID][S_Nummern],Text);
    format(Text,sizeof(Text),"~r~%s (Problem)",sName(SupportInfo[sID][Ssys_FromID]));
    TextDrawSetString(SupportInfo[sID][S_Text],Text);
    }
    }return 1;
    }
    if(strcmp(What,"Delete",true)==0){
    if(SupportInfo[sID][Ssys_Benutzt] == -255) SendClientMessage(playerid,S_COL_GREY,"** Das gewählte Ticket wurde noch nicht bearbeitet.");
    else if(SupportInfo[sID][Ssys_Benutzt] != playerid) SendClientMessage(playerid,S_COL_GREY,"** Du bearbeitest das Ticket nicht!");
    else{
    if(SupportInfo[sID][Ssys_Typ] == 3){
    format(Text,sizeof(Text),"[Support-System] | Dein Ticket wurde von %s geschlossen.",sName(playerid));
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,Text);
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,"[Support-System] | Vielen dank das du unser Support-System genutzt hast.");
    SendClientMessage(SupportInfo[sID][Ssys_FromID],S_COL_YELLOW,"[Support-System] | Wir wünschen dir noch viel spaß & viel erfolg auf unseren Server, auf wiedersehen.");
    SendClientMessage(playerid,S_COL_YELLOW,"** Du hast das Ticket gelöscht.");
    SupportInfo[sID][Ssys_Benutzt] = -255;
    format(Text,sizeof(Text),"~g~[%d]",(sID+1));
    TextDrawSetString(SupportInfo[sID][S_Nummern],Text);
    TextDrawSetString(SupportInfo[sID][S_Text],"~g~Keine Meldung");
    SupportInfo[sID][Ssys_FromID] = -255;
    }
    }return 1;
    }
    SendClientMessage(playerid,S_COL_GREY,"Fehler! Nur: Accept,Free,Delete");
    return 1;
    }else{
    format(Text,sizeof(Text),"Tickets nur von '1' bis '%d'",sizeof(SupportInfo));
    SendClientMessage(playerid,S_COL_GREY,Text);
    return 1;
    }
    }else return SendClientMessage(playerid,S_COL_GREY,"Benutze: '/Support [Accept/Free/Delete] [Ticket-ID]'");
    }
    for(new si;si<sizeof(SupportInfo);si++){
    if(SupportInfo[si][Ssys_FromID] == playerid){
    return SendClientMessage(playerid,S_COL_GREY,"** Du hast bereits ein Ticket eröffnet, warte bis es bearbeitet wurde.");
    }
    }return ShowPlayerDialog(playerid,Dialog_Report_Liste,DIALOG_STYLE_LIST,"Was ist dein Anliegen?","Ich bin neu und möchte Betreut werden!\nIch habe eine Frage!\nIch habe ein Problem (Haus, Auto, Fraktion, ect.)\nIch möchte einen Spieler Melden (Bitte nicht Ausnutzen!)","Weiter","Verlassen");
    }

  • Wenn dort steht das man mit ihm normal schreiben kann steht dies bei OnPlayerText und nicht direkt im command dort hast du doch nur die Variabel gesetzt


    Leider geschieht das nicht, das man im normalen Chat schreiben kann.
    Wie gesagt, man antwortet mit /support accept [TICKETID]
    Dann öffnet sich ein Dialog wo man seine Antwort schreibt und Absendet.
    Aber die geht nicht an den Ticket-ersteller sondern immer an SpielerID "0"

  • dann füg den Dialog auch mal hinzu weil hier sehe ich nix was dem spieler einen text welchen du geschrieben hast zusendet , wenn doch dann sollte ich mir doch mal ein Brille besorgen ^^
    aber seit wann wird bei sscanf ein if(!sscanf(params ! verwendet das bedeutet alles außer


    /edit at SunRise bissle besser lesen "Aber die geht nicht an den Ticket-ersteller sondern immer an SpielerID "0" " willst den bot zu spammen und den Id 0 bug ist ein fehler von den Schleifen welche nicht bei 0 beginnt

  • Setz wenn es gar nicht anders geht einen NPC Bot auf ID:0 ;)


    Funktioniert nicht, wenn ich den Bot nehme bekommt er die Ticket Antwort :D

  • Müsste in einen von den Publics glaube ich sein.


    forward Init_SUP();
    public Init_SUP(){
    AntiDeAMX();
    SupportBubble=TextDrawCreate(502.5,135.0,"~w~Meldungen:~N~_~N~_~N~_~N~_~N~_~N~_~N~_~N~_");
    TextDrawFont(SupportBubble,2);
    TextDrawSetProportional(SupportBubble,1);
    TextDrawLetterSize(SupportBubble,0.45,1.6);
    TextDrawUseBox(SupportBubble,true);
    TextDrawBoxColor(SupportBubble,0x00000077);
    TextDrawSetShadow(SupportBubble,false);
    new Float:S_TextPos=0.0,S_NumText[12],S_Nums=1;
    new si; while(si<sizeof(SupportInfo)){
    SupportInfo[si][Ssys_Benutzt] = -255;
    SupportInfo[si][Ssys_FromID] = -255;
    format(S_NumText,sizeof(S_NumText),"~g~[%d]",S_Nums);
    SupportInfo[si][S_Nummern]=TextDrawCreate(502.5,150.0+S_TextPos,S_NumText);
    TextDrawFont(SupportInfo[si][S_Nummern],1);
    TextDrawSetProportional(SupportInfo[si][S_Nummern],1);
    TextDrawLetterSize(SupportInfo[si][S_Nummern],0.18,0.8);
    TextDrawSetShadow(SupportInfo[si][S_Nummern],0);
    SupportInfo[si][S_Text]=TextDrawCreate(518.0,150.0+S_TextPos,"~g~Keine Meldung");
    TextDrawFont(SupportInfo[si][S_Text],1);
    TextDrawSetProportional(SupportInfo[si][S_Text],1);
    TextDrawLetterSize(SupportInfo[si][S_Text],0.18,0.8);
    TextDrawSetShadow(SupportInfo[si][S_Text],0);
    S_TextPos+=5.75;
    S_Nums++;
    si++;
    }
    for(new i;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    SetPVarInt(i,"Showed",0);
    }
    }
    return 1;
    }
    forward Exit_Sup();
    public Exit_Sup()
    {
    for(new i;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    if(GetPVarInt(i,"Showed")==1){
    TextDrawHideForPlayer(i,SupportBubble);
    for(new si;si<sizeof(SupportInfo);si++){
    TextDrawHideForPlayer(i,SupportInfo[si][S_Text]);
    TextDrawHideForPlayer(i,SupportInfo[si][S_Nummern]);
    }
    }
    DeletePVar(i,"Showed");
    }
    }
    TextDrawDestroy(SupportBubble);
    for(new si;si<sizeof(SupportInfo);si++){
    TextDrawDestroy(SupportInfo[si][S_Text]);
    TextDrawDestroy(SupportInfo[si][S_Nummern]);
    }
    }
    forward Sup_p_Disconnect(playerid);
    public Sup_p_Disconnect(playerid)
    {
    new Query[255];
    for(new si;si<sizeof(SupportInfo);si++){
    if(SupportInfo[si][Ssys_FromID] == playerid){
    format(Query,sizeof(Query),"~g~[%d]",(si+1));
    TextDrawSetString(SupportInfo[si][S_Nummern],Query);
    TextDrawSetString(SupportInfo[si][S_Text],"~g~Keine Meldung");
    if(SupportInfo[si][Ssys_Benutzt] != -255){
    if(IsPlayerConnected(SupportInfo[si][Ssys_Benutzt])){
    format(Query,sizeof(Query),"[Support-System] | %s hat sich ausgeloggt, dass Ticket wurde automatisch geschlossen.",sName(playerid));
    SendClientMessage(SupportInfo[si][Ssys_Benutzt],S_COL_YELLOW,Query);
    }
    }
    SupportInfo[si][Ssys_Benutzt] = -255;
    SupportInfo[si][Ssys_FromID] = -255;
    }
    if(SupportInfo[si][Ssys_Benutzt] == playerid){
    format(Query,sizeof(Query),"~r~[%d]",(si+1));
    TextDrawSetString(SupportInfo[si][S_Nummern],Query);
    format(Query,sizeof(Query),"~r~%s (Problem)",sName(SupportInfo[si][Ssys_FromID]));
    TextDrawSetString(SupportInfo[si][S_Text],Query);
    if(IsPlayerConnected(SupportInfo[si][Ssys_FromID])){
    format(Query,sizeof(Query),"[Support-System] | %s hat sich ausgeloggt, das Ticket wurde automatisch wieder für andere Supporter & Administratoren freigegeben.",sName(playerid));
    SendClientMessage(SupportInfo[si][Ssys_FromID],S_COL_YELLOW,Query);
    }
    SupportInfo[si][Ssys_Benutzt] = -255;
    }
    }
    if(GetPVarInt(playerid,"Showed")==1){
    TextDrawHideForPlayer(playerid,SupportBubble);
    for(new si;si<sizeof(SupportInfo);si++){
    TextDrawHideForPlayer(playerid,SupportInfo[si][S_Text]);
    TextDrawHideForPlayer(playerid,SupportInfo[si][S_Nummern]);
    }
    }
    DeletePVar(playerid,"Showed");
    }
    forward Supp_OnPlayerText(playerid, text[]);
    public Supp_OnPlayerText(playerid, text[]){
    new Text[255];
    for(new si;si<sizeof(SupportInfo);si++){
    if(SupportInfo[si][Ssys_Typ] == 3){
    if(SupportInfo[si][Ssys_FromID] == playerid && SupportInfo[si][Ssys_Benutzt] != -255){
    format(Text,sizeof(Text),"[Support-System] | %s: %s",sName(playerid),text);
    SendClientMessage(SupportInfo[si][Ssys_Benutzt],S_COL_YELLOW,Text);
    }
    else if(SupportInfo[si][Ssys_Benutzt] == playerid){
    format(Text,sizeof(Text),"[Support-System] | %s: %s",sName(playerid),text);
    SendClientMessage(SupportInfo[si][Ssys_FromID],S_COL_YELLOW,Text);
    }
    }
    }
    }

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