Abfragen ob vehicle ID exestiert

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 zusammen


    Ich habe eine frage zu den command
    bcmd:findcar(playerid,params[])
    {
    if(PI[playerid][pLeader]==5)
    {
    new Float:X,Float:Y,Float:Z,vehicleid,string[128];
    if(sscanf(params,"d",vehicleid))return SendClientMessage(playerid,cRed,"/findcar [schlüsselnummer]");
    GetVehiclePos(vehicleid,X,Y,Z);
    SetPlayerCheckpoint(playerid,X,Y,Z,8.0);
    format(string,128,"Das Fahrzeug mit der Schlüsselnummer %d wurde auf der Karte Makiert.");
    SendClientMessage(playerid,cYellow,string);
    }
    else
    {
    SendClientMessage(playerid,cRed,"Deine Fraktion kann diesen befehl nicht nutzen");
    }
    return 1;
    }
    wie kann ich überprüfen, ob die vehicleid eingabe exestiert?
    ich hab siel überlegt aber bin zu keiner idee gekommen
    Ich hoffe mal, das einer von euch eine idee hat

    All in all it's just another brick in the wall

  • Du musst natürlich ein zusammenhang herstellen zwischen der Person welche ein Auto sucht und dem Auto , welches gesucht wird.


    Ein beispiel wäre bei einem Carsystem , welches dem Spieler erlaubt ein Auto zu kaufen und somit ein autoschlüssel einnimmt .


    Dann hast du auch die möglichkeit dieses auto abzufragen ein beispiel wir haben die variabel


    new autos[MAX_PLAYERS][3];


    und wir kaufen ein Auto und belegen nun die nummer 0 und geben dem Auto natürlich auch die variabel also
    dann kann man ganz grob den gedanken nehmen das es natürlich auch beim laden so erstellt wird je nach dem wie man es macht.


    auto[playerid][0] = CreateVehicle(560,.....);



    und dann hättest du so die möglichkeit das ganze auch auszulesen


    new Float:Vpos[3];
    GetVehiclePos(auto[playerid][vehicleid],Vpos[0],Vpos[1],Vpos[2]);


    Das ganze funktioniert so das unser Script nun weiß nach dem kauf was welches Auto ist und das fehlt dir in deinem command.
    und um abzufragen ob die Idee oder der Slot belegt ist kannst zum beispiel den Wert abfragen von der variabel da wie man ja weiß
    wenn nix definiert ist bleibt der wert 0.


    Jedoch gibts auch andere möglichkeiten dazu könntest du in das dtc carsystem mal rein schauen , aber ich ja schon erwähnt habe ist das nur ein beispiel.

  • nö es geht einfacher
    habs gerade von Nortex erfahren
    einfach abfragen ob es VehicleModel gibt wenn ja command ausführen wenn nicht error
    das geht dann mit jeden auto und das soll ja später auch der sinn werden ;)

    All in all it's just another brick in the wall

  • Dafür gibt es eine Hidden Native in SA:MP


    füg oben in dein Script ein


    native IsValidVehicle(vehicleid);
    und schon kannst du prüfen ob ein Auto auch exestiert oder nicht

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen