Cmd der sich auf jemand anderen bezieht

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 will Cmds erstellen können die Einfluss auf andere Spieler haben: Also zb. /Heilen [playerid] [float 0-100]
    So etwas in dieser Art...
    Nur wie mache ich das?
    Ich habe ein Filterscript indem solche Befehle enthalten sind will sich aber nicht einfach rauskopieren.
    Brauche ich für diese Art von Befehlen "stroktk (oder wie das heisst)
    Und es ist möglich das als normaler Strcmp Befehel anzuwenden oder muss ich dcmd oder andere Befehlarten verwenden?



    Greez Beni

    Gewalt ist keine Lösung aber ein Weg zum Ziel :thumbup:

  • Grade selbstgemacht, also nicht getestet^^


    if(strcmp(cmd,"/heilen",true)==0)
    {
    new meineVariable[256],meineVariable2[256];
    meineVariable=strget(cmdtext,2);
    meineVariable2=strget(cmdtext,1);
    if(!strlen(meineVariable))
    return SendClientMessage(playerid,COLOR_WHITE,"/heilen (playerid) (HP)");
    SetPlayerHealth(meineVariable2,meineVariable);
    return 1;
    }

  • nee das isch schon gut so kopier ich auch nicht da ich ja meine Sachen einfügen will --> im Filterscript ist das ganze mit dcmd geschrieben


    Thx für die schnelle antwort :D

    Gewalt ist keine Lösung aber ein Weg zum Ziel :thumbup:

  • Irgiendwie geht das doch nicht ganz.
    Bei mir wird Variable2 nicht erkannt


    L:\Server\gamemodes\Test.pwn(140) : error 017: undefined symbol "Person"


    Zudem kommt das am Anfang..


    L:\Server\gamemodes\Test.pwn(133) : error 001: expected token: "-identifier-", but found "new"


    if(strcmp("/heilen", cmdtext, true, 10) == 0)
    {
    new Zahl[256],new Person[256];
    {
    if(!strlen(Zahl))
    {
    SendClientMessage(playerid,Farbe,"/heilen (playerid) (HP)");
    return 1;
    }
    SetPlayerHealth(Person,Zahl);
    return 1;
    }
    }

    Gewalt ist keine Lösung aber ein Weg zum Ziel :thumbup:

  • also hier mal mit dcmd und sscanf2


    OnPlayerCommandText

    : dcmd(sethp,5,cmdtext);



    dann ganz unten oder außerhalb einer public :


    dcmd_sethp(playerid, params[])
    {
    new spieler;
    new Float:health;
    if (sscanf(params, "uf", spieler, health)) return SendClientMessage(playerid, Farbe, "Benutzung: /sethp [ID/Spielername] [Leben]");
    SetPlayerHealth(spieler,health);
    return 1;
    }

  • Thx für die Antwort aber wenn es möglich ist es in Strcmp zu schreiben bleibe ich lieber dabei (obwohl ich bis jetzt mein Problem noch nicht lösen konnte) :pinch:


    Edit: Werde das Thema später nochmal anschauen (Meine Frage wurde früher schon etliche Male gestellt)


    Closed :rolleyes:

    Gewalt ist keine Lösung aber ein Weg zum Ziel :thumbup: