Dcmd Frage

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
  • Guten Abend,


    Ich habe mal eine Frage. Wie kann man das machen, dass man bei meinen Kick Befehl z.B. /kick und /kicken eingeben kann. Beides sollte man eingeben können!
    dcmd_kick(playerid,params[])


    Danke im Vorraus!

  • Na ja, weiß vielleicht einer, wie ich dieses hier schonender Schreiben kann?
    dcmd_r(playerid,params[])
    {
    new ra[64],string[128],text[128];
    if(Spieler[playerid][Fraktion] == 1)
    {
    if(sscanf(params,"s",text))return SendClientMessage(playerid,grau,"VERWENDE: /r(adio) [Nachricht]");
    Schleife(i,GetMaxPlayers())
    {
    if(Spieler[i][Fraktion] == 1)
    {
    switch(Spieler[playerid][Rang])
    {
    case 0:{ra="Rang 0";}
    case 1:{ra="Rang 1";}
    case 2:{ra="Rang 2";}
    case 3:{ra="Rang 3";}
    case 4:{ra="Rang 4";}
    case 5:{ra="Rang 5";}
    case 6:{ra="Rang 6";}
    }
    format(string,sizeof(string),"** %s %s: %s",ra,Name(playerid),text);
    SendClientMessage(i,grau,string);
    return 1;
    }
    }
    }
    else SendClientMessage(playerid,grau," Der Befehl ist nur für die Staatsfraktionen benutzbar!");
    return 1;
    }
    Ich würde dann bei Fraktion 2 das gleiche darunter machen, bloß halt die Zahlen tauschen ^^


    Aber ich denke, das kann man auch mit "switch & case" machen, aber weiß gerade nicht wie.

  • dcmd_r(playerid,params[])
    {
    new ra[64],string[128],text[128];
    if(Spieler[playerid][Fraktion] != 1 && Spieler[playerid][Fraktion] != 2 /* Alle Staatsfraks*/)return SendClientMessage(playerid,grau," Der Befehl ist nur für die Staatsfraktionen benutzbar!");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,grau,"VERWENDE: /r(adio) [Nachricht]");
    Schleife(i,GetMaxPlayers())
    {
    if(Spieler[i][Fraktion] != 1 && Spieler[i][Fraktion] != 2 /*Alle Staatsfraktionen*/)continue;
    switch(Spieler[playerid][Rang])
    {
    case 0:{ra="Rang 0";}
    case 1:{ra="Rang 1";}
    case 2:{ra="Rang 2";}
    case 3:{ra="Rang 3";}
    case 4:{ra="Rang 4";}
    case 5:{ra="Rang 5";}
    case 6:{ra="Rang 6";}
    }
    format(string,sizeof(string),"** %s %s: %s",ra,Name(playerid),text);
    SendClientMessage(i,grau,string);
    return 1;
    }
    return 1;
    }

  • Ich frage ab, ob der Spieler nicht in dieser Fraktion ist .. Und wenn nicht, dann geht er weiter bzw wird im der Text angezeigt ( Der Befehl ist nur für die Staatsfraktionen benutzbar! )
    Ich finde es persönlich übersichtlicher und was soll daran falsch sein?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich frage ab, ob der Spieler nicht in dieser Fraktion ist .. Und wenn nicht, dann geht er weiter bzw wird im der Text angezeigt ( Der Befehl ist nur für die Staatsfraktionen benutzbar! )
    Ich finde es persönlich übersichtlicher und was soll daran falsch sein?

    Wie gesagt, behebt es aber dennoch nicht das Problem mit den Rängen, da jede Fraktion andere Rangtitel hat.
    Und ich denke 5Gum wird schon eine gute Lösung für das Problem finden, wie er bereits gesagt hat.

  • Wie gesagt, behebt es aber dennoch nicht das Problem mit den Rängen, da jede Fraktion andere Rangtitel hat.
    Und ich denke 5Gum wird schon eine gute Lösung für das Problem finden, wie er bereits gesagt hat.


    Dann eben so:
    dcmd_r(playerid,params[])
    {
    new ra[64],string[128],text[128];
    if(Spieler[playerid][Fraktion] != 1 && Spieler[playerid][Fraktion] != 2 /* Alle Staatsfraks*/)return SendClientMessage(playerid,grau," Der Befehl ist nur für die Staatsfraktionen benutzbar!");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,grau,"VERWENDE: /r(adio) [Nachricht]");
    Schleife(i,GetMaxPlayers())
    {
    switch(Spieler[i][Fraktion])
    {
    case 1:
    {
    switch(Spieler[playerid][Rang])
    {
    case 0:{ra="Rang 0";}
    case 1:{ra="Rang 1";}
    case 2:{ra="Rang 2";}
    case 3:{ra="Rang 3";}
    case 4:{ra="Rang 4";}
    case 5:{ra="Rang 5";}
    case 6:{ra="Rang 6";}
    }
    }
    case 2:
    {
    switch(Spieler[playerid][Rang])
    {
    case 0:{ra="Rang 0";}
    case 1:{ra="Rang 1";}
    case 2:{ra="Rang 2";}
    case 3:{ra="Rang 3";}
    case 4:{ra="Rang 4";}
    case 5:{ra="Rang 5";}
    case 6:{ra="Rang 6";}
    }
    }
    }

    format(string,sizeof(string),"** %s %s: %s",ra,Name(playerid),text);
    SendClientMessage(i,grau,string);
    return 1;
    }
    return 1;
    }