Jump to content

Question

Posted

Salut am o problema cand creez o masina personala nu se salveaza , cand da /buycar sau o cumpara de la dealer , adica dispare dupa ce intra iar pe server

[pawn]if(strcmp(cmd, "/vcreate", true) == 0)

{

    if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, "Nu ai rangul administrativ necesar!");

new

    Float:Pos[4],

    ivModel,

    ivPrice,

    ivColors[2],

iMsg[148];

//if(sscanf(params, "iiii", ivModel, ivPrice, ivColors[0], ivColors[1])) return SendClientMessage(playerid, -1, ""#CRED"{00FF00}Folosire:{FFFFFF} "#CORANGE"/VCreate < Vehicle Model > < Price > < Color 1 > < Color 2 >");

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

    return SendClientMessage(playerid, COLOR_WHITE, "{00FF00}Folosire:{FFFFFF} /vcreate <vmodel> <vprice> <vcolor1> <vcolor2>");

}

ivModel = strvalEx(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

    return SendClientMessage(playerid, COLOR_WHITE, "{00FF00}Folosire:{FFFFFF} /vcreate <vmodel> <vprice> <vcolor1> <vcolor2>");

}

ivPrice = strvalEx(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

    return SendClientMessage(playerid, COLOR_WHITE, "{00FF00}Folosire:{FFFFFF} /vcreate <vmodel> <vprice> <vcolor1> <vcolor2>");

}

ivColors[0] = strvalEx(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

    return SendClientMessage(playerid, COLOR_WHITE, "{00FF00}Folosire:{FFFFFF} /vcreate <vmodel> <vprice> <vcolor1> <vcolor2>");

}

ivColors[1] = strvalEx(tmp);

GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);

GetPlayerFacingAngle(playerid, Pos[3]);

++ Total_Veh_Created;

        vInfo[Total_Veh_Created][vCariD]    = Total_Veh_Created;

vInfo[Total_Veh_Created][vModel] = ivModel;

vInfo[Total_Veh_Created][vColor1] = ivColors[0];

vInfo[Total_Veh_Created][vColor2] = ivColors[1];

vInfo[Total_Veh_Created][vPrice] = ivPrice;

vInfo[Total_Veh_Created][vPosX] = Pos[0];

vInfo[Total_Veh_Created][vPosY] = Pos[1];

vInfo[Total_Veh_Created][vPosZ] = Pos[2];

vInfo[Total_Veh_Created][vPosA] = Pos[3];

strmid(vInfo[Total_Veh_Created][vOwner], "Unbought", 0, 20, 20);

strmid(vInfo[Total_Veh_Created][vPlate], "Game4Win", 0, 32, 32);

    vInfo[Total_Veh_Created][vPaintJ]  = 6;

    vInfo[Total_Veh_Created][vLocked]  = 1;

    vInfo[Total_Veh_Created][vTowed]  = 0;

new query[512];

format(query, sizeof(query) ,"INSERT INTO `vehicles` (`CarID`,`Model`,`Color1`,`Color2`,`Price`,`vPosX`,`vPosY`,`vPosZ`,`vPosA`,`Owner`,`Plate`,`PaintJ`,`Locked`,`Towed`) VALUES ('%d','%d','%d','%d','%d','%f','%f','%f','%f','%s','%s','%d','%d','%d')",

Total_Veh_Created,

ivModel,

ivColors[0],

ivColors[1],

ivPrice,

Pos[0],

Pos[1],

Pos[2],

Pos[3],

vInfo[Total_Veh_Created][vOwner],

vInfo[Total_Veh_Created][vPlate],

vInfo[Total_Veh_Created][vPaintJ],

vInfo[Total_Veh_Created][vLocked],

vInfo[Total_Veh_Created][vTowed]);

mysql_query(query);

  new cCar = CreateVehicle(ivModel, Pos[0], Pos[1], Pos[2], Pos[3], ivColors[0], ivColors[1], 500000);

SetVehicleNumberPlate(cCar, "G4W:RP");

OwnedVeh(cCar) = Total_Veh_Created;

//SavePrivVeh(Total_Veh_Created);

format(iMsg, sizeof(iMsg), ""#CYELLOW"Vehiculul: "#CBLUE"%i (VID: %i) "#CYELLOW"a fost creat. Pret: "#CBLUE"$%i "#CYELLOW"Numar: "#CBLUE"Game4Win", ivModel, Total_Veh_Created, ivPrice);

SendClientMessage(playerid, -1, iMsg);

return 1;

}[/pawn]

[pawn]if(strcmp(cmd, "/buycar", true) == 0)

