Variablen INtega abfragen

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
  • Ich habe mir eine Variable erstellt die immer um +1 erhöt wird wenn man den Befehel erstellt nun will ich ein TextDraw dazu Updaten d.h Wie frage ich hab welche Zahl jetzt in der Variable ist also wie oft es +1 oder -1 gemacht wurde weil ich dies für mein Ticket system brauche. d.h Sprich Mach er ein /support Tickets: 1 macht er nochmal Support Tickets: 2 Wurde ein /support erledigt Tickets: 1 Also + und -


    Hab grade so :pinch: :pinch:
    das new tplus; ist über oginit
    tplus=+1;

  • So richtig?
    forward TU();
    public TU()
    {
    new tick[128];
    format(tick,sizeof(tick),"%d",tplus);
    TextDrawSetString(Textdraw1,tick);
    return 1;
    }


    ocmd:support(playerid,params[])
    {
    new text[128],pID;
    if(ct[playerid]==1)
    {
    SendClientMessage(playerid,FARBE,"Du bist bereits in einem Support!");
    return 1;
    }
    if(ac[playerid]==1)
    {
    SendClientMessage(playerid,FARBE,"Du hast bereits ein ticket geschrieben du kannst es mit /ticketdes löschen.");
    return 1;
    }
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,FARBE,"Benutze: /support [FRAGE]");
    format(text,sizeof(text),"Support anfrage von %s: Frage: %s",SpielerName(pID),text);
    ateamchat(text,1);
    ateamchat("Du kannst das Ticket mit /oc öffnen",1);
    ac[playerid]=1;
    tplus=+1;
    return 1;
    }

  • ocmd:support(playerid,params[])
    {
    new text[128],pID;
    if(ct[playerid]==1)return SendClientMessage(playerid,FARBE,"Du bist bereits in einem Support!");
    if(ac[playerid]==1)return SendClientMessage(playerid,FARBE,"Du hast bereits ein ticket geschrieben du kannst es mit /ticketdes löschen.");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,FARBE,"Benutze: /support [FRAGE]");
    format(text,sizeof(text),"Support anfrage von %s: Frage: %s",SpielerName(pID),text);
    ateamchat(text,1);
    ateamchat("Du kannst das Ticket mit /oc öffnen",1);
    ac[playerid]=1;
    tplus++;
    return 1;
    }


    So ^^


    & bei /oc natürlich


    tplus--;


    //EDIT
    So siehts besser aus ^^




  • tplus--;
    Setze ich es damit nicht auf 0?


    Hab bei /oc soo
    ocmd:ot(playerid,params[])
    {
    new pID,str[128];
    if(!GetPVarInt(playerid,"alevel"))==1) return SendClientMessage(playerid,FARBE,"Du bist kein Admin level 1");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,FARBE,"Benutze: /ot [ID]");
    format(str,sizeof(str),"Admin %s hat dein Supportticket angenommen! Du kannst nun mit ihm Schreiben.",SpielerName(playerid));
    SendClientMessage(pID,FARBE,str);
    ct[pID]=1;
    tplus=-1;
    return 1;
    }


  • Nein damit wird die Variable um 1 subtrahiert ^^´


    ocmd:ot(playerid,params[])
    {
    new pID,str[128];
    if(!GetPVarInt(playerid,"alevel"))==1) return SendClientMessage(playerid,FARBE,"Du bist kein Admin level 1");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,FARBE,"Benutze: /ot [ID]");
    format(str,sizeof(str),"Admin %s hat dein Supportticket angenommen! Du kannst nun mit ihm Schreiben.",SpielerName(playerid));
    SendClientMessage(pID,FARBE,str);
    ct[pID]=1;
    tplus--1;
    return 1;
    }


    Wie lässt du die beide bitte miteinander schreiben ? :o

  • Hab da was entworfen ^^


    /e Hier das weiß aber nicht ob es klappt xD


    public OnPlayerText(playerid, text[])
    {
    if(ct==1)
    {
    new str[128];
    format(str,sizeof(str),"%s: %s",SpielerName(playerid),text);
    return 1;
    }
    return 1;
    }
    //e2


    Mir fällt auf das kann garnicht klappen idee wie es gehen könnte



  • Wie solln das gehen ? Woher soll das script wissen wer den Support angenommen hat ?


    mach dir noch eine Variable in dein enum ...


    Bsp:


    da wo er den Report annimmt:


    Spieler[playerid][Partner] = pID;


    &


    Spieler[pID][Partner] = playerid;


    & unter OnPlayerText:


    fragst du natürlich ab ob er im Report ist .. & dann


    new pID = Spieler[playerid][ReportPartner];
    format(string,sizeof(string),"%s sagt: %s:",Spieler .....);
    SendClientMessage(pID,FARBE,string);
    SendClientMessage(playerid,FARBE,string);



    Natürlich da wo er den Report beendet wieder

    Spieler[playerid][Partner] = -1;
    Spieler[pID][Partner] = -1;


    Greetz 8)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich gib dir mal einen Tipp:


    "--" bedeutet einen Wert um 1 Zahl niedriger zu setzen.
    "--" mit einer Zahl geht nicht und ergibt Fehler.
    (Das gleiche gilt mit "++" nur dass die Zahl um 1 höher gesetzt wird)


    "=- | =+" gibt es ebenfalls nicht, da es falsch herum ist, und ebenfalls Fehler ausgeben würde.
    Richtig ist "-= | +=" dort muss dann aber eine Zahl am Ende gesetzt werden.


    Das heißt:


    "var_Tickets++;" würde bspw. die Variable um 1 erhöhen.


    Hoffentlich war das mal ein Denkanstoß. ;)


  • Machs mir mal inem enum will mir mal das angucken :)

  • enum Spieler
    {
    Level,
    Geld,
    Kills //etc
    }
    new SpielerInfo[MAX_PLAYERS][Spieler];


    In dem fall sieht die abfrage dann so aus:


    if(SpielerInfo[playerid][Geld] ....)


    &


    abspeichern dann so:


    dini_IntSet(Spielerdatei,"Level",SpielerInfo[playerid][Level]);


    Greetz 8)


  • Ich bleib bei PVar's

  • Weiß ich nicht bleibst ungetestet das Scripte ich nur für ein Selfmade für [MrM]Florian


    Der hat da so sein Team :)


    public OnPlayerText(playerid, text[])
    {
    if(ct==1)
    {
    new pID = Partner[pID];
    new string[128];
    format(string,sizeof(string),"[SUPPORT]** %s sagt: %s **",SpielerName(playerid),text);
    SendClientMessage(pID,FARBE,string);
    SendClientMessage(playerid,FARBE,string);
    return 1;
    }
    return 1;
    }



  • public OnPlayerText(playerid, text[])
    {
    if(ct[playerid]==1)
    {
    new pID = Partner[playerid];
    new string[128];
    format(string,sizeof(string),"[SUPPORT]** %s sagt: %s **",SpielerName(playerid),text);
    SendClientMessage(pID,FARBE,string);
    SendClientMessage(playerid,FARBE,string);
    return 1;
    }
    }


    So.. denk aber dran deine Farbe auch auszusuchen ^^


    Greetz 8)


    //EDIT


    Zeig mir mal wie du die ganzen ct & ac definiert hast ^^

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