12.12.2011, 22:33
pawn Код:
CMD:addv(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1338) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
new model[32], modelid, color1, color2, price;
if(sscanf(params, "s[32]ddd", model, color1, color2, price)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /addv [model] [color1] [color2] [price]");
if(IsNumeric(model)) modelid = strval(model);
else modelid = GetVehicleModelIDFromName(model);
//if(modelid > 400 || modelid < 611) return SendClientMessage(playerid, COLOR_RED, "Invalid model ID!");
if(color1 < 0 || color2 < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid color!");
if(price < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid price!");
new Float:X, Float:Y, Float:Z, Float:angle;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, angle);
X += floatmul(floatsin(-angle, degrees), 4.0);
Y += floatmul(floatcos(-angle, degrees), 4.0);
for(new i = COCHE_DESDE; i < sizeof(CarInfo); i++)
{
if(!VehicleCreated[i])
{
CarInfo[i][cModel]= modelid;
CarInfo[i][cLocationx]= X;
CarInfo[i][cLocationy]= Y;
CarInfo[i][cLocationz]= Z;
CarInfo[i][cAngle]= angle+90.0;
CarInfo[i][cColorOne]=color1;
CarInfo[i][cColorTwo]=color2;
CarInfo[i][cValue]=price;
strmid(CarInfo[i][cOwner], "NO", 0, strlen("NO"), 255);
CarInfo[i][cLock]= 0;
CrearCoche(i);
CreateVehicle(CarInfo[i][cModel],CarInfo[i][cLocationx],CarInfo[i][cLocationy],CarInfo[i][cLocationz]+1.0,CarInfo[i][cAngle],CarInfo[i][cColorOne],CarInfo[i][cColorTwo],60000);
return 1;
}
}
SendClientMessage(playerid, COLOR_RED, "Can't add any more vehicles!");
return 1;
}
pawn Код:
forward CrearCoche(vehicleid);
public CrearCoche(vehicleid)
{
new file[26];
format(file, sizeof(file),"/Coches/v%d.ini", vehicleid);
if(!fexist(file))
{
SI_Open(file);
SI_WriteInt("Model",CarInfo[vehicleid][cModel]);
SI_WriteFloat("Location_X",CarInfo[vehicleid][cLocationx]);
SI_WriteFloat("Location_Y",CarInfo[vehicleid][cLocationy]);
SI_WriteFloat("Location_Z",CarInfo[vehicleid][cLocationz]);
SI_WriteFloat("Location_A",CarInfo[vehicleid][cAngle]);
SI_WriteInt("Color_1",CarInfo[vehicleid][cColorOne]);
SI_WriteInt("Color_2",CarInfo[vehicleid][cColorTwo]);
SI_WriteString("Owner",CarInfo[vehicleid][cOwner]);
SI_WriteInt("Value",CarInfo[vehicleid][cValue]);
SI_WriteInt("Owned",CarInfo[vehicleid][cOwned]);
SI_WriteInt("Locked",CarInfo[vehicleid][cLock]);
SI_Save();
SI_Close();
}
return 1;
}
ACLARACION: El Include que uso es SII pero como vieron SII es parecido a Y_ini en sentido de los nombres de las funciones lo que ise fue cambiar lo de SII(INI_) por SI_...