Report Problem

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
  • ocmd:oreport(playerid,params[])
    {
    new pID, string[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED,"Du bist kein Admin und hast nicht das Recht Reports zu öffnen!");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid, COLOR_WHITE,"/oreport [ID]");
    format(string,sizeof(string),"** Administrator %s hat deinen Report geöffnet und bearbeitet ihn nun. Der Live Chat wurde aktiviert, nutze /rc!",Name(playerid));
    SendClientMessage(pID,COLOR_ORANGE,string);
    SendClientMessage(playerid,ORANGE,"Du hast den Report geöffnet und beginnst den Live Chat, du schreibst mit /sup!");
    SetPVarInt(playerid,"LiveChat",1);
    SetPVarInt(pID,"LiveChat",1);
    SetPVarInt(pID,"Report",0);
    SetPVarInt(playerid,"RPartner",pID);
    SetPVarInt(pID,"RPartner",playerid);
    return 1;
    }
    ocmd:sreport(playerid,params[])
    {
    new pID, string[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin und hast nicht das Recht Reports zu schließen!");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_WHITE,"/sreport [ID]");
    format(string,sizeof(string),"** Administrator %s hat den Livechat beendet.",Name(playerid));
    SendClientMessage(pID,ORANGE,string);
    SendClientMessage(playerid,COLOR_ORANGE,"Du hast den Report geschlossen!");
    SetPVarInt(playerid,"LiveChat",0);
    SetPVarInt(pID,"LiveChat",0);
    DeletePVar(playerid,"RPartner");
    DeletePVar(pID,"RPartner");
    return 1;
    }
    ocmd:lreport(playerid,params[])
    {
    new pID, string[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin und hast nicht das Recht Reports zu schließen!");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_WHITE,"/lreport [ID]");
    format(string,sizeof(string),"** Administrator %s hat deinen Report gelöscht!",Name(playerid));
    SendClientMessage(pID,COLOR_ORANGE,string);
    SendClientMessage(playerid,COLOR_ORANGE,"Du hast den Report gelöscht!");
    DeletePVar(pID,"Report");
    return 1;
    }
    ocmd:rc(playerid,params[])
    {
    new text[128],string[128],string1[128];
    if(GetPVarInt(playerid,"LiveChat") != 1) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Live Chat!");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_WHITE,"/rc [text]");
    format(string,sizeof(string),"* (( %s: %s ))*",Name(playerid),text);
    SendClientMessage(GetPVarInt(playerid,"RPartner"),COLOR_GREEN,string);
    format(string1,sizeof(string1),"* (( %s: %s ))*",Name(playerid),text);
    SendClientMessage(playerid,COLOR_GREEN,string1);
    return 1;
    }
    ocmd:sup(playerid,params[])
    {
    new text[128],string[128],string1[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin und hast nicht das Recht den Admin Report Chat zu nutzen!");
    if(GetPVarInt(playerid,"LiveChat") != 1) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Live Chat!");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,COLOR_WHITE,"/sup [text]");
    format(string,sizeof(string),"* (( %s: %s ))*",Name(playerid),text);
    SendClientMessage(GetPVarInt(playerid,"RPartner"),COLOR_GREEN,string);
    format(string1,sizeof(string1),"* (( %s: %s ))*",Name(playerid),text);
    SendClientMessage(playerid,COLOR_GREEN,string1);
    return 1;
    }


    Warum kann man Die Befehle nur mit Rcon ausführen?

  • Wenn ich mich nicht täusche ist die Abfrage (!IsPlayerAdmin(playerid)) für den RCON gemeint.
    Wie werden denn deine anderen Admin Befehle abgefragt?
    Kannst die ja mal vergleichen.

    ehm. Administration StateV ~ Domi

  • Da würde ich es vielleicht mal mit einem Timer probieren :P


    Oder du schaust wo der Player im Script gespawnt wird, und lässt den Textdraw da dann verschwinden wenn du nicht mit einem Timer arbeiten möchtest.

    ehm. Administration StateV ~ Domi

  • SetPlayerHealth(playerid, 10000.0);
    SendClientMessage(playerid, 0xFF0000AA, "Du hast 5 Sekunden Anti-Spawn Kill-Schutz");
    SetPlayerChatBubble(playerid, "Anti-Spawnkill", 0xFF0000AA, 100.0, 5000);
    SetTimerEx("AntiSpawnkill",5000,0,"i",playerid);



    Mein Timer und ich hab jetzt ein Textdraw erstellt:




    Spawnkill = TextDrawCreate(14.800031, 322.906799, "Anti-Spawnkill");
    TextDrawLetterSize(Spawnkill, 0.400000, 1.600000);
    TextDrawAlignment(Spawnkill.1);
    TextDrawColor(Spawnkill,-65281);
    TextDrawSetShadow(Spawnkill, 0);
    TextDrawSetOutline(Spawnkill, 0);
    TextDrawBackgroundColor(Spawnkill, 255);
    TextDrawFont(Spawnkill, 2);
    TextDrawSetProportional(Spawnkill, 1);
    TextDrawSetShadow(Spawnkill, 0);

  • C:\Windows\Vss\German v1.1\German[Scripts]\German Reallife v1.2\gamemodes\German.pwn(43114) : warning 219: local variable "Spawnkill" shadows a variable at a preceding level
    C:\Windows\Vss\German v1.1\German[Scripts]\German Reallife v1.2\gamemodes\German.pwn(43122) : warning 219: local variable "Spawnkill" shadows a variable at a preceding level



    stock ShowTextDrawForTime(playerid, Text:Spawnkill, time) //43114
    {
    SetTimerEx("HideTextDrawAgain", time*1000, false, "ii", playerid, _:Spawnkill);
    TextDrawShowForPlayer(playerid, Spawnkill);
    return 1;
    }




    forward AntiSpawn2(playerid, Text:Spawnkill); // HideTextDrawAgain
    public AntiSpawn2(playerid, Text:Spawnkill) // HideTextDrawAgain //43122
    {
    TextDrawHideForPlayer(playerid, Spawnkill);
    return 1;
    }

    Einmal editiert, zuletzt von DerFamer ()

  • Spawnkill ist bestimmt der Textdrawname, oder? Daher kannst du das hier als Deklaration nicht mehr verwenden, und musst daher Spawnkill_Draw zum Beispiel nehmen.

  • stock ShowTextDrawForTime(playerid, Text:Spawnkill_Draw, time)
    {
    SetTimerEx("HideTextDrawAgain", time*5000, false, "ii", playerid, _:Spawnkill_Draw);
    TextDrawShowForPlayer(playerid, Spawnkill_Draw);
    return 1;
    }
    forward AntiSpawn2(playerid, Text:Spawnkill_Draw); // HideTextDrawAgain
    public AntiSpawn2(playerid, Text:Spawnkill_Draw) // HideTextDrawAgain //43122
    {
    TextDrawHideForPlayer(playerid, Spawnkill_Draw);
    return 1;
    }


    Hab den Time auf 5 Sekunden gesetzt aber der Textdraw bleibt warum?