/support Bug

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 Leute,


    nun muss ich mal wieder nachhaken.


    Ich habe mir selber ein Support System erstellt, dass im moment noch nichts weiteres macht, als eine Nachricht an die Supporter bzw. Admins die On-Duty sind zu schicken.


    Dies klappt natürlich auch wunderbar aber wenn ich /aduty geh, sagt mir der Chatverlauf, dass ich On-Duty bin und auch das andere Zeug jedoch nicht mein /support System.


    Ich bekomme immer nur "Es steht momentan kein Supporter zur Verfügung"


    Wenn ich dann aber Off-Duty gehe, kommt der Support an...



    forward Supporting(playerid);


    public Supporting(playerid)
    {
    SetPVarInt(playerid,"SupportTicket",0);
    return 1;
    }


    ocmd:support(playerid,params[])
    {
    new support[200];
    if(sscanf(params,"s",support))return SendClientMessage(playerid, grau, "Tipp : /support [TEXT]");
    format(support,sizeof(support),"%s fragt einen Support wegen folgendem Thema an: %s",SpielerName(playerid),support);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isAdminOnDuty(i,GetPVarInt(playerid,"AdminDuty")==1))
    {
    return SendClientMessage(playerid,gelb,"Es ist kein Admin zur verfügung. Bitte versuche es später erneut!");
    }
    else
    {
    if(GetPVarInt(playerid,"SupportTicket")==1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du hast bereits ein Ticket geschrieben. Bitte warte 5 Minuten!");
    }
    else
    {
    SetPVarInt(playerid,"SupportTicket",1);
    SetTimer("Supporting",60*1000*5,false);
    SendClientMessage(i, COLOR_DARKRED,support);
    }


    }
    }
    }


    return 1;
    }


    ocmd:aduty(playerid,params[])
    {
    new string[128];
    if(!isPlayerAnAdmin(playerid,1))
    {
    return SendClientMessage(playerid,ROT,"Du bist kein Admin");
    }
    else
    {
    if(GetPVarInt(playerid,"AdminDuty")==1)
    {
    SetPVarInt(playerid,"AdminDuty",0);
    format(string,sizeof(string),"Admin %s hat sich als Supporter abgemeldet.",SpielerName(playerid),string);
    SendClientMessageToAll(GELB,string);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,0);
    }
    else
    {
    if(GetPVarInt(playerid,"AdminDuty")==0)
    {
    SetPVarInt(playerid,"AdminDuty",1);
    SetPlayerHealth(playerid,10000);
    SetPlayerArmour(playerid,10000);
    format(string,sizeof(string),"Admin %s hat sich angemeldet. Er ist nun unter /support erreichbar!",SpielerName(playerid),string);
    SendClientMessageToAll(GELB,string);
    }

    }
    }

    SpielerSpeichern(playerid);
    return true;
    }


    Hier mal alles, was miteinander zu tun hat.


  • probier es mal so

    >> sPa.M << go, go,Bann me, Bann me

    Einmal editiert, zuletzt von Grek () aus folgendem Grund: falschen quelltext

  • Der Fehler lag bei /support und /aduty gleichzeitig.



    if(!isPlayerAnAdmin(playerid,1))
    {
    return SendClientMessage(playerid,ROT,"Du bist kein Admin");
    }
    else
    {
    if(GetPVarInt(playerid,"AdminDuty")==1)
    {
    SetPVarInt(playerid,"AdminDuty",0);
    format(string,sizeof(string),"Admin %s hat sich als Supporter abgemeldet.",SpielerName(playerid));
    SendClientMessageToAll(GELB,string);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,0);
    }
    else
    {
    // if(GetPVarInt(playerid,"AdminDuty")==0)
    // {
    SetPVarInt(playerid,"AdminDuty",1);
    SetPlayerHealth(playerid,10000);
    SetPlayerArmour(playerid,10000);
    format(string,sizeof(string),"Admin %s hat sich angemeldet. Er ist nun unter /support erreichbar!",SpielerName(playerid));
    SendClientMessageToAll(GELB,string);
    // }

    }
    }


    ocmd:support(playerid,params[])
    {
    new support[200];
    if(sscanf(params,"s",support))return SendClientMessage(playerid, grau, "Tipp : /support [TEXT]");
    format(support,sizeof(support),"%s fragt einen Support wegen folgendem Thema an: %s",SpielerName(playerid),support);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isAdminOnDuty(i,GetPVarInt(playerid,"AdminDuty")==1))
    {
    if(GetPVarInt(playerid,"SupportTicket")==1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du hast bereits ein Ticket geschrieben. Bitte warte 5 Minuten!");
    }
    else
    {
    SetPVarInt(playerid,"SupportTicket",1);
    SetTimer("Supporting",60*1000*5,false);
    SendClientMessage(i, COLOR_DARKRED,support);
    }


    }
    else
    {
    return SendClientMessage(playerid,gelb,"Es ist kein Admin zur verfügung. Bitte versuche es später erneut!");
    }
    }
    }


    return 1;
    }