Problem mit /clc :|

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 als erstes der Befehl :)


    achja wers noch nicht bemerkt hat, das heißt so viel wie Chatlog clear :)


    jetzt der Error:

    Code
    C:\Users\Lennart\Desktop\WoS JAN THOMAS\gamemodes\RL.pwn(169) : error 036: empty statement


    Der error ist das wo das if steht,was eigentlich anders geformt ist -.-(anders bekomme ich es nicht hin)
    Bitte um Hilfe habe viel versucht aber nichts hat geklappt ...

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • Du musst zuerst einen String erstellen, und ihn dann formatieren, sonst kann GameTexit mit "%s" nichts anfangen.

    new string[64], name[MAX_PLAYER_NAME];
    format(string,sizeof(string),"*** Administrator %s clearte den Chat.",name);
    GameTextForAll(string,6000,1);

    Fertisch.


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • if (strcmp("/CLC", cmdtext, true, 10) == 0)
    {
    if(isPlayerAnAdmin(playerid,4))
    {
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    SendClientMessageToAll(0, " ");
    GameTextForAll("***Der Adminstrator %s hat den Chat gecleart***",6000,1);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist kein Admin :O");
    }
    return 1;
    }

    b_560_95_1.png[/url]



    b_560_95_1.png[/url]

  • Warum machst du es dir so schwer und erstellst 100 Mal SendClientMessageToAll? Versuchs mal so ;D



    stock ClearchatAll(Zeilen)
    {
    for(new i = 0; i < Zeilen; i++)
    {
    SendClientMessageToAll(0xFFFFFFFF, " ");
    }
    }


    stock Name(id)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(id, name, sizeof name);
    return name;
    }


    ocmd:clc(playerid)
    {
    new string[64];
    if(!isPlayerAnAdmin(playerid, 4))return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Admin!");
    ClearchatAll(10);
    format(string, 64, "*** Administrator %s hat den Chat gecleart!", Name(playerid));
    GameTextForAll(string, 6000, 1);
    return 1;
    }

  • Jetzt habe ich es auch in einem String ,jedoch löst das leider immer noch nicht mein Problem :(
    PS: Danke an alle die schon geantwortet haben!

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • So hier haste mal meinen Befehl der funktioniert 100 prozenitig :D



    ocmd:clearchat(playerid,params[])
    {
    if(!DarfSpielerClearChatNutzen(playerid))return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig"); // Abfrage anpassen
    new string[128];
    for (new Text = 0; Text < 125; Text++)
    {
    SendClientMessageToAll(ROT," ");
    format(string,sizeof(string),"~r~CHAT ~g~CLEAR");
    GameTextForPlayer(playerid, string, 5000, 0);
    }
    return 1;
    }

  • Klar :D , Probier ma so:


    if(!strcmp(cmdtext, "/clearchat", true))
    {
    new string[128];
    for (new Text = 0; Text < 125; Text++)
    {
    SendClientMessageToAll(ROT," ");
    format(string,sizeof(string),"~r~CHAT ~g~CLEAR");
    GameTextForPlayer(playerid, string, 5000, 0);
    }
    }




    Achtung!! ich habe ihn nicht getestet und scripte auch normaler weise nich mit strcmp Befehle... ( aber müsste gehen :) wenn nicht melde dich bei mir :) )

  • ok danke aber jetzt habe ich die frage wo denn der Fehler war,denn bei nächsten Befehl tritt dieser schon wieder auf...

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


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

    Code
    restart//	if (strcmp("/reboot", cmdtext, true, 10) == 0)//	{//	  if(isPlayerAnAdmin(playerid,5));//		{//       SendClientMessage(playerid,Blau,"Der Server wird rebootet...");//		 SendClientMessage(playerid,Blau,"warte bitte einen Moment");//		 SendRconCommand("gmx");//		 return 1;//      }//     SendClientMessage(playerid,Rot,"Dein Adminlevel ist zu niedrig!");////	 }



    [die // bitte wegdenken :)

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • if (strcmp("/reboot", cmdtext, true, 10) == 0)
    {
    if(isPlayerAnAdmin(playerid,5));
    // {
    // SendClientMessage(playerid,Blau,"Der Server wird rebootet...");
    // SendClientMessage(playerid,Blau,"warte bitte einen Moment");
    // SendRconCommand("gmx");
    // return 1;
    // }
    // SendClientMessage(playerid,Rot,"Dein Adminlevel ist zu niedrig!");
    //
    // }


    PS: sry es ging nicht anders ...bin einfach zu blöd um das schön gezeilt hinzubekommen -.-

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


    Einmal editiert, zuletzt von Anker. ()

  • macht nix so passt es auch ehm, so ist es richtig:



    if (strcmp("/reboot", cmdtext, true, 10) == 0)
    {
    if(isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig!");
    {
    SendClientMessage(playerid,BLAU,"Der Server wird rebootet...");
    SendClientMessage(playerid,BLAU,"warte bitte einen Moment");
    SendRconCommand("gmx");
    }
    }



    Jetzt dein Befehl:


    {
    if (strcmp("/reboot", cmdtext, true, 10) == 0)
    {
    if(isPlayerAnAdmin(playerid,5)); // Das ; weg, deine nachricht kannste ganz einfahr mit return SendClientMessage(playerid,FARBE,"TEXT"); da drabe klemmen aber nicht vergessen am ende kein ; machen sondern (playerid,5)) <-so ist richtig
    {
    SendClientMessage(playerid,Blau,"Der Server wird rebootet...");
    SendClientMessage(playerid,Blau,"warte bitte einen Moment");
    SendRconCommand("gmx");
    }


    } // Klammer vergessen.
    return 1;
    }


  • Der erste Befehl wird so nicht funktionieren....



    if(isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig!");
    // Wenn der Spieler Adminlevel 5 hat, kommt "Dein Adminlevel ist zu niedrig."


    Wenn er kein Admin 5 ist wird es restarten und wenn er Admin 5 hat kommt die Fehlermeldung.