wie geht das wenn ich /auto [Name] [Frabe1] [Farbe2] haben will!hab schon was versucht kommen aber funkt nicht
bitte hilfe
Danke
wie geht das wenn ich /auto [Name] [Frabe1] [Farbe2] haben will!hab schon was versucht kommen aber funkt nicht
bitte hilfe
Danke
news:
new CarID[MAX_PLAYERS];
Also zu Gamemodeinit:
if(strcmp(cmd, "/auto", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_ROT, " Du bist kein Mitarbeiter");
SendClientMessage(playerid, COLOR_ROT, " Bitte unterlass das in Zukunft");
SendClientMessage(playerid, COLOR_ROT, " Oder wir schließen dich vom Server aus");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Autonummer zwischen 400 - 611"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
Lg
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
CreatedCars[CreatedCar] = carid;
CreatedCar ++;
format(string, sizeof(string), " Vehicle %d spawned.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
}
return 1;
}
oder in weniger als 100 zeilen...
ocmd:auto(i,prm[])
{
if(!IsPlayerAdmin(i))return SendClientMessage(i,0xFFFFFFFF,"Du bist kein Admin");
new mod,f[2];
if(sscanf(prm,"ddd",mod,f[0],f[1]))return SendClientMessage(i,0xFFFFFFFF,"/auto [model] [farbe 1] [farbe 2]");
new Float:pp[4];
GetPlayerPos(i,pp[0],pp[1],pp[2]);
GetPlayerFacingAngle(i,pp[3]);
return PutPlayerInVehicle(i,CreateVehicle(mod,pp[0],pp[1],pp[2],pp[3],pp[4],f[0],f[1],1000),0);
}
goldfish das müsst du noch hinschreiben das man den include ocmd brauchst sonst kommt er gleich an ich habe errors.
ich mach das alles mit if(gAdmin[playerid) == rang)
ich mach das alles mit if(gAdmin[playerid) == rang)
Ein Bisschen eigenes Denken geht doch wohl oder?
if(strcmp(cmd, "/auto", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gAdmin[playerid) < 4)
{
SendClientMessage(playerid, COLOR_ROT, " Du bist kein Mitarbeiter");
SendClientMessage(playerid, COLOR_ROT, " Bitte unterlass das in Zukunft");
SendClientMessage(playerid, COLOR_ROT, " Oder wir schließen dich vom Server aus");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Autonummer zwischen 400 - 611"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
Lg
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
CreatedCars[CreatedCar] = carid;
CreatedCar ++;
format(string, sizeof(string), " Vehicle %d spawned.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
}
return 1;
}
Ungetestet.
MfG Firer
wenn ich das rein mach kommen lauter errors
undefined symbol Lg
das gleiche bei createcars und creatcar
ocmd:auto(i,prm[])
{
if(gAdmin[i]<2)return SendClientMessage(i,0xFFFFFFFF,"Du bist kein Admin");
new mod,f[2];
if(sscanf(prm,"ddd",mod,f[0],f[1]))return SendClientMessage(i,0xFFFFFFFF,"/auto [model] [farbe 1] [farbe 2]");
new Float:pp[4];
GetPlayerPos(i,pp[0],pp[1],pp[2]);
GetPlayerFacingAngle(i,pp[3]);
return PutPlayerInVehicle(i,CreateVehicle(mod,pp[0],pp[1],pp[2],pp[3],pp[4],f[0],f[1],1000),0);
}
XD das LG machste raus hat er sicher nur ausversehen reingemacht...
und was mit undefined symbol creatcars
und undefined symbol creatcar
muss ich da ne new machen?
Nimm einfach meins... man sollte halt keine commands einfach so aus dem GF nehmen.
und was brauch ich bei dir noch dabei
könnt ihr mir das mit diesem command beginn machen
if (strcmp("/auto", cmdtext, true, 10) == 0)
{
if(gAdmin[playerid] == 2 || gAdmin[playerid] == 3 || gAdmin[playerid] == 4)
{
und dann die funtionen
so mein ich das sonst bekom ich nur errors
Alles anzeigenkönnt ihr mir das mit diesem command beginn machen
if (strcmp("/auto", cmdtext, true, 10) == 0)
{
if(gAdmin[playerid] == 2 || gAdmin[playerid] == 3 || gAdmin[playerid] == 4)
{
und dann die funtionen
so mein ich das sonst bekom ich nur errors
benutz dcmd!! strcmp ist für sowas nicht gut ! und wieso schreibst du so ? :
if(gAdmin[playerid] == 2 gAdmin[playerid] == 3 gAdmin[playerid] == 4)
so gehts auch
{
if(gAdmin[playerid] >=2)
hier mal aus der Cmd aus meinen AdminScript
bei OnPlayerCommandText
dcmd(auto,4,cmdtext);
irg wo im Script nur nicht im Callback
dcmd_auto(playerid,params[])
if(gAdmin[playerid]< 2){
return SendClientMessage (playerid,COLOR_RED,"You must be a SuperAdmin or higher to spawn cars");
}
new veh,color1,color2;
if(sscanf(params,"ddd",veh,color1,color2)){
return SendClientMessage(playerid,COLOR_RED,"USAGE: /veh [vehicleID] [color1] [color2]");
}
if(veh < 400){
return SendClientMessage(playerid,COLOR_RED,"INVALID vehID![400-611]");
}
if(veh > 611){
return SendClientMessage(playerid,COLOR_RED,"INVALID vehID![400-611]");
}
if(color1 < 0){
return SendClientMessage(playerid,COLOR_RED,"INVALID color1ID![0-126]");
}
if(color1 > 126){
return SendClientMessage(playerid,COLOR_RED,"INVALID color1ID![0-126]");
}
if(color2 < 0){
return SendClientMessage(playerid,COLOR_RED,"INVALID color2ID![0-126]");
}
if(color2 > 126){
return SendClientMessage(playerid,COLOR_RED,"INVALID color2ID![0-126]");
}
new Float:x , Float:y , Float: z;
GetPlayerPos(playerid,x,y,z);
CreateVehicle(veh, x, y, z, 0, color1, color2, 123456789);
return 1;
}
dcmd kannst du in google eingeben und downloaden und mit sscanf dasselbe ....
1. ich mach alle commands so!
2. könntest du mir so ein Command machen?
Bitte
//edit allso alles bei onplayercommandtext rein
ehm nein ? Lol kannste net vernünftig lesen ? hab ja geschriben das erste kommt bei OnPlayerCommandText und das andere irg wo im script nur nicht im callback
dcmd kommt ganz nach oben im script (wenn du es gedownloadet hast )
#include<dcmd>
wohin sscanf reinkommt steht in Wiki
einfach das hier anschauen falls du weitere Fragen hast
[ SCRIPTING ] Commands mit Parametern
und das mit gadmin muss ich da noch 3 und 4 dazu machen oder nicht
//edit finde denn kck dcmd nicht an
schick bitte link
nein musst du nicht kukst du Mathe Stunde für dich:
< = ist kleiner als z.B 3<4 jz auf Deutsch "3 ist kleiner als 4"
> = ist größer als z.B 4>3 jz auf Deutsch "4 ist größer als 3"
if(gAdmin[playerid]< 2){
return SendClientMessage (playerid,COLOR_RED,"You must be a SuperAdmin or higher to spawn cars")
>>> auf deutsch "wenn der Spieler gAdmin Rank kleiner als 2 hat wird die Aktion nicht zugelassen"
ah und schau auch gleich meine edit frage an
//edit noch was kann ich statt COLOR_RED die farb cods zb"0x002285FF" nehmen