Möglich Befehle nur mit dcmd zu machen ?

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
  • Tagchen folgende Frage ist es möglich ein script zu machen
    mit nur dcmd oder werden da verschiedene möglichkeiten meist hergenommen


    Weil ich habe mich gefragt wie mache ich z.b mit dcmd ein Portbefehl was mir so auf die schnelle einfällt wäre so :


    // Befehl porten
    dcmd_porten(playerid,params[])
    {
    new Spieler;
    if(strlen(params))
    {
    Spieler = strval(params);
    if(IsPlayerConnected(Spieler))
    {
    SetPlayerPos(playerid = Spieler);
    SendClientMessage(playerid,Gelb,"Du hast dich geportet");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Der Spieler wurde nicht gefunden");
    }
    }
    return 1;
    }



    Spieler wurde bereits definiert in nem anderem commando muss ich dann erneut new Spieler machen oder kann ich das weglassen?

    Bewerte deine Erfolge daran,
    was du aufgeben musstest, um sie zu erzielen.
    -Dalai Lama-

  • also bei dcmd ist es immer besser sscanf zu benutzen ^^


    der Befehl sollte dann so aussehen



    dcmd_porten(playerid,params[])
    {
    new sID;
    if(!sscanf(params,"d",sID))
    {
    new Float:Pos[3];
    if(IsPlayerConnected(Spieler))
    {
    GetPlayerPos(sID,Pos[0],Pos[1],Pos[2]);
    SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); // + oder - ein paar koordinaten um nicht direkt in jemanden zu porten
    SendClientMessage(playerid,Gelb,"Du hast dich geportet");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Der Spieler wurde nicht gefunden");
    return 1;
    }
    }
    else return SendClientMessage(playerid,Rot,"Nutze: /porten [ID]");
    }


    Ich hoffe es ist einigermaßen Verständlich, das mit dem Spieler hatte ich nicht so ganz verstanden...


    //Edit Was vergessen

  • Natürlich ist das möglich.
    Aber wenn du z.B. einen Torbefehl machst würde ich dir zu strcmp raten, wenn du den Befehl auf eine Taste legen willst.
    Zu deinen unten stehenden Befehl:
    Ich weiß nicht ob der funktioniert, aber arbeite mal lieber mit:

    new Float:x,Float:y,Float:z;
    GetPlayerPos(pID,x,y,z);
    SetPlayerPos(playerid,x,y,z);
    Ist aber nur eine Empfehlung.

    Die besten Zitate aus dem sa-mp.de Forum

    Zitat

    -Wenn hier die sache nicht drine ist aber sie brachen es vlt kann ich es und dann mache ich es für sie!)

    Zitat

    Die Prüfungen(Fahrprüfungen), welche sehr realitätsnah entworfen sind, kann jeder Spieler allein absolvieren ohne auf andere angewiesen zu sein.

    Zitat

    Features: Ausgeprägte und leicht verständliche Serverregeln!

    Zitat

    aber wer dumme Antworten gibt bekommt eine Dumme zurück ... und chill mal dein Leben!

    Zitat

    Ich bin für Luca, wieso weiß ich nicht, aber der andere hat so hässlige Haare..

    Zitat

    Ich habe mir eig. immer nur die Castings angesehen, weil die da immer Runtergemacht wurden.

    Zitat

    Unknown processor
    übersetzt (by google translator)
    unbekannten Prozessor

    Zitat

    Verkaufe Minecraft Keys
    Nur für 20,-€ PaySafeCard.
    Unfassbar in mindestens 5 Minuten hast du dein Key!

  • Also ich versteh mal nur Bahnhof darum lass ich das erstmal und gehe weiter Tutorials durch :)
    Aber danke...


    // edit . Noch ne Frage
    bei NEmesus Tutorials wieso deklariert er bei jedem command
    Playerid neu Sprich einmal new spieler , new playerid etc


    kann man nicht die selbe nochmal benutzen ?

    Bewerte deine Erfolge daran,
    was du aufgeben musstest, um sie zu erzielen.
    -Dalai Lama-

    Einmal editiert, zuletzt von Wanted ()


  • Dier ist dennoch bewusst das , dass was NicoAiko gepostet hat das selbe ist


    at NicoAiko : Eins hast du vergessen ^^ das dcmd(porten,6,cmdtext); bei OnPlayerCommandText
    und was ist an dcmd nicht zu verstehen also was verstehst du nicht ist es das benutzen von parameter


    und was sich auch noch empfehlen lässt ist ocmd ist das selbe wie dcmd und ein edit davon