Sup System Hilfe

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 Community ich wollte ein Support System machen,die Grundlagen habe ich bereits,aber ich weiß nicht wie ich weiter machen soll,kann mir vllt. jemand helfen=

    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == Sup8)
    {
    ShowPlayerDialog(playerid,DIALOG_BUGMELDEN,DIALOG_STYLE_INPUT,"Bug melden","Bitte gebe hier den Bug ein:","OK","");
    }
    if(clickedid == Sup7)
    {
    ShowPlayerDialog(playerid,DIALOG_CHEATER,DIALOG_STYLE_INPUT,"Cheater melden","Bitte gebe hier den Cheater ein:","OK","");
    }
    if(clickedid == Sup6)
    {
    ShowPlayerDialog(playerid,DIALOG_BESCHWERDE,DIALOG_STYLE_INPUT,"Beschwerde","Gib hier deine Beschwerde ein:","OK","");
    }
    if(clickedid == Sup4)
    {
    ShowPlayerDialog(playerid,DIALOG_SUPFRAGE,DIALOG_STYLE_INPUT,"Frage","Gib hier nun deine Frage ein:","OK","");
    }
    TextDrawHideForPlayer(playerid,Sup1);
    TextDrawHideForPlayer(playerid,Sup2);
    TextDrawHideForPlayer(playerid,Sup3);
    TextDrawHideForPlayer(playerid,Sup4);
    TextDrawHideForPlayer(playerid,Sup5);
    TextDrawHideForPlayer(playerid,Sup6);
    TextDrawHideForPlayer(playerid,Sup7);
    TextDrawHideForPlayer(playerid,Sup8);
    TextDrawHideForPlayer(playerid,Sup9);
    TextDrawHideForPlayer(playerid,Sup10);
    TextDrawHideForPlayer(playerid,Sup11);
    CancelSelectTextDraw(playerid);
    }
    return 1;
    }

    ocmd:report(playerid,params[])
    {
    SendClientMessage(playerid,Rot,""COLB"Klicke das jeweilige Thema an, was du Reporten willst!");
    TextDrawShowForPlayer(playerid,Sup1);
    TextDrawShowForPlayer(playerid,Sup2);
    TextDrawShowForPlayer(playerid,Sup3);
    TextDrawShowForPlayer(playerid,Sup4);
    TextDrawShowForPlayer(playerid,Sup5);
    TextDrawShowForPlayer(playerid,Sup6);
    TextDrawShowForPlayer(playerid,Sup7);
    TextDrawShowForPlayer(playerid,Sup8);
    TextDrawShowForPlayer(playerid,Sup9);
    TextDrawShowForPlayer(playerid,Sup10);
    TogglePlayerControllable(playerid,0);
    SelectTextDraw(playerid, 0x00FF00FF);
    return 0;
    }



    ocmd:aduty(playerid,params[]) {
    new stringlabel[128],string[128],string1[128]; //WTF 512 ist bei weitem zuviel
    if(SpielerInfo[playerid][pAdminlevel] < 1) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 1");
    if(!GetPVarInt(playerid, "aDuty"))
    {
    new tn[32];
    switch(SpielerInfo[playerid][pAdminlevel])
    {
    case 1:tn = "Probe Supporter";
    case 2:tn = "Supporter";
    case 3:tn = "Moderator";
    case 4:tn = "Adminstrator";
    case 5:tn = "Manager";
    case 6:tn = "Leitung";
    }
    TextDrawShowForPlayer(playerid,Text:Sup12);
    TextDrawShowForPlayer(playerid,Text:Sup13);
    TextDrawShowForPlayer(playerid,Text:Sup14);
    TextDrawShowForPlayer(playerid,Text:Sup15);
    TextDrawShowForPlayer(playerid,Text:Sup16);
    TextDrawShowForPlayer(playerid,Text:Sup17);
    format(string,sizeof(string),""COLO"[%s]%s "COLB"ist in dem Admindienst gegangen!",adminrang(playerid),GetName(playerid));
    SendClientMessageToAll(Rot,string);
    SetPVarInt(playerid, "oldSkin", GetPlayerSkin(playerid));
    SetPlayerSkin(playerid, 278);
    SetPlayerHealth(playerid,100000);
    SetPlayerArmour(playerid,100000);
    format(stringlabel, sizeof(stringlabel), ""COLP"%s ist im Dienst.", tn);
    setlabel[playerid] = Create3DTextLabel(stringlabel, Rot, 30.0, 40.0, 50.0, 40.0, 0, 0);
    Attach3DTextLabelToPlayer(setlabel[playerid], playerid, 0.0, 0.0, 0.7);
    SetPVarInt(playerid, "aDuty", 1);
    }
    else
    {
    TextDrawHideForPlayer(playerid,Text:Sup12);
    TextDrawHideForPlayer(playerid,Text:Sup13);
    TextDrawHideForPlayer(playerid,Text:Sup14);
    TextDrawHideForPlayer(playerid,Text:Sup15);
    TextDrawHideForPlayer(playerid,Text:Sup16);
    TextDrawHideForPlayer(playerid,Text:Sup17);
    format(string1,sizeof(string1),""COLO"[%s]%s "COLB"ist aus dem Admindienst gegangen!",adminrang(playerid),GetName(playerid));
    SendClientMessageToAll(Rot,string1);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    SetPlayerSkin(playerid, GetPVarInt(playerid, "oldSkin"));
    DeletePVar(playerid, "oldSkin"),
    DeletePVar(playerid, "aDuty");
    Delete3DTextLabel(setlabel[playerid]);
    }
    return 1;
    }


    Die verschiedenen Punkte also Bug,Beschwerden,Supfrage und Cheater sollten Adminlevel abhängig sein:
    Supfrage ab ALevel 1
    Beschwerden und Bug ab ALevel 3
    Bug ab Level 4
    Ich weiß nicht wie ich das in MYSQL speichern soll die Report's und die TextDraws updaten soll usw. ich bitte um hilfe :)

  • Also ich habe Rechts an der Seite stehen für Admin's die Aduty sind:
    Supfragen: 0
    Beschwerden :0
    Bug's: 0
    Cheater: 0
    Und das soll nur angezeigt werden wenn der Admin das Adminlevel hat
    Und die Textdraws möchte ich auch updaten wenn Ticket's reinkommen.
    Ich weiß auch nicht wie ich die befehle /reportannehmen etc. mache

  • Dann zeige uns bitte, wie du die Textdraws momentan den Spielern anzeigst, und unter welchem Callback das steht.
    Wenn die Aktualisierung noch nicht klappt, poste auch die Stelle, an der es aktualisiert wird, bzw. werden soll.


    Dann gehen wir das Schritt für Schritt durch, nicht alles auf einmal.

  • Wenn die Spieler /report eingeben kommt das:
    ocmd:report(playerid,params[])
    {
    SendClientMessage(playerid,Rot,""COLB"Klicke das jeweilige Thema an, was du Reporten willst!");
    TextDrawShowForPlayer(playerid,Sup1);
    TextDrawShowForPlayer(playerid,Sup2);
    TextDrawShowForPlayer(playerid,Sup3);
    TextDrawShowForPlayer(playerid,Sup4);
    TextDrawShowForPlayer(playerid,Sup5);
    TextDrawShowForPlayer(playerid,Sup6);
    TextDrawShowForPlayer(playerid,Sup7);
    TextDrawShowForPlayer(playerid,Sup8);
    TextDrawShowForPlayer(playerid,Sup9);
    TextDrawShowForPlayer(playerid,Sup10);
    TogglePlayerControllable(playerid,0);
    SelectTextDraw(playerid, 0x00FF00FF);
    return 0;
    }
    //und:
    Sup1 = TextDrawCreate(461.200622, 123.953300, "usebox");
    TextDrawLetterSize(Sup1, 0.000000, 27.724819);
    TextDrawTextSize(Sup1, 169.999694, 0.000000);
    TextDrawAlignment(Sup1, 1);
    TextDrawColor(Sup1, 0);
    TextDrawUseBox(Sup1, true);
    TextDrawBoxColor(Sup1, 255);
    TextDrawSetShadow(Sup1, 0);
    TextDrawSetOutline(Sup1, 0);
    TextDrawFont(Sup1, 0);


    Sup2 = TextDrawCreate(176.400009, 149.339996, "usebox");
    TextDrawLetterSize(Sup2, 0.000000, 1.176663);
    TextDrawTextSize(Sup2, 454.799987, 0.000000);
    TextDrawAlignment(Sup2, 1);
    TextDrawColor(Sup2, 0);
    TextDrawUseBox(Sup2, true);
    TextDrawBoxColor(Sup2, 16777215);
    TextDrawSetShadow(Sup2, 0);
    TextDrawSetOutline(Sup2, 0);
    TextDrawFont(Sup2, 0);


    Sup3 = TextDrawCreate(199.199905, 125.439941, "[]Support System[]");
    TextDrawLetterSize(Sup3, 0.449999, 1.600000);
    TextDrawAlignment(Sup3, 1);
    TextDrawColor(Sup3, -5963521);
    TextDrawSetShadow(Sup3, 0);
    TextDrawSetOutline(Sup3, 0);
    TextDrawBackgroundColor(Sup3, 51);
    TextDrawFont(Sup3, 2);
    TextDrawSetProportional(Sup3, 1);


    Sup4 = TextDrawCreate(178.399810, 173.226699, "[]Support Frage");
    TextDrawLetterSize(Sup4, 0.449999, 1.600000);
    TextDrawAlignment(Sup4, 1);
    TextDrawColor(Sup4, -1);
    TextDrawSetShadow(Sup4, 0);
    TextDrawSetOutline(Sup4, 1);
    TextDrawBackgroundColor(Sup4, 51);
    TextDrawFont(Sup4, 2);
    TextDrawSetProportional(Sup4, 1);
    TextDrawSetSelectable(Sup4, true);


    Sup5 = TextDrawCreate(177.200012, 362.887145, "usebox");
    TextDrawLetterSize(Sup5, 0.000000, 1.176663);
    TextDrawTextSize(Sup5, 454.799926, 0.000000);
    TextDrawAlignment(Sup5, 1);
    TextDrawColor(Sup5, 0);
    TextDrawUseBox(Sup5, true);
    TextDrawBoxColor(Sup5, 16777215);
    TextDrawSetShadow(Sup5, 0);
    TextDrawSetOutline(Sup5, 0);
    TextDrawFont(Sup5, 0);


    Sup6 = TextDrawCreate(178.399902, 207.573593, "[]Beschwerde");
    TextDrawLetterSize(Sup6, 0.449999, 1.600000);
    TextDrawAlignment(Sup6, 1);
    TextDrawColor(Sup6, -1);
    TextDrawSetShadow(Sup6, 0);
    TextDrawSetOutline(Sup6, 1);
    TextDrawBackgroundColor(Sup6, 51);
    TextDrawFont(Sup6, 2);
    TextDrawSetProportional(Sup6, 1);
    TextDrawSetSelectable(Sup6, true);


    Sup7 = TextDrawCreate(178.400009, 244.906631, "[]Cheater melden");
    TextDrawLetterSize(Sup7, 0.449999, 1.600000);
    TextDrawAlignment(Sup7, 1);
    TextDrawColor(Sup7, -1);
    TextDrawSetShadow(Sup7, 0);
    TextDrawSetOutline(Sup7, 1);
    TextDrawBackgroundColor(Sup7, 51);
    TextDrawFont(Sup7, 2);
    TextDrawSetProportional(Sup7, 1);
    TextDrawSetSelectable(Sup7, true);


    Sup8 = TextDrawCreate(177.599929, 282.986633, "[]Bug melden");
    TextDrawLetterSize(Sup8, 0.449999, 1.600000);
    TextDrawAlignment(Sup8, 1);
    TextDrawColor(Sup8, -1);
    TextDrawSetShadow(Sup8, 0);
    TextDrawSetOutline(Sup8, 1);
    TextDrawBackgroundColor(Sup8, 51);
    TextDrawFont(Sup8, 2);
    TextDrawSetProportional(Sup8, 1);
    TextDrawSetSelectable(Sup8, true);


    Sup9 = TextDrawCreate(461.200012, 149.339996, "usebox");
    TextDrawLetterSize(Sup9, 0.000000, 24.987035);
    TextDrawTextSize(Sup9, 439.600036, 0.000000);
    TextDrawAlignment(Sup9, 1);
    TextDrawColor(Sup9, 0);
    TextDrawUseBox(Sup9, true);
    TextDrawBoxColor(Sup9, 16777215);
    TextDrawSetShadow(Sup9, 0);
    TextDrawSetOutline(Sup9, 0);
    TextDrawFont(Sup9, 0);


    Sup10 = TextDrawCreate(190.799987, 150.086685, "usebox");
    TextDrawLetterSize(Sup10, 0.000000, 24.987035);
    TextDrawTextSize(Sup10, 169.999969, 0.000000);
    TextDrawAlignment(Sup10, 1);
    TextDrawColor(Sup10, 0);
    TextDrawUseBox(Sup10, true);
    TextDrawBoxColor(Sup10, 16777215);
    TextDrawSetShadow(Sup10, 0);
    TextDrawSetOutline(Sup10, 0);
    TextDrawFont(Sup10, 0);
    Das mit dem Updaten etc. hab ich nicht,weil ich nicht weiß wie ich das angehen , soll. Deswegen auch der Therad weil ich gerne anhaltspunkte haben möchte,
    wie ich da rangehen muss und was ich dafür brauche etc.

  • Ok, das ist recht wenig.
    Dann gehe vorerst mal so vor: (Beispiel Cheater)


    Dort wo ein Cheater gemeldet wird:
    gVarCheater++;
    new string[32];
    format(string, sizeof(string), "[]Cheater melden", gVarCheater);
    TextDrawSetString(Sup7, string);


    Global unter die Includes:
    new gVarCheater;


    Die Textdraws zeigst du beim Login je nach Admin-Level an:
    if(SpielerInfo[playerid][AdminLevel] > 1) TextDrawShowForPlayer(...);
    if(SpielerInfo[playerid][AdminLevel] > 2) TextDrawShowForPlayer(...);
    //...


    Bau das mal so ein, für alle deine "Themen" an Reports, und schau wie du voran kommst.

  • Habe das ganze jetzt soweit:
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == Sup8)
    {
    ShowPlayerDialog(playerid,DIALOG_BUGMELDEN,DIALOG_STYLE_INPUT,"Bug melden","Bitte gebe hier den Bug ein:","OK","");
    gVarBugs++;
    new string[32];
    format(string, sizeof(string), "Bug's: 0", gVarBugs);
    TextDrawSetString(Sup14, string);
    }
    if(clickedid == Sup7)
    {
    ShowPlayerDialog(playerid,DIALOG_CHEATER,DIALOG_STYLE_INPUT,"Cheater melden","Bitte gebe hier den Cheater ein:","OK","");
    gVarCheater++;
    new string[32];
    format(string, sizeof(string), "Cheater: 0", gVarCheater);
    TextDrawSetString(Sup15, string);
    }
    if(clickedid == Sup6)
    {
    ShowPlayerDialog(playerid,DIALOG_BESCHWERDE,DIALOG_STYLE_INPUT,"Beschwerde","Gib hier deine Beschwerde ein:","OK","");
    gVarBeschwerden++;
    new string[32];
    format(string, sizeof(string), "Beschwerden: 0", gVarBugs);
    TextDrawSetString(Sup13, string);
    }
    if(clickedid == Sup4)
    {
    ShowPlayerDialog(playerid,DIALOG_SUPFRAGE,DIALOG_STYLE_INPUT,"Frage","Gib hier nun deine Frage ein:","OK","");
    gVarSupfragen++;
    new string[32];
    format(string, sizeof(string), "SupFragen: 0", gVarBugs);
    TextDrawSetString(Sup12, string);
    }
    TextDrawHideForPlayer(playerid,Sup1);
    TextDrawHideForPlayer(playerid,Sup2);
    TextDrawHideForPlayer(playerid,Sup3);
    TextDrawHideForPlayer(playerid,Sup4);
    TextDrawHideForPlayer(playerid,Sup5);
    TextDrawHideForPlayer(playerid,Sup6);
    TextDrawHideForPlayer(playerid,Sup7);
    TextDrawHideForPlayer(playerid,Sup8);
    TextDrawHideForPlayer(playerid,Sup9);
    TextDrawHideForPlayer(playerid,Sup10);
    TextDrawHideForPlayer(playerid,Sup11);
    CancelSelectTextDraw(playerid);
    }
    return 1;
    }

    ocmd:aduty(playerid,params[]) {
    new stringlabel[128],string[128],string1[128]; //WTF 512 ist bei weitem zuviel
    if(SpielerInfo[playerid][pAdminlevel] < 1) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 1");
    if(!GetPVarInt(playerid, "aDuty"))
    {
    new tn[32];
    switch(SpielerInfo[playerid][pAdminlevel])
    {
    case 1:tn = "Probe Supporter";
    case 2:tn = "Supporter";
    case 3:tn = "Moderator";
    case 4:tn = "Adminstrator";
    case 5:tn = "Manager";
    case 6:tn = "Leitung";
    }
    if(SpielerInfo[playerid][pAdminlevel] < 1) TextDrawShowForPlayer(playerid,Text:Sup12);
    if(SpielerInfo[playerid][pAdminlevel] < 3) TextDrawShowForPlayer(playerid,Text:Sup13);
    if(SpielerInfo[playerid][pAdminlevel] < 5) TextDrawShowForPlayer(playerid,Text:Sup14);
    if(SpielerInfo[playerid][pAdminlevel] < 3) TextDrawShowForPlayer(playerid,Text:Sup15);
    TextDrawShowForPlayer(playerid,Text:Sup16);
    TextDrawShowForPlayer(playerid,Text:Sup17);
    format(string,sizeof(string),""COLO"[%s]%s "COLB"ist in dem Admindienst gegangen!",adminrang(playerid),GetName(playerid));
    SendClientMessageToAll(Rot,string);
    SetPVarInt(playerid, "oldSkin", GetPlayerSkin(playerid));
    SetPlayerSkin(playerid, 278);
    SetPlayerHealth(playerid,100000);
    SetPlayerArmour(playerid,100000);
    format(stringlabel, sizeof(stringlabel), ""COLP"%s ist im Dienst.", tn);
    setlabel[playerid] = Create3DTextLabel(stringlabel, Rot, 30.0, 40.0, 50.0, 40.0, 0, 0);
    Attach3DTextLabelToPlayer(setlabel[playerid], playerid, 0.0, 0.0, 0.7);
    SetPVarInt(playerid, "aDuty", 1);
    }
    else
    {
    TextDrawHideForPlayer(playerid,Text:Sup12);
    TextDrawHideForPlayer(playerid,Text:Sup13);
    TextDrawHideForPlayer(playerid,Text:Sup14);
    TextDrawHideForPlayer(playerid,Text:Sup15);
    TextDrawHideForPlayer(playerid,Text:Sup16);
    TextDrawHideForPlayer(playerid,Text:Sup17);
    format(string1,sizeof(string1),""COLO"[%s]%s "COLB"ist aus dem Admindienst gegangen!",adminrang(playerid),GetName(playerid));
    SendClientMessageToAll(Rot,string1);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    SetPlayerSkin(playerid, GetPVarInt(playerid, "oldSkin"));
    DeletePVar(playerid, "oldSkin"),
    DeletePVar(playerid, "aDuty");
    Delete3DTextLabel(setlabel[playerid]);
    }
    return 1;
    }
    new gVarCheater;
    new gVarSupfragen;
    new gVarBeschwerden;
    new gVarBugs;

  • format(string, sizeof(string), "Cheater: 0", gVarCheater);
    zu:
    format(string, sizeof(string), "Cheater: %d", gVarCheater);
    (Analog für die anderen)



    Beim Anzeigen der Textdraws:
    if(SpielerInfo[playerid][pAdminlevel] < 1)
    zu:
    if(SpielerInfo[playerid][pAdminlevel] > 1)
    (Analog für die anderen)



    Nächstes mal beschreibe bitte die auftretenden Probleme. ;)

  • Das man Rechts auf den Textdraw's klicken kann:
    Sup12 = TextDrawCreate(527.199890, 389.760131, "SupFragen: 0");
    TextDrawLetterSize(Sup12, 0.449999, 1.600000);
    TextDrawAlignment(Sup12, 1);
    TextDrawColor(Sup12, -5963521);
    TextDrawSetShadow(Sup12, 0);
    TextDrawSetOutline(Sup12, 1);
    TextDrawBackgroundColor(Sup12, 51);
    TextDrawFont(Sup12, 1);
    TextDrawSetProportional(Sup12, 1);


    Sup13 = TextDrawCreate(510.400024, 405.440246, "Beschwerden: 0");
    TextDrawLetterSize(Sup13, 0.449999, 1.600000);
    TextDrawAlignment(Sup13, 1);
    TextDrawColor(Sup13, -5963521);
    TextDrawSetShadow(Sup13, 0);
    TextDrawSetOutline(Sup13, 1);
    TextDrawBackgroundColor(Sup13, 51);
    TextDrawFont(Sup13, 1);
    TextDrawSetProportional(Sup13, 1);


    Sup14 = TextDrawCreate(565.599975, 356.159973, "Bug's: 0");
    TextDrawLetterSize(Sup14, 0.449999, 1.600000);
    TextDrawAlignment(Sup14, 1);
    TextDrawColor(Sup14, -5963521);
    TextDrawSetShadow(Sup14, 0);
    TextDrawSetOutline(Sup14, 1);
    TextDrawBackgroundColor(Sup14, 51);
    TextDrawFont(Sup14, 1);
    TextDrawSetProportional(Sup14, 1);


    Sup15 = TextDrawCreate(547.200012, 373.333557, "Cheater: 0");
    TextDrawLetterSize(Sup15, 0.449999, 1.600000);
    TextDrawAlignment(Sup15, 1);
    TextDrawColor(Sup15, -5963521);
    TextDrawSetShadow(Sup15, 0);
    TextDrawSetOutline(Sup15, 1);
    TextDrawBackgroundColor(Sup15, 51);
    TextDrawFont(Sup15, 1);
    TextDrawSetProportional(Sup15, 1);
    Und eine Liste angezeigt wird von den jeweiligen Themen,sprich:
    ShowPlayerDialog(Cheater Reports)
    ShowDialog(SupFragen Reports)
    usw.

  • Und eine Liste angezeigt wird von den jeweiligen Themen,sprich:


    Du hast ja jetzt aber gar nichts gemacht, oder? Das ganze System kann ich dir nicht schreiben, das ist viel zu viel.
    Arbeite dich Schritt für Schritt erst mal durch, und erstelle die Codes.


    Für das Anklicken der Textdraws:
    http://wiki.sa-mp.com/wiki/SelectTextDraw
    http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw


    Für die Dialoge nutzt du das Tutorial von mir:
    [ SCRIPTING ] [jTuT] Interaktive Dialoge
    Items hinzufügen an der Stelle, an der ein Report hinzukommt.
    Items entfernen, wenn ein Item nach dem Anklicken des Textdraws ausgewählt und bearbeitet worden ist.

  • public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == Sup8)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_BUGMELDEN,DIALOG_STYLE_INPUT,"Bug melden","Bitte gebe hier den Bug ein:","OK","");
    gVarBugs++;
    new string[32];
    format(string, sizeof(string), "Bug's: %d", gVarBugs);
    TextDrawSetString(Sup14, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup7)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_CHEATER,DIALOG_STYLE_INPUT,"Cheater melden","Bitte gebe hier den Cheater ein:","OK","");
    gVarCheater++;
    new string[32];
    format(string, sizeof(string), "Cheater: %d", gVarCheater);
    TextDrawSetString(Sup15, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup6)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_BESCHWERDE,DIALOG_STYLE_INPUT,"Beschwerde","Gib hier deine Beschwerde ein:","OK","");
    gVarBeschwerden++;
    new string[32];
    format(string, sizeof(string), "Beschwerden: %d", gVarBugs);
    TextDrawSetString(Sup13, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup4)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_SUPFRAGE,DIALOG_STYLE_INPUT,"Frage","Gib hier nun deine Frage ein:","OK","");
    gVarSupfragen++;
    new string[32];
    format(string, sizeof(string), "SupFragen: %d", gVarBugs);
    TextDrawSetString(Sup12, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    }
    if(clickedid == Sup16)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup14)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    if(clickedid == Sup13)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 2) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 2");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    }
    if(clickedid == Sup12)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 1) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 1");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    }
    TextDrawHideForPlayer(playerid,Sup1);
    TextDrawHideForPlayer(playerid,Sup2);
    TextDrawHideForPlayer(playerid,Sup3);
    TextDrawHideForPlayer(playerid,Sup4);
    TextDrawHideForPlayer(playerid,Sup5);
    TextDrawHideForPlayer(playerid,Sup6);
    TextDrawHideForPlayer(playerid,Sup7);
    TextDrawHideForPlayer(playerid,Sup8);
    TextDrawHideForPlayer(playerid,Sup9);
    TextDrawHideForPlayer(playerid,Sup10);
    TextDrawHideForPlayer(playerid,Sup11);
    CancelSelectTextDraw(playerid);
    TogglePlayerControllable(playerid,1);
    }
    return 1;
    }
    So habe ich das ganze zurzeit Errors:
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2214) : warning 217: loose indentation
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2216) : warning 219: local variable "string" shadows a variable at a preceding level
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2219) : warning 219: local variable "i" shadows a variable at a preceding level
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2232) : warning 217: loose indentation
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2234) : warning 219: local variable "string" shadows a variable at a preceding level
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2263) : warning 209: function "OnPlayerClickTextDraw" should return a value
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(2264) : error 010: invalid function or declaration
    C:\Users\kevin\Desktop\server\gamemodes\self2.pwn(276) : warning 204: symbol is assigned a value that is never used: "stadthallenpoint"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    new gVarCheater;
    new gVarSupfragen;
    new gVarBeschwerden;
    new gVarBugs;


    enum SupDaten
    {
    UhatTicket, //Ob User Ticket hat
    ShatTicket, //Ob Admin Ticket hat
    inTicket, // Wenn ein Spieler im Telefonat ist
    offenTicket, //Tickets die offen sind
    snachricht[128],//Ticketnachricht
    suppartner
    }
    new SupInfo[MAX_PLAYERS][SupDaten];


    new supticket[128];
    if(SupInfo[playerid][inTicket] == 1) // Falls der Spieler in einem Telefonat ist
    {
    if(SpielerInfo[playerid][pAdminlevel]<1)
    {
    format(supticket, sizeof supticket, "[Sup-Ticket] %s: %s", GetName(playerid), text); // String wird mit Inhalt gefüllt
    SendClientMessage(SupInfo[playerid][suppartner], Rot, supticket); // Message wird an den Partner
    SendClientMessage(playerid, Rot, supticket); // ... und an sich selbst geschickt
    }
    if(SpielerInfo[playerid][pAdminlevel]>0)
    {
    format(supticket, sizeof supticket, "[Sup-Ticket] Admin %s: %s", GetName(playerid), text); // String wird mit Inhalt gefüllt
    SendClientMessage(SupInfo[playerid][suppartner], Rot, supticket); // Message wird an den Partner
    SendClientMessage(playerid, Rot, supticket); // ... und an sich selbst geschickt
    }
    return 0; // return 0!!! return 1; würde dazu führen, dass nicht nur diese Messages ausgegeben werden, sondern auch die allgemein SAMP Chat Message. Das wollen wir nicht
    }

    Einmal editiert, zuletzt von [PeL]Smiley ()

  • Es ist wirklich kaum möglich dir so zu helfen, da ich die Fehler erst mal suchen musste.
    Ich hab dir mal die ganzen Klammerfehler behoben, teste es mal so:
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW)
    {
    if(clickedid == Sup8)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_BUGMELDEN,DIALOG_STYLE_INPUT,"Bug melden","Bitte gebe hier den Bug ein:","OK","");
    gVarBugs++;
    new string[32];
    format(string, sizeof(string), "Bug's: %d", gVarBugs);
    TextDrawSetString(Sup14, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup7)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_CHEATER,DIALOG_STYLE_INPUT,"Cheater melden","Bitte gebe hier den Cheater ein:","OK","");
    gVarCheater++;
    new string[32];
    format(string, sizeof(string), "Cheater: %d", gVarCheater);
    TextDrawSetString(Sup15, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup6)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_BESCHWERDE,DIALOG_STYLE_INPUT,"Beschwerde","Gib hier deine Beschwerde ein:","OK","");
    gVarBeschwerden++;
    new string[32];
    format(string, sizeof(string), "Beschwerden: %d", gVarBugs);
    TextDrawSetString(Sup13, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup4)
    {
    new supnachricht[128],string2[128];
    ShowPlayerDialog(playerid,DIALOG_SUPFRAGE,DIALOG_STYLE_INPUT,"Frage","Gib hier nun deine Frage ein:","OK","");
    gVarSupfragen++;
    new string[32];
    format(string, sizeof(string), "SupFragen: %d", gVarBugs);
    TextDrawSetString(Sup12, string);
    SupInfo[playerid][UhatTicket] = 1;
    SupInfo[playerid][offenTicket] = 1;
    SupInfo[playerid][snachricht] = supnachricht;
    SendClientMessage(playerid,Rot,"Vielen Dank für dein Ticket. Ein Admin wird dies in Kürze bearbeiten.");
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);
    }
    if(clickedid == Sup16)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup14)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup13)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 2) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 2");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup12)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 1) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 1");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    TextDrawHideForPlayer(playerid,Sup1);
    TextDrawHideForPlayer(playerid,Sup2);
    TextDrawHideForPlayer(playerid,Sup3);
    TextDrawHideForPlayer(playerid,Sup4);
    TextDrawHideForPlayer(playerid,Sup5);
    TextDrawHideForPlayer(playerid,Sup6);
    TextDrawHideForPlayer(playerid,Sup7);
    TextDrawHideForPlayer(playerid,Sup8);
    TextDrawHideForPlayer(playerid,Sup9);
    TextDrawHideForPlayer(playerid,Sup10);
    TextDrawHideForPlayer(playerid,Sup11);
    CancelSelectTextDraw(playerid);
    TogglePlayerControllable(playerid,1);
    }
    return 1;
    }

  • Jetzt kann ich die Textdraw's an der Seite nicht anklicken:
    ocmd:reports(playerid,params[])
    {
    TextDrawShowForPlayer(playerid,Text:Sup12);
    TextDrawShowForPlayer(playerid,Text:Sup13);
    TextDrawShowForPlayer(playerid,Text:Sup14);
    TextDrawShowForPlayer(playerid,Text:Sup15);
    TextDrawShowForPlayer(playerid,Text:Sup16);
    TextDrawShowForPlayer(playerid,Text:Sup17);
    SelectTextDraw(playerid,0x00FF00FF);
    return 1;


    //Die Textdraws:
    if(clickedid == Sup16)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup14)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 3) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 3");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup13)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 2) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 2");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    if(clickedid == Sup12)
    {
    new string[128];
    if(SpielerInfo[playerid][pAdminlevel] < 1) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 1");
    SendClientMessage(playerid,Rot,"Es sind folgende Tickets offen:");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SupInfo[i][offenTicket] ==1)
    {
    format(string, sizeof string, "Spieler: %s [ID: %s] Nachricht: %s", GetName(i),i,SupInfo[i][snachricht]);
    SendClientMessage(playerid, Rot, string);
    }
    }
    }
    }
    TextDrawHideForPlayer(playerid,Sup1);
    TextDrawHideForPlayer(playerid,Sup2);
    TextDrawHideForPlayer(playerid,Sup3);
    TextDrawHideForPlayer(playerid,Sup4);
    TextDrawHideForPlayer(playerid,Sup5);
    TextDrawHideForPlayer(playerid,Sup6);
    TextDrawHideForPlayer(playerid,Sup7);
    TextDrawHideForPlayer(playerid,Sup8);
    TextDrawHideForPlayer(playerid,Sup9);
    TextDrawHideForPlayer(playerid,Sup10);
    TextDrawHideForPlayer(playerid,Sup11);
    CancelSelectTextDraw(playerid);
    TogglePlayerControllable(playerid,1);
    }


    Und das wird nicht angezeigt wenn jemand einen Report geschrieben hat:
    format(string,sizeof(string2),"Du schriebst folgendes: %s",supnachricht);
    SendClientMessage(playerid,Rot,string2);


    Und wenn jemand das Ticket angenommen wie lösch ich das wieder aus dem Textdraw an der Seite?


    Danke dir :)