Guten Abend,
Mein aktueller /Carlock Befehl ist etwas nervig. Bin mir jedoch unsicher, wie ich dass am besten machen kann.
Code
COMMAND:lock(playerid,params[])
{
if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,LEUCHTENDESROT,"Du bist abwesend gemeldet. /back - anwesend melden.");
if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
new Float:Pos[3],cmd[15],string[64];
if(sscanf(params,"s[15]",cmd))return SendClientMessage(playerid,GRAU,"/lock [RentVeh/FraktionsVeh/AdminVeh]");
if(strcmp(cmd,"RentVeh",true) == 0)
{
if(Spieler[playerid][pRentAVeh][1] == 0)return SendClientMessage(playerid,GRAU,"Du hast dir kein Fahrzeug bei einem Fahrzeugverleih gemietet.");
GetVehiclePos(RentVeh[playerid][1],Pos[0],Pos[1],Pos[2]);
GetVehicleParamsEx(RentVeh[playerid][1],engine,lights,alarm,doors,bonnet,boot,objective);
if(IsPlayerInRangeOfPoint(playerid,3.0,Pos[0],Pos[1],Pos[2]))
{
if(lockedveh[RentVeh[playerid][1]] == false)
{
SetVehicleParamsEx(RentVeh[playerid][1],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
lockedveh[RentVeh[playerid][1]] = true;
GameTextForPlayer(playerid,"~w~Mietfahrzeug ~r~abgeschlossen",2000,6);
PlayerHearMusicInRange(Pos[0],Pos[1],Pos[2],1027,10,0,0);//x,y,z,soundid,radius,timer an = 1 wenn aus = 0,zeit wann timer music/sound beendet
}
else if(lockedveh[RentVeh[playerid][1]] == true)
{
SetVehicleParamsEx(RentVeh[playerid][1],engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
lockedveh[RentVeh[playerid][1]] = false;
GameTextForPlayer(playerid,"~w~Mietfahrzeug ~g~aufgeschlossen",2000,6);
PlayerHearMusicInRange(Pos[0],Pos[1],Pos[2],1027,10,0,0);//x,y,z,soundid,radius,timer an = 1 wenn aus = 0,zeit wann timer music/sound beendet
}
return 1;
}
return SendClientMessage(playerid,GRAU,"Du bist nicht in der Nähe deines gemieteten Fahrzeuges.");
}
if(strcmp(cmd,"FraktionsVeh",true) == 0)
{
if(isPlayerInFrakt(playerid,0))return SendClientMessage(playerid,GRAU,"Du bist nicht in der jeweiligen Fraktion.");
for(new fv;fv<MAX_FVEHS;fv++)
{
if(IsValidVehicle(Fahrzeug[fv][Vehicle]))
{
GetVehiclePos(Fahrzeug[fv][Vehicle],Pos[0],Pos[1],Pos[2]);
GetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,doors,bonnet,boot,objective);
if(IsPlayerInRangeOfPoint(playerid,3.0,Pos[0],Pos[1],Pos[2]))
{
if(Fahrzeug[fv][Fraktion] == Spieler[playerid][pFraktion] && isPlayerAMember(playerid,Fahrzeug[fv][FraktionsRang]))
{
if(Fahrzeug[fv][Abgeschlossen] == 0)
{
SetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
Fahrzeug[fv][Abgeschlossen] = 1;
format(string,sizeof(string),"~w~%s~n~~r~abgeschlossen",VehicleDefinations[Fahrzeug[fv][modelid]-400]);
GameTextForPlayer(playerid,string,2000,6);
PlayerHearMusicInRange(Pos[0],Pos[1],Pos[2],1027,10,0,0);//x,y,z,soundid,radius,timer an = 1 wenn aus = 0,zeit wann timer music/sound beendet
return 1;
}
else if(Fahrzeug[fv][Abgeschlossen] == 1)
{
SetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
Fahrzeug[fv][Abgeschlossen] = 0;
format(string,sizeof(string),"~w~%s~n~~g~aufgeschlossen",VehicleDefinations[Fahrzeug[fv][modelid]-400]);
GameTextForPlayer(playerid,string,2000,6);
PlayerHearMusicInRange(Pos[0],Pos[1],Pos[2],1027,10,0,0);//x,y,z,soundid,radius,timer an = 1 wenn aus = 0,zeit wann timer music/sound beendet
return 1;
}
}
return SendClientMessage(playerid,GRAU,"Du besitzt nicht den jeweiligen Rang.");
}
}
}
return SendClientMessage(playerid,GRAU,"Du bist nicht in der Nähe eines Fraktionsfahrzeuges.");
}
if(strcmp(cmd,"AdminVeh",true) == 0)
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,WEISS,"Du bist dazu nicht berechtigt.");
for(new a=0;a<MAX_ADMINVEHS;a++)
{
GetVehiclePos(adminmobile[a],Pos[0],Pos[1],Pos[2]);
GetVehicleParamsEx(adminmobile[a],engine,lights,alarm,doors,bonnet,boot,objective);
if(IsPlayerInRangeOfPoint(playerid,3.0,Pos[0],Pos[1],Pos[2]))
{
if(lockedveh[adminmobile[a]] == false)
{
SetVehicleParamsEx(adminmobile[a],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
lockedveh[adminmobile[a]] = true;
GameTextForPlayer(playerid,"~w~Adminmobil~n~~r~abgeschlossen",2000,6);
PlayerHearMusicInRange(Pos[0],Pos[1],Pos[2],1027,10,0,0);//x,y,z,soundid,radius,timer an = 1 wenn aus = 0,zeit wann timer music/sound beendet
}
else if(lockedveh[adminmobile[a]] == true)
{
SetVehicleParamsEx(adminmobile[a],engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
lockedveh[adminmobile[a]] = false;
GameTextForPlayer(playerid,"~w~Adminmobil~n~~g~aufgeschlossen",2000,6);
PlayerHearMusicInRange(Pos[0],Pos[1],Pos[2],1027,10,0,0);//x,y,z,soundid,radius,timer an = 1 wenn aus = 0,zeit wann timer music/sound beendet
}
return 1;
}
}
return SendClientMessage(playerid,GRAU,"Du bist nicht in der Nähe eines Adminfahrzeuges.");
}
return SendClientMessage(playerid,GRAU,"/lock [RentVeh/FraktionsVeh/AdminVeh]");
}
}
Alles anzeigen
Ich möchte aber gerne nur einen Command eingeben ohne irgendwas dahinter schreiben zu müssen, wie mache ich das am besten?