Befehl mit einer Taste auslösen

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 liebe Brote!
    Ich würde gerne den befehl /polizeitor mit der Taste H auslösen. Wie funktioniert das?


    kommt drauf an bei ocmd oder anderen command prozessoren ist dies anders als bei dennen die bei OnPlayerCommandText aufgeführt werden.


    Sollte der command sich unter OnPlayerCommandText befinden kannst du
    CallLocalFunction("OnPlayerCommandText ","is",playerid,"/beispiel");
    verwenden oder das auch direkt aufrufen
    OnPlayerCommandText(playerid,"/beispiel");


    Bei ocmd oder anderen Commandporzessoren ist das anders wie schon genannt es sind schon functionen daher hast du die möglichkeit
    das direkt per funktionsdeklaration aufzurufen
    ocmd_beispiel(playerid);
    und auch die parameter dahinter kannst du auch noch dazu angeben


    Zur taste h die findest du hier
    http://wiki.sa-mp.com/wiki/Keys


    du kannst auch dir den wert ausgeben lassen über OnPlayerKeyStateChange

  • Danke an alle die mir hier schon weiter geholfen haben bzw. wollten :)


    Ich
    bin halt leider noch anfänger im bereich des Scriptens und wollte
    fragen ob mir jemand hierzu machen kann, dass dieses Tor mit der taste
    ALT Links öfnen kann! Am besten noch, dass man hierzu in der nähe dieser
    Koordinate sein muss:
    1418.7482,-1743.8313,13.5191,175.8135


    Hier der bisherige Befehl:
    if(strcmp(cmd,"/polizeitor", true) == 0)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid, 22) || IsPlayerInFrac(playerid, 7))
    {
    MoveObject(MVTor2,1418.94, -1743.55, 5.27, 3.0);
    SetTimer("CloseMVTor2", 5000, 0);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Hoftor ist offen. Beeil dich es schließt in 5 Sekunden");
    }
    else SendClientMessage(playerid, COLOR_RED, "Du hast nicht die Erlaubnis dazu!");
    return 1;
    }

  • if(strcmp(cmd,"/polizeitor", true) == 0)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid, 22) || IsPlayerInFrac(playerid, 7))
    {
    if(!IsPlayerInRangeOfPoint(playerid,15.0,1418.7482,-1743.8313,13.5191)) return SendClientMessage(playerid,COLOR_RED,"Außerhalb der Reichweite");
    MoveObject(MVTor2,1418.94, -1743.55, 5.27, 3.0);
    SetTimer("CloseMVTor2", 5000, 0);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Hoftor ist offen. Beeil dich es schließt in 5 Sekunden");
    }
    else SendClientMessage(playerid, COLOR_RED, "Du hast nicht die Erlaubnis dazu!");
    return 1;
    }



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_CROUCH)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid, 22) || IsPlayerInFrac(playerid, 7))
    {
    if(!IsPlayerInRangeOfPoint(playerid,15.0,1418.7482,-1743.8313,13.5191)) return SendClientMessage(playerid,COLOR_RED,"Außerhalb der Reichweite");
    MoveObject(MVTor2,1418.94, -1743.55, 5.27, 3.0);
    SetTimer("CloseMVTor2", 5000, 0);
    SendClientMessage(playerid, COLOR_YELLOW,"Das Hoftor ist offen. Beeil dich es schließt in 5 Sekunden");
    }
    else SendClientMessage(playerid, COLOR_RED, "Du hast nicht die Erlaubnis dazu!");
    return 1;
    }
    }


    Das sollte eigentlich hinhaun.