{

for(new i = 0; i < MAX_BUYABLE_VEH; ++i)

{

    if(strmatch(vInfo[vOwner], pName(playerid)))

    {

Total_Player_Vehicles[playerid] = Total_Player_Vehicles[playerid] + 1;

}

}

if(Total_Player_Vehicles[playerid] >= MAX_OWNABLE_VEH && PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, -1, "{DC0C0C}Vehicul Personal: {FFFFFF}Ai atins numarul maxim de vehicule pe care le poti detine!");

//if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You need to be in a buyable vehicle to purchase it!");

new

ivID = GetPlayerVehicleID(playerid);

if(OwnedVeh(ivID) != 0)

{

    if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, COLOR_WHITE, "{DC0C0C}Vehicul Personal: {FFFFFF}Iti trebuie nivelul 3!");

if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid)))

{

    SendClientMessage(playerid, COLOR_RED, "{DC0C0C}Vehicul Personal: {FFFFFF}Nu poti cumpara acest vehicul...");

    return 1;

}

if(strmatch(vInfo[OwnedVeh(ivID)][vOwner], "Unbought"))

{

    //if(IsAHeli(GetVehicleModel(ivID)) && PlayerInfo[playerid][pHeli] != 0) return SendClientMessage(playerid, COLOR_WHITE, "{DC0C0C}Vehicul Personal: {FFFFFF}Ai deja un elicopter sau avion!");

    //else if(IsAMoto(GetVehicleModel(ivID)) && PlayerInfo[playerid][pMoto] != 0) return SendClientMessage(playerid, COLOR_WHITE, "{DC0C0C}Vehicul Personal: {FFFFFF}Ai deja o motocicleta!");

    //else if(IsAMoto(GetVehicleModel(ivID)) == 0 && IsAHeli(GetVehicleModel(ivID)) == 0) { if(PlayerInfo[playerid][pCar] != 0) return SendClientMessage(playerid, COLOR_WHITE, "{DC0C0C}Vehicul Personal: {FFFFFF}Ai deja o masina!"); }

    if(vInfo[OwnedVeh(ivID)][vPrice] < GetPlayerCash(playerid))

    {

        //if(IsAHeli(GetVehicleModel(ivID)) && PlayerInfo[playerid][pHeli] == 0) PlayerInfo[playerid][pHeli] = GetPlayerVehicleID(playerid);

    //else if(IsAMoto(GetVehicleModel(ivID)) && PlayerInfo[playerid][pMoto] == 0) PlayerInfo[playerid][pMoto] = GetPlayerVehicleID(playerid);

    //else { if(PlayerInfo[playerid][pCar] == 0) PlayerInfo[playerid][pCar] = GetPlayerVehicleID(playerid); }

strmid(vInfo[OwnedVeh(ivID)][vOwner], pName(playerid), 0, 128, 128);

new

    Float:vPos[4];

GetVehiclePos(ivID, vPos[0], vPos[1], vPos[2]);

GetVehicleZAngle(ivID, vPos[3]);

strmid(vInfo[OwnedVeh(ivID)][vPlate], pName(playerid), 0, 32, 32);

vInfo[OwnedVeh(ivID)][vLocked] = 1;

vInfo[OwnedVeh(ivID)][vTowed] = 0;

vUpdate(OwnedVeh(ivID), vLockedx);

                    vUpdate(OwnedVeh(ivID), vTowedx);

                    vUpdate(OwnedVeh(ivID), vOwnerx);

                   

SetVehicleNumberPlate(ivID, pName(playerid));

SetVehicleToRespawn(ivID);

SetVehiclePos(ivID, vPos[0], vPos[1], vPos[2]);

SetVehicleZAngle(ivID, vPos[3]);

PutPlayerInVehicle(playerid, ivID, 0);

new vehpricee = vInfo[OwnedVeh(ivID)][vPrice]/4;

    new finprice;

    if(PlayerInfo[playerid][pDonateRank] < 1) finprice= vInfo[OwnedVeh(ivID)][vPrice]; else finprice = vInfo[OwnedVeh(ivID)][vPrice] - vehpricee;

GivePlayerCash(playerid, -finprice);

SendClientMessage(playerid, -1, "{DC0C0C}Vehicul Personal: {FFFFFF}Multumim pentru noua achizitie!");

SendClientMessage(playerid, -1, "{DC0C0C}Vehicul Personal: {FFFFFF}Vehiculul ti-a fost inchis automat.");

TogglePlayerControllable(playerid, true);

//SavePrivVeh(OwnedVeh(ivID));

printf("=- Vehicle id: %i has been bought by: %s -=", OwnedVeh(ivID), pName(playerid));

return 1;

}

else return SendClientMessage(playerid, COLOR_RED, "{DC0C0C}Vehicul Personal: {FFFFFF}Nu ai destui bani!");

}

else return SendClientMessage(playerid, COLOR_RED, "{DC0C0C}Vehicul Personal: {FFFFFF}Acest vehicul nu este de vanzare!");

}

else return SendClientMessage(playerid, COLOR_RED, "{DC0C0C}Vehicul Personal: {FFFFFF}Acest vehicul nu este de vanzare!");

}[/pawn]

      [pawn]stock LoadPVehicles()

{

    new result[24], index = 0; TuneTimer = 10;

    mysql_query("SELECT * FROM `vehicles` ORDER BY `vehicles`.`CarID` ASC");

    mysql_store_result();

    while(mysql_retrieve_row())

    {

        // LOADING DATA    \====================================================================/

        index++;

        mysql_get_field("CarID", result); vInfo[index][vCariD] = strval(result);

        mysql_get_field("Model", result); vInfo[index][vModel] = strval(result);

        mysql_get_field("Color1", result); vInfo[index][vColor1] = strval(result);

        mysql_get_field("Color2", result); vInfo[index][vColor2] = strval(result);

        mysql_get_field("Price", result); vInfo[index][vPrice] = strval(result);

        mysql_get_field("Owner", result); strmid(vInfo[index][vOwner], result, false, strlen(result), 24);

        mysql_get_field("vPosX", result); vInfo[index][vPosX] = floatstr(result);

        mysql_get_field("vPosY", result); vInfo[index][vPosY] = floatstr(result);

        mysql_get_field("vPosZ", result); vInfo[index][vPosZ] = floatstr(result);

        mysql_get_field("vPosA", result); vInfo[index][vPosA] = floatstr(result);

        mysql_get_field("Plate", result); strmid(vInfo[index][vPlate], result, false, strlen(result), 24);

        mysql_get_field("PaintJ", result); vInfo[index][vPaintJ] = strval(result);

        mysql_get_field("Locked", result); vInfo[index][vLocked] = strval(result);

        mysql_get_field("Towed", result); vInfo[index][vTowed] = strval(result);

mysql_get_field("vMod1", result); vMods[index][0] = strval(result);

        mysql_get_field("vMod2", result); vMods[index][1] = strval(result);

        mysql_get_field("vMod3", result); vMods[index][2] = strval(result);

        mysql_get_field("vMod4", result); vMods[index][3] = strval(result);

        mysql_get_field("vMod5", result); vMods[index][4] = strval(result);

        mysql_get_field("vMod6", result); vMods[index][5] = strval(result);

        mysql_get_field("vMod7", result); vMods[index][6] = strval(result);

        mysql_get_field("vMod8", result); vMods[index][7] = strval(result);

        mysql_get_field("vMod9", result); vMods[index][8] = strval(result);

        mysql_get_field("vMod10", result); vMods[index][9] = strval(result);

        mysql_get_field("vMod11", result); vMods[index][10] = strval(result);

        mysql_get_field("vMod12", result); vMods[index][11] = strval(result);

// CREATING VEHICLE  \====================================================================/

new i = index;

  if(vInfo[vPosX] == 0.0 && vInfo[vPosY] == 0.0 && vInfo[vPosZ] == 0.0) { ++ Total_Veh_Created; /*INI_Close();*/ continue; }

new

vCarID = CreateVehicle(vInfo[vModel], vInfo[vPosX], vInfo[vPosY], vInfo[vPosZ], vInfo[vPosA], vInfo[vColor1], vInfo[vColor2], 500000);

SetVehicleNumberPlate(vCarID, vInfo[vPlate]);

ChangeVehiclePaintjob(vCarID, vInfo[vPaintJ]);

  OwnedVeh(vCarID) = index;

for(new iMod = 0; iMod < MAX_VEH_MODS; ++iMod)

{

    if(vMods[index][iMod] > 0)

    {

        AddVehicleComponent(vCarID, vMods[index][iMod]);

}

}

Total_Veh_Created = vInfo[index][vCariD];

//    MYSQL PART    \====================================================================/

new query[512];

format(query, sizeof(query),"UPDATE `vehicles` SET `CarID` = '%d' WHERE `CarID` = '%d';", index, vInfo[index][vCariD]);

mysql_query(query);

    }

    mysql_free_result();

printf("%d cars created!", Total_Veh_Created);

    return 1;

}

[/pawn]

Edit: Masinile raman in baza de date dar nu se incarca dupa restart

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.