Behörden befehl (strcmp und ocmd)

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
  • Da verstehst du mich wohl falsch.
    Die Variable "pID" kann Zahlenwerte annehmen.
    Woher soll das Script nun wissen, welcher Spieler "pID" ist?
    Also schaue dir mal die GetClosestPlayer-Funktion an und was sie macht.
    Dann weißt du "pID" diesen Wert zu.


    Grüße,
    tony

  • verstehe es noch immer nicht,
    und alle 3 befehle gehen net...


    MfG

  • Kann ja auch schlecht, wenn du es nicht verstehst, die fehlen einfach die Grundlagen für den Anfang..
    Man sollte bestimmte Funktionen nicht im Script haben, wenn man nicht weiß, wie sie verwendet werden.
    Weise der Variable, also "pID" den Wert, den "GetClosedPlayer" zurückgibt, zu.


    Grüße,
    tony

  • mir is klar das pID einen Zahl wiederspiegelt
    aber ich weiß nicht wie ich die verwenden soll in meinem zusammenhang..


    aber trotzdem danke...


    MFG


    edit: rechtschreibung + deutsch + dazu gedichtet fürs verständnis

    Einmal editiert, zuletzt von _SKY_ ()

  • Könntest du bitte nunmal aufhören, ständig deine Threads zu pushen?
    Da steht nun der gleiche Text, Rechtschreibfehler hin oder her, das nervt einfach nur.


    pID = Wert der Funktion


    Wenn du es nun nicht hinbekommst, weiß ich auch nicht mehr weiter.


    Grüße,
    tony

  • ja deshalb hab ichs ja gemacht das er abfrägt ob pID in einem auto ist
    und pID in der nähe ist und dann die entfernung zwischen playerid und pID ausgemessen


    in worten wie ich meinen befehl sehe:
    wenn er /zerren macht , wird abgefragt ob :
    - er ein behördler ist
    - ob er in eh keinem auto sietzt
    - und ob die entfernung kleiner als 7 ist


    dann sucht er sich den nähesten spieler und haut in das nähste auto


    MfG


    mein jetziger befehl:


    if(strcmp(cmdtext,"/zerren",true)==0)
    {
    new pID;
    new string[128];
    new vehiclebehoerde = GetPlayerVehicleID(playerid);


    if(isPlayerBehoerde(playerid))
    {
    if(!IsPlayerInVehicle(playerid,vehiclebehoerde))
    {

    format(string,sizeof(string),"Du hast %s (ID:%i) in dein Auto gezerrt!",SpielerName(pID),pID);
    SendClientMessage(playerid,ORANGE,string);
    format(string,sizeof(string),"Du wurdest von %s (ID:%i) in ein Auto gezerrt!",SpielerName(playerid),playerid);
    SendClientMessage(pID,ORANGE,string);
    GetClosestPlayer(pID);
    PutPlayerInVehicle(pID,vehiclebehoerde,2);
    }


    for (new i; i < MAX_PLAYERS; i++)
    {
    if(isPlayerBehoerde(playerid))
    {
    format(string,sizeof(string),"%s (ID:%i) hat %s (ID:%i) in sein Auto gezerrt!",SpielerName(playerid),playerid,SpielerName(pID),pID);
    SendClientMessage(i,GELB,string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist in keiner Behörde!");
    }
    return 1;
    }


    SCREEN:


    http://img716.imageshack.us/img716/1482/samp054yn.png


    MfG

  • Du benutzt die Funktion trotzdem noch falsch:


    Es wird immer der nächste Spieler, ausgehend von demjenigen, der als Parameter angegeben ist, zurückgegeben.
    Außerdem wird "pID" am Anfang immer 0 sein, der Wert muss zuerst zugewiesen werden, meinen Tipp hast du anscheinend immer noch nicht durchgelesen.


    pID = Wert der Funktion


    Grüße,
    tony

  • ich hab doch das der näheste als pID bezeichnet wird >_>


    GetClosestPlayer(pID);

  • Der nächste von wem denn?
    Richtig, diesen Parameter kannst du nicht angeben, wenn du es so machen willst.
    Du musst dort den Spieler, der den Befehl tippt, eintragen und anschließend halt noch pID zuweisen.


    new pID = Wert der Funktion


    Again. ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ich habs so >_>


    new pID = GetClosestPlayer(playerid);


    ich verstehs einfach net X(


    /edit: jetzt werd wieder ich "gezerrt" net mehr id 0 aber
    ich werd net ins auto gezerrt


    /edit2: Script weiterhin 1 stunde lang geändert
    aber ich finde den fehler einfach nicht ...

    2 Mal editiert, zuletzt von _SKY_ ()