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
dcmd /veh ??
- Micktor
- Geschlossen
- Erledigt
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
-
-
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;
} -
danke aber kannst du mir vielleicht auch ein wenig erklären will ja auch lernen und nicht nur copy past
-
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;
} -
genau öhh habe eins falsch gemacht, ist gefixt, siehe 1. post..
-
danke danke
jetzt habe iches wieder besser verstanden -
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 -
habe auch schonmal doppelte buchstaben gesehen..
also ist das dann zum beispiel bei playerid zahl:
ud?
-
Es gibt ja zum Beispiel auch /kick Playerid Grund, da wäre es "us" oder "is" oder "ds"
-
-
breadfish.de
Hat das Thema geschlossen.