if(strcmp("/comprarveh", cmd, true) == 0) //Comprar vehнculos
{
if(!GetPlayerConcesionario(playerid)){SendClientMessage(playerid, Rojo, "* No estбs en un concesionario."); return 1;}
if(GetPlayerConcesionario(playerid) == 7 && PlayerInfo[playerid][pLicNavegacion] == 0){SendClientMessage(playerid, Rojo, "* Necesitas licencia de navegaciуn para comprar vehнculos aquн."); return 1;}
if(GetPlayerConcesionario(playerid) == 6 && PlayerInfo[playerid][pLicAviacion] == 0){SendClientMessage(playerid, Rojo, "* Necesitas licencia de aviaciуn para comprar vehнculos aquн."); return 1;}
if((GetPlayerConcesionario(playerid) >= 1 && GetPlayerConcesionario(playerid) <= 5) && PlayerInfo[playerid][pLicConduccion] == 0){SendClientMessage(playerid, Rojo, "* Necesitas licencia de conducciуn para comprar vehнculos aquн."); return 1;}
cmd = strtok(cmdtext,idx);
if(!strlen(cmd))
{
SendClientMessage(playerid, Naranja, "* /Comprarveh [VehнculoID] [Color1] [Color2]");
SendClientMessage(playerid, Naranja, "Puedes ver la lista de colores en el foro.");
return 1;
}
if(EnCatalogoVeh[playerid] != NOEXISTE){SendClientMessage(playerid, Rojo, "* Sal del catбlogo primero."); return 1;}
//GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
new tmpcar;
tmpcar = strval(cmd);
if(datacar[tmpcar][dcNivel] > PlayerInfo[playerid][pNivel])
{
SendClientMessage(playerid, Rojo, "* Nivel insuficiente.");
return 1;
}
new EspacioLibre;
for(new x = 0; x < 5; x++)
{
if(PlayerInfo[playerid][pLlaveCoche][x] == 0){EspacioLibre = 1; break;}
}
if(EspacioLibre == 0){SendClientMessage(playerid, Rojo, "* Ya tienes todos los slots de llaves propias ocupados."); return 1;}
if(datacar[tmpcar][dcConcesionario] != GetPlayerConcesionario(playerid))
{
SendClientMessage(playerid, Rojo, "* No disponemos de ese modelo, deberбs buscar en otro concesionario.");
return 1;
}
new Conce2 = GetPlayerConcesionarioEx(playerid);
for(new i=0; i <= TotalVeh; i++)
{
if(IsVehicleInRangeOfPoint(10.0, i, Concesionarios[Conce2][ctX], Concesionarios[Conce2][ctY], Concesionarios[Conce2][ctZ]))
{
SendClientMessage(playerid, Rojo, "* Hay un vehнculo en el punto de entrega.");
return 1;
}
}
if(GetPlayerMoney(playerid) < datacar[tmpcar][dcPrecio] && PlayerInfo[playerid][pDineroBanco] < datacar[tmpcar][dcPrecio])
{
SendClientMessage(playerid, Rojo, "* No tienes suficiente dinero ni en mano ni en el banco.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Naranja, "* /Comprarveh [VehнculoID] [Color1] [Color2]");
SendClientMessage(playerid, Naranja, "Puedes ver la lista de colores en el foro.");
return 1;
}
new color1;
color1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Naranja, "* /Comprarveh [VehнculoID] [Color1] [Color2]");
SendClientMessage(playerid, Naranja, "Puedes ver la lista de colores en el foro.");
return 1;
}
new color2;
color2 = strval(tmp);
for(new x; x < 5; x++)
{
if(PlayerInfo[playerid][pLlaveCoche][x] == 0)
{
PlayerInfo[playerid][pLlaveCoche][x] = CodigoLlave;
break;
}
}
SendClientMessage(playerid, Verde, "* Has comprado un nuevo vehнculo.");
SendClientMessage(playerid, Amarillo, "* El vendedor te ha entregado las llaves (/cuenta).");
new Conce = datacar[tmpcar][dcConcesionario]-1;
if(GetPlayerMoney(playerid) >= datacar[tmpcar][dcPrecio]){GivePlayerMoneyAC(playerid, -datacar[tmpcar][dcPrecio]);}
else if(PlayerInfo[playerid][pDineroBanco] >= datacar[tmpcar][dcPrecio]){PlayerInfo[playerid][pDineroBanco] -= datacar[tmpcar][dcPrecio];}
else{return 1;}
new Coche = CreateVehicle(datacar[tmpcar][dcIDModel], Concesionarios[Conce][ctX], Concesionarios[Conce][ctY], Concesionarios[Conce][ctZ], 30.0, color1, color2, 3000000);
CarInfo[Coche][cID] = Coche;
CarInfo[Coche][cLlave] = CodigoLlave;
CarInfo[Coche][cModelo] = datacar[tmpcar][dcIDModel];
CarInfo[Coche][cPosX] = Concesionarios[Conce][ctX];
CarInfo[Coche][cPosY] = Concesionarios[Conce][ctY];
CarInfo[Coche][cPosZ] = Concesionarios[Conce][ctZ];
CarInfo[Coche][cZAngle] = 30.0;
CarInfo[Coche][cColor1] = color1;
CarInfo[Coche][cColor2] = color2;
CarInfo[Coche][cComprado] = 1;
format(CarInfo[Coche][cDueno], MAX_PLAYER_NAME, "%s", PlayerInfo[playerid][pNombre]);
format(CarInfo[Coche][cNombreModelo], MAX_PLAYER_NAME, "%s", datacar[tmpcar][dcNombre]);
CarInfo[Coche][cValor] = datacar[tmpcar][dcPrecio];
CarInfo[Coche][cGas] = 50;
CarInfo[Coche][cMaxMaletero] = 7;
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(Coche, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Coche, 0, 0, alarm, doors, bonnet, boot, objective);
SetVehicleMatricula(Coche);
format(string,sizeof(string),"INSERT INTO vehiculos (Llave, Modelo) VALUES ('%d','%d')",CarInfo[Coche][cLlave],CarInfo[Coche][cModelo]);
mysql_query(1, string);
new ccount;
new sql[80], row[512];
format(sql, sizeof(sql), "SELECT SQLID FROM vehiculos ORDER BY SQLID DESC");
mysql_query(1, sql);
mysql_store_result();
mysql_fetch_row(row);
ccount = strval(row);
mysql_free_result();
CarInfo[Coche][cSQLID] = ccount;
SaveCar(Coche);
CodigoLlave ++;
TotalVeh ++;
return 1;
}
forward SaveCar(idx); //Guardar coches -IMPORTANTE NO BORRAR NI UN SOLO VEHНCULO DE LA DB-
public SaveCar(idx)
{
if(CarInfo[idx][cLlave] != 0 && CarInfo[idx][cModelo] != 0)
{
GetVehiclePos(idx, CarInfo[idx][cPosX], CarInfo[idx][cPosY], CarInfo[idx][cPosZ]);
GetVehicleZAngle(idx, CarInfo[idx][cZAngle]);
GetVehicleDamageStatus(idx, CarInfo[idx][cPanels], CarInfo[idx][cDoors], CarInfo[idx][cLights], CarInfo[idx][cTires]);
GetVehicleHealth(idx, CarInfo[idx][cDamage]);
CarInfo[idx][cVirtualWorld] = GetVehicleVirtualWorld(idx);
new sql[1024];
format(sql, 1024, "UPDATE vehiculos SET ID=%d,Llave=%d,Modelo=%d,PosX=%f,PosY=%f,PosZ=%f,ZAngle=%f,Color1=%d,Color2=%d,Comprado=%d,Dueno='%s',NombreModelo='%s',Valor=%d,Cerrado=%d,Gas=%d,EnDeposito=%d,MaxMaletero=%d WHERE SQLID=%d",
CarInfo[idx][cID], //ID en SAMP
CarInfo[idx][cLlave], //Llave del vehнculo
CarInfo[idx][cModelo], //Modelo del vehнculo
CarInfo[idx][cPosX], //Posiciуn X
CarInfo[idx][cPosY], //Posiciуn Y
CarInfo[idx][cPosZ], //Posiciуn Z
CarInfo[idx][cZAngle], //Бngulo
CarInfo[idx][cColor1], //Color 1
CarInfo[idx][cColor2], //Color 2
CarInfo[idx][cComprado], //Si tiene propietario
CarInfo[idx][cDueno], //Nombre del propietario
CarInfo[idx][cNombreModelo], //Nombre del modelo
CarInfo[idx][cValor], //Coste del vehнculo
CarInfo[idx][cCerrado], //Si estб cerrado
CarInfo[idx][cGas], //Combustible
CarInfo[idx][cEnDeposito], //Si estб en el depуsito
CarInfo[idx][cMaxMaletero], //Nъmero de slots que el maletero podrб tener
CarInfo[idx][cSQLID]); //ID en DB
mysql_query(1, sql);
for(new x=0; x<CarInfo[idx][cMaxMaletero]; x++)
{
format(sql, 1024, "UPDATE vehiculos SET Maletero%d=%d,MaleteroCant%d=%d WHERE SQLID=%d",
x+1, CarInfo[idx][cMaletero][x], x+1, CarInfo[idx][cMaleteroCant][x],
CarInfo[idx][cSQLID]);
mysql_query(1, sql);
}
format(sql, 1024, "UPDATE vehiculos SET Panels=%d,Doors=%d,Lights=%d,Tires=%d,Damage=%f,VirtualWorld=%d,Interior=%d WHERE SQLID=%d",
CarInfo[idx][cPanels], //Daсo superficies
CarInfo[idx][cDoors], //Daсo puertas
CarInfo[idx][cLights], //Daсo luces
CarInfo[idx][cTires], //Ruedas pinchadas
CarInfo[idx][cDamage], //Daсo del vehнculo
CarInfo[idx][cVirtualWorld],
CarInfo[idx][cInterior],
CarInfo[idx][cSQLID]);
mysql_query(1, sql);
}
return 1;
}
No! Dime donde pongo que cosa, estarнa muy agradecido, soy muy novato en MySQL, por lo visto tъ no!
|
--
-- Estructura de tabla para la tabla `vehiculos`
--
CREATE TABLE IF NOT EXISTS `vehiculos` (
`SQLID` int(6) NOT NULL [B]AUTO_INCREMENT[/B],
`ID` int(4) NOT NULL,
`Llave` int(6) NOT NULL,
`Modelo` int(4) NOT NULL,
`PosX` float NOT NULL,
`PosY` float NOT NULL,
`PosZ` float NOT NULL,
`ZAngle` float NOT NULL,
`Color1` int(5) NOT NULL,
`Color2` int(5) NOT NULL,
`Comprado` int(2) NOT NULL,
`Dueno` varchar(24) NOT NULL,
`NombreModelo` varchar(20) NOT NULL,
`Valor` int(10) NOT NULL,
`Cerrado` int(2) NOT NULL,
`Gas` int(4) NOT NULL,
`EnDeposito` int(3) NOT NULL,
`MaxMaletero` int(3) NOT NULL,
`Maletero1` int(5) NOT NULL,
`MaleteroCant1` int(10) NOT NULL,
`Maletero2` int(5) NOT NULL,
`MaleteroCant2` int(10) NOT NULL,
`Maletero3` int(5) NOT NULL,
`MaleteroCant3` int(10) NOT NULL,
`Maletero4` int(5) NOT NULL,
`MaleteroCant4` int(10) NOT NULL,
`Maletero5` int(5) NOT NULL,
`MaleteroCant5` int(10) NOT NULL,
`Maletero6` int(5) NOT NULL,
`MaleteroCant6` int(10) NOT NULL,
`Maletero7` int(5) NOT NULL,
`MaleteroCant7` int(10) NOT NULL,
`Maletero8` int(5) NOT NULL,
`MaleteroCant8` int(10) NOT NULL,
`Maletero9` int(5) NOT NULL,
`MaleteroCant9` int(10) NOT NULL,
`Maletero10` int(5) NOT NULL,
`MaleteroCant10` int(10) NOT NULL,
`Panels` int(8) NOT NULL,
`Doors` int(8) NOT NULL,
`Lights` int(8) NOT NULL,
`Tires` int(8) NOT NULL,
`Damage` float NOT NULL,
`VirtualWorld` int(4) NOT NULL,
`Interior` int(4) NOT NULL,
PRIMARY KEY (`SQLID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Volcado de datos para la tabla `vehiculos`
--
INSERT INTO `vehiculos` (`SQLID`, `ID`, `Llave`, `Modelo`, `PosX`, `PosY`, `PosZ`, `ZAngle`, `Color1`, `Color2`, `Comprado`, `Dueno`, `NombreModelo`, `Valor`, `Cerrado`, `Gas`, `EnDeposito`, `MaxMaletero`, `Maletero1`, `MaleteroCant1`, `Maletero2`, `MaleteroCant2`, `Maletero3`, `MaleteroCant3`, `Maletero4`, `MaleteroCant4`, `Maletero5`, `MaleteroCant5`, `Maletero6`, `MaleteroCant6`, `Maletero7`, `MaleteroCant7`, `Maletero8`, `MaleteroCant8`, `Maletero9`, `MaleteroCant9`, `Maletero10`, `MaleteroCant10`, `Panels`, `Doors`, `Lights`, `Tires`, `Damage`, `VirtualWorld`, `Interior`) VALUES
(1, 89, 1000, 467, 10000, 10000, 10000, 10000, 0, 0, 1, '', 'Oceanic', 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 0);
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
1 AUTO_INCREMENT=1 ;
Seguro moviste algo, ya he testeado ese cmd y se agrega el vehнculo correctamente... intenta haciendo truncate y luego intenta de nuevo comprar el auto..
|