24.04.2010, 21:31
Ok, cannot believe I'm still stuck on this crap. Basically, I've written the command .. but now I have no idea how to let the user enter either a partial or full name of the car (Infernus, Inf, etc.) or the model ID, I mean, it was EASY with strtok, but now I'm stuck ..
Any help is appreciated, as usual.
pawn Код:
CMD:v(playerid, params[])
{
if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid))
{
new car, vIsName, colour1, colour2, vehicle, Int, Float: Angle, Float: X,Float: Y,Float: Z, world;
if(sscanf(params, "ddd", car, colour1, colour2)) return SendClientMessage(playerid, Red, "USAGE: /v [ModelID/Name] [Colour 1] [Colour 2] (Colours optional)");
{
GetPlayerPos(playerid, X, Y, Z); Int = GetPlayerInterior(playerid); world = GetPlayerVirtualWorld(playerid); GetPlayerFacingAngle(playerid,Angle);
if(car < 400 || car > 611) return SendClientMessage(playerid, Red, "Invalid Vehicle Model");
if(!IsNumeric(car)) vIsName = GetVehicleModelIDFromName(car); else vIsName = strval(car); // This bit I'm stuck at :|
vehicle = CreateVehicle(vIsName, X+3, Y, Z, Angle, colour1, colour2, -1);
vName = GetVehicleName(vehicle);
if(world > 0) return SetVehicleVirtualWorld(vehicle,world);
LinkVehicleToInterior(vehicle,Int);
DynamicV[vehicle] = 1;
format(string, sizeof(string), "%s successfully spawned. To destroy it, use /dc", vName);
return SendClientMessage(playerid,White,string);
}
else if(sscanf(params, "d", car))
{
GetPlayerPos(playerid, X, Y, Z); Int = GetPlayerInterior(playerid); world = GetPlayerVirtualWorld(playerid); GetPlayerFacingAngle(playerid,Angle);
if(car < 400 || car > 611) return SendClientMessage(playerid, Red, "Invalid Vehicle Model");
if(!IsNumeric(car)) vIsName = GetVehicleModelIDFromName(car); else vIsName = strval(car);
vehicle = CreateVehicle(vIsName, X+3, Y, Z, Angle, -1, -1, -1);
vName = GetVehicleName(vehicle);
if(world > 0) return SetVehicleVirtualWorld(vehicle,world);
LinkVehicleToInterior(vehicle,Int);
DynamicV[vehicle] = 1;
format(string, sizeof(string), "%s successfully spawned. To destroy it, use /dc", vName);
return SendClientMessage(playerid,White,string);
}
} else return 0;
return 1;
}
