CMD:aveh(playerid, params[])
{
new Float:X, Float:Y, Float:Z, Float:Angle,veh[50],string[256],color1,color2;
if(pInfo[playerid][Adminlevel] < 1) return SCM(playerid, COLOR_ERROR, ""ERROR_MESSAGE"");
if(!pInfo[playerid][LoggedInAsAdmin]) return SCM(playerid,COLOR_ERROR,""ERROR_MESSAGE"");
if(sscanf(params,"s[50]",veh)) return SCM(playerid, COLOR_ERROR, "USAGE: /aveh (Vehicle Name) (Color) (Color)");
new vehicle = GetVehicleModelIDFromName(veh);
if(vehicle < 400 || vehicle > 611) return SCM(playerid, COLOR_ERROR, ">> Invalid Vehicle Name.");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_ERROR,">> You Are Already In A Vehicle.");
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
format(string, sizeof(string), ">> You have spawned a %s. ID: %i. with color %d - %d ", VehicleNames[vehicle - 400], vehicle,color1,color2);
SCM(playerid, COLOR_SKYBLUE, string);
if(!sscanf(params,"s[50]dd",veh,color1,color2))
{
cVeh = CreateVehicle(vehicle, X+5, Y, Z, Angle, color1, color2, 1200);
}
if(!sscanf(params,"s",veh))
{
cVeh = CreateVehicle(vehicle, X+5, Y, Z, Angle, 0, 0, 1200);
}
PutPlayerInVehicle(playerid,cVeh,0);
LinkVehicleToInterior(cVeh, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(cVeh, GetPlayerVirtualWorld(playerid));
return 1;
}
CMD:veh(playerid, params[])
{
new Vehicle[50], color1, color2,string[128], angle,Float:X, Float:Y, Float:Z,PVeh;
if(pInfo[playerid][Adminlevel] < 1) return SCM(playerid, COLOR_ERROR, ""ERROR_MESSAGE"");
if(!pInfo[playerid][LoggedInAsAdmin]) return SCM(playerid,COLOR_ERROR,""ERROR_MESSAGE"");
if(sscanf(params, "s[50]", Vehicle, color1, color2)) return SCM(playerid, COLOR_ERROR, "USAGE: /veh (Vehicle Name) (color) (color)");
new veh = GetVehicleModelIDFromName(Vehicle);
if(veh < 400 || veh > 611) return SCM(playerid, COLOR_ERROR, "Invalid Vehicle ID / Name.");
GetPlayerPos(playerid, X, Y, Z);
if(!sscanf(params,"s[50]dd",veh,color1,color2))
{
PVeh = CreateVehicle(veh, X+3, Y, Z, angle, color1, color2, -1);
}
if(!sscanf(params,"s",veh))
{
PVeh = CreateVehicle(veh, X+3, Y, Z, angle, -1, -1, -1);
}
LinkVehicleToInterior(PVeh, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(PVeh, GetPlayerVirtualWorld(playerid));
format(string, sizeof(string), ">> You have spawned a %s. ID: %i with color %d - %d", VehicleNames[veh - 400], veh,color1,color2);
SCM(playerid, COLOR_SKYBLUE, string);
ChangeVehicleColor(PVeh, color1, color2);
return 1;
}
SCM(playerid, COLOR_ERROR, ""ERROR_MESSAGE"");
// Do this instead
SCM(playerid, COLOR_ERROR, ERROR_MESSAGE);
command(veh, playerid, params[])
{
if(Player[playerid][AdminLevel] >= 1 || TempAdmin[playerid][tAdminLevel] >= 1)
{
new Vehicle[50];
if(!sscanf(params, "s[50]", Vehicle))
{
new string[128], Float:Pos[4];
GetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
new veh = GetVehicleModelID(Vehicle);
if(veh < 400 || veh > 611) return SendClientMessage(playerid, GREY, "That wasn't a valid vehicle name.");
if(!IsPlayerInAnyVehicle(playerid))
{
new vehicleid = CreateVehicle(veh, Pos[0], Pos[1], Pos[2], Pos[3], -1, -1, -1);
BombTimer[vehicleid] = SetTimerEx("VehBombCar", 100, 1, "i", vehicleid);
GPSTimer[vehicleid] = SetTimerEx("VehGPSTimer", 100, 1, "i", vehicleid);
PutPlayerInVehicle(playerid, vehicleid, 0);
Engine[vehicleid] = 0;
Lights[vehicleid] = 0;
OwnedCar(vehicleid) = 0;
Bonnet[vehicleid] = 0;
Trunk[vehicleid] = 0;
format(string, sizeof(string), "AdmCmd: %s has just spawned a %s (VID: %d)", RemoveUnderScore(playerid), GetVehicleName(GetPlayerVehicleID(playerid)), GetPlayerVehicleID(playerid));
SendToAdmins(RED, string);
if(IsDiesel(vehicleid))
{
VehiclePetrol[vehicleid] = 0;
VehicleDiesel[vehicleid] = 100;
}
else
{
VehiclePetrol[vehicleid] = 100;
VehicleDiesel[vehicleid] = 0;
}
FuelBroke[vehicleid] = 0;
EngineBroke[vehicleid] = 0;
}
else return SendClientMessage(playerid, GREY, "You mustn't be in a vehicle to use this command.");
}
else return SendClientMessage(playerid, GREY, "Usage: /veh [vehiclename]");
}
else return SendClientMessage(playerid, GREY, AdminOnly);
return 1;
}
Some quick code optimisations;
pawn Код:
|
CMD:aveh(playerid, params[])
{
new Float:X, Float:Y, Float:Z, Float:Angle,veh[50],string[256],color1,color2,vehicle;
if(pInfo[playerid][Adminlevel] < 1) return SCM(playerid, COLOR_ERROR, ""ERROR_MESSAGE"");
if(!pInfo[playerid][LoggedInAsAdmin]) return SCM(playerid,COLOR_ERROR,""ERROR_MESSAGE"");
if(sscanf(params,"s[50]",veh)) return SCM(playerid, COLOR_ERROR, "USAGE: /aveh (Vehicle Name) (Color) (Color)");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_ERROR,">> You Are Already In A Vehicle.");
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
if(!sscanf(params,"s[50]dd",veh,color1,color2))
{
vehicle = GetVehicleModelIDFromName(veh);
if(vehicle < 400 || vehicle > 611) return SCM(playerid, COLOR_ERROR, ">> Invalid Vehicle Name.");
cVeh = CreateVehicle(vehicle, X+5, Y, Z, Angle, color1, color2, 1200);
}
if(!sscanf(params,"s[50]d",veh,color1))
{
color2 = color1;
vehicle = GetVehicleModelIDFromName(veh);
if(vehicle < 400 || vehicle > 611) return SCM(playerid, COLOR_ERROR, ">> Invalid Vehicle Name.");
cVeh = CreateVehicle(vehicle, X+5, Y, Z, Angle, color1, color2, 1200);
}
if(!sscanf(params,"s",veh))
{
color1 = 0;
color2 =0;
vehicle = GetVehicleModelIDFromName(veh);
if(vehicle < 400 || vehicle > 611) return SCM(playerid, COLOR_ERROR, ">> Invalid Vehicle Name.");
cVeh = CreateVehicle(vehicle, X+5, Y, Z, Angle, 0, 0, 1200);
}
format(string, sizeof(string), ">> You have spawned a %s. ID: %i. with color %d - %d ", VehicleNames[vehicle - 400], vehicle,color1,color2);
SCM(playerid, COLOR_SKYBLUE, string);
PutPlayerInVehicle(playerid,cVeh,0);
LinkVehicleToInterior(cVeh, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(cVeh, GetPlayerVirtualWorld(playerid));
return 1;
}
CMD:veh(playerid,params[]) {
if(pInfo[playerid][Adminlevel] < 1) {
new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
if(isnull(tmp)) return SendClientMessage(playerid, red, "Karbord: /car [Modelid/Name] [colour1] [colour2]");
new car, colour1, colour2, string[128];
if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp);
if(car < 400 || car > 611) return SendClientMessage(playerid, red, "KHATA: Invalid Vehicle Model");
if(isnull(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
if(!strlen(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
if(PlayerInfo[playerid][pCar] != -1 && !IsPlayerAdmin(playerid) ) CarDeleter(PlayerInfo[playerid][pCar]);
new LVehicleID,Float:X,Float:Y,Float:Z, Float:Angle,int1; GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid,Angle); int1 = GetPlayerInterior(playerid);
LVehicleID = CreateVehicle(car, X+3,Y,Z, Angle, colour1, colour2, -1); LinkVehicleToInterior(LVehicleID,int1); PutPlayerInVehicle(playerid, LVehicleID, 0);
PlayerInfo[playerid][pCar] = LVehicleID;
CMDMessageToAdmins(playerid,"CAR");
format(string, sizeof(string), "%s spawned a \"%s\" (Model:%d) colour (%d, %d), at %0.2f, %0.2f, %0.2f", pName(playerid), VehicleNames[car-400], car, colour1, colour2, X, Y, Z);
SaveToFile("CarSpawns",string);
format(string, sizeof(string), "Shoma Yek \"%s\" (Model:%d) Ba Range (%d, %d) Be Vojood Avordid", VehicleNames[car-400], car, colour1, colour2);
return SendClientMessage(playerid,lightblue, string);
} else return SendClientMessage(playerid,red,ERROR_MESSAGE);
}
A new one :
pawn Код:
|