dcmd /veh ??

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 ,
    ich bin Neuling in DCMD ich habe bereits 2 Commands mit DCMD gemacht
    aber jetzt möchte ich ein /veh Command machen also ein Auto spawn
    Command aber ich habe kein Plan wie ich anfangen soll
    dcmd_veh(playerid,params[])
    {
    if(sscanf(params, "s",text))
    {
    return SendClientMessage(playerid,COLOR_ROT,"VERWENDUNG: /veh [autoid] [farbe1] [farbe2]");
    }
    CreateVehicle
    return 1;
    }
    das habe ich schon aber weiter weiss ich net
    könnt ihr mir helfen und auch vielleicht erklären ?
    Pixel
    //edit überschrift bearbeitet und Code eingefügt

    Einmal editiert, zuletzt von ThePixel5D ()

  • hab hier ein dcmd_v command, kannst ihn ja ind veh umbennenen:


    dcmd_v(playerid,params[])
    {
    new vID;
    if(sscanf(params, "d", vID))
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /v [Vehicle ID]");
    }
    if(vID < 400 || vID > 611)
    {
    return SendClientMessage(playerid,COLOR_RED,"Nur Vehicle-ID's von 400-611 benutzen!");
    }
    else
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    new cv = CreateVehicle(vID, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 999999999999999999999999999999999999999);
    PutPlayerInVehicle(playerid, cv, 0);
    new string[256];
    format(string, sizeof(string), "Fahrzeugnummer %d gespawnt.",vID);
    SendClientMessage(playerid, COLOR_RED, string);
    }
    return 1;
    }

    Einmal editiert, zuletzt von Simon ()

  • dcmd_v(playerid,params[])
    {
    new vID; //erstellt eine neue Variable
    if(sscanf(params, "d", vID)) //Da sscanf 0 returnt wenn alles funktioniert, wird hier überprüft, ob das nicht der Fall ist. Das passiert, wenn ein falscher Parameter angegeben wurde. vID nimmt den Wert vom ersten Paramter, einem Integer (da "d") an.
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /v [Vehicle ID]"); //Also wird hier die SendClientMessage wiedergegeben.
    }
    if(vID < 400 || vID > 611) //Wenn die VehicleModelID ungültig ist
    {
    return SendClientMessage(playerid,COLOR_RED,"Nur Vehicle-ID's von 400-611 benutzen!"); //wird hier eine weitere Nachricht ausgegeben
    }
    if(SpielerInfo[playerid][alvl]<4) //Wenn der Spieler ein gewisses Adminlevel nicht hat mache nichts, sonst
    else
    {
    new Float:x, Float:y, Float:z; //Erstelle Positionsvariablen
    GetPlayerPos(playerid, x, y, z); //Weise ihen die Werte des Spielers zu
    new cv = CreateVehicle(vID, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 999999999999999999999999999999999999999); //Erstelle ein Fahrzeug mit der oben zugewiesenen ModelID, 999999 ist hierbei Mist, 0 wäre hier besser.
    PutPlayerInVehicle(playerid, cv, 0); //Setze den Spieler ins Fahrzeug
    new string[256]; //Sollte klar sein
    format(string, sizeof(string), "Fahrzeugnummer %d gespawnt.",vID); //Nachricht, welche FahrzeugID gespawnt wurde wird ausgegeben.
    SendClientMessage(playerid, COLOR_RED, string); //Sollte klar sein.
    }
    return 1;
    }

  • dcmd sind eigentlich sehr einfach zu verstehen, das einzigste was ich nicht verstehe ist das sscanf ich weiß nicht welchen buchstaben da machen muss also "d" oder "ss" oder "u" oder wie auch immer..

  • s = Zeichenkette
    d = Integer (grade Zahl)
    u = UserID
    f = Float (Dezimalzahl, Kommazahl)
    i = Integer (grade Zahl)
    c = Einzelner Buchstabe

  • Es gibt ja zum Beispiel auch /kick Playerid Grund, da wäre es "us" oder "is" oder "ds"