09.05.2013, 11:12
Well I made a system that saves the vehicle, that works, but I also made a function that it checks IF the vehicle is already in the database it will give a message: "Vehicle already exist" But instead of sending that it saves it a second time...
Codes:
Did i miss Something?
Codes:
pawn Код:
command(savecar, playerid, params[])
{
new carid = GetPlayerVehicleID(playerid);
if(AdminLoggedIn[playerid] == 1 && Player[playerid][Adminlevel] >= 6)
{
if(IsPlayerInAnyVehicle(playerid))
{
new VehPlate[255];
format(VehPlate, 255, "%s", GetFreeVehiclePlate());
Vehicles[carid][ModelID] = GetVehicleModel(carid);
Vehicles[carid][Color1] = 0;
Vehicles[carid][Color2] = 0;
GetVehiclePos(carid, Vehicles[carid][VPosX], Vehicles[carid][VPosY], Vehicles[carid][VPosZ]);
GetVehicleZAngle(carid, Vehicles[carid][VPosAngle]);
Vehicles[carid][FactionCar] = 0;
format(Vehicles[carid][VOwner], 255, "None");
format(Vehicles[carid][VPlate], 255, "%s", VehPlate);
Vehicles[carid][VehicleWorld] = GetVehicleVirtualWorld(carid);
Vehicles[carid][VehicleInteriorID] = GetPlayerInterior(playerid);
//SavingVehiclePlayerID = playerid;
new query[300];
format(query, sizeof(query), "SELECT * FROM `Vehicles` WHERE `VehicleID` = %d", carid);
mysql_function_query(connectionHandle, query, false, "SaveVehicleCallback", "dd", carid, playerid);
}
}
else
{
TextDrawShowForPlayer(playerid, Text:CantCommand);
SetTimerEx("RemoveCantCommand", 3500, false, "d", playerid);
}
return 1;
}
public SaveVehicleCallback(vehicleid, playerid)
{
new
rows,
fields;
cache_get_data(rows, fields);
if(rows == 1)
{
//SendClientMessage(SavingVehiclePlayerID, WARNRED, "This Vehicle already exists");
SendClientMessage(playerid, WARNRED, "This Vehicle already exists");
}
else if(rows == 0)
{
new query[300];
format(query, sizeof(query), "INSERT INTO `Vehicles` (`ModelID`, `VehicleID`, `Color1`, `Color2`, `VPosX`, `VPosY`, `VPosZ`, `VPosAngle`, `FactionCar`, `VOwner`, `VPlate`, `VehicleWorld`, `VehicleInteriorID`) VALUES ");
format(query, sizeof(query), "%s(%d, %d, %d, %d, '%f', '%f', '%f', '%f', %d, '%s', '%s', %d, %d)", query, Vehicles[vehicleid][ModelID], vehicleid, Vehicles[vehicleid][Color1], Vehicles[vehicleid][Color2], Vehicles[vehicleid][VPosX], Vehicles[vehicleid][VPosY], Vehicles[vehicleid][VPosZ], Vehicles[vehicleid][VPosAngle], Vehicles[vehicleid][FactionCar], Vehicles[vehicleid][VOwner], Vehicles[vehicleid][VPlate], Vehicles[vehicleid][VehicleWorld], Vehicles[vehicleid][VehicleInteriorID]);
mysql_function_query(connectionHandle, query, false, "DefaultCallback", "");
DestroyVehicle(vehicleid);
new query2[400];
format(query2, sizeof(query2), "SELECT * FROM `Vehicles` WHERE `VehicleID` = %d", vehicleid); // Selects all the information from the table
mysql_function_query(connectionHandle, query2, true, "LoadVehiclesCallback", "d", vehicleid);
SendClientMessage(playerid, GREEN, "Vehicle Saved!");
//SendClientMessage(SavingVehiclePlayerID, GREEN, "Vehicle Saved!");
//SavingVehiclePlayerID = -1;
}
else
{
//SendClientMessage(SavingVehiclePlayerID, COLOR_WHITE, "There was a "#COL_EMB_RED"fatal error "#COL_EMB_WHITE"during registration! Please contact a developer.");
SendClientMessage(playerid, COLOR_WHITE, "There was a "#COL_EMB_RED"fatal error "#COL_EMB_WHITE"during registration! Please contact a developer.");
}
return 1;
}