Jump to content
  • 0

Bug masini personale bhood HPQ123


TheGodfather

Question

Salut, am gasit o problema la gamemde-ul bhood de HPQ123. Cand cineva isi cumpara o masina din dealership, uneori aceasta primeste random sistemele vip sau rainbow, totodata cand masina nu primeste aceste sisteme, in /v o sa spuna ca e ocupata chiar daca ea nu e ocupata iar playerul nu o poate despawna pentru ca ii spune ca este ocupata. Voi da cateva functii la care cred ca ar putea sa fie problema, daca nu, pun si gamemodeul sa va uitati in el daca doriti.

YCMD:buycar(playerid, params[], help) {
    if(aspam[playerid] > 0) return SCMEx(playerid, COLOR_LIGHTRED, "[Command Anti-Spam] {FFFFFF}Asteapta %d secunde.", aspam[playerid]);
    if(PlayerInfo[playerid][pLevel] < 3) return SCM(playerid, COLOR_GREY, "Nu ai nivel 3!");
    if(InDealer[playerid] != 0) return 1;
    if(!PlayerToPoint(3,playerid,1487.0498,-2287.2930,13.7529)) return SCM(playerid, COLOR_GREY, "Nu esti la dealership.");
    if(TestingModel[playerid] == 1) return true;
    LoadDsVehs(playerid);
    if(PlayerInfo[playerid][pWantedLevel] > 0) return SCM(playerid, -1, "Ai wanted, nu poti folosi aceasta comanda!");
    TestingModel[playerid] = 0;
    DealerCarType[playerid] = 1;
    InDealer[playerid] = 1;
    TogglePlayerControllable(playerid, 0);
    SetPlayerVirtualWorld(playerid, playerid+1);
    SetPlayerInterior(playerid, 0);
    DealerID[playerid] = 1;
    DealerCarColor1[playerid] = 1;
    DealerCarColor2[playerid] = 1;
    DealerCar[playerid] = CreateVehicleEx(DSModels[DealerID[playerid]][dModel],1463.3318,-2299.0806,13.6845,281.2260,DealerCarColor1[playerid],DealerCarColor2[playerid], -1, 0);
    SetVehicleVirtualWorld(DealerCar[playerid],playerid+1);
    LinkVehicleToInterior(DealerCar[playerid], 0);
    PlayerTextDrawSetPreviewModel(playerid, DSTds[4], DSModels[DealerID[playerid]][dModel]);
    PlayerTextDrawShow(playerid, DSTds[4]);
    ShowDealershipTextdraws(playerid);
    SelectTextDraw(playerid, 0x15B864FF);
    ShowCamera(playerid);    
    return true;
}

stock ShowPlayerVehicle(playerid, bool: type) {
    if(aspam[playerid] > 0) return SCMEx(playerid, COLOR_LIGHTRED, "[Command Anti-Spam] {FFFFFF}Asteapta %d secunde.", aspam[playerid]);
    new szTitle[2000], szDialog[2000], x = 0;
    if(Iter_Count(MyVehicle[playerid]) == 0) 
        return SCM(playerid, COLOR_LGREEN, "Eroare: Nu ai un vehicul personal!");
    
    format(szTitle, sizeof(szTitle), "Your Vehicles {E3DE31}%d/%d", Iter_Count(MyVehicle[playerid]), GetSlots(playerid));
    strcat(szDialog, "Vehicul\tStatus\tDespawn Time\tOthers details\n");
    foreach(MyVehicle[playerid], car) {
        format(szDialog, sizeof(szDialog), "%s%s\t%s\t%s\t%s\n", szDialog, aVehicleNames[CarInfo[car][cModel]-400], CarInfo[car][Spawned] != 0 ? IsVehicleOccupied(CarInfo[car][Spawned]) ? ("{FFFF00}[occupied]") : ("{26B309}[spawned]") : ("{FF0000}[despawned]"), CheckDespawnCar(car), TotalUp(car)); 
        PlayerInfo[playerid][pCarKey][x] = car;
        x++;
    }
    ShowPlayerDialog(playerid, type ? DIALOG_STICKET : DIALOG_GARAGE, DIALOG_STYLE_TABLIST_HEADERS, szTitle, szDialog, "Ok", "Exit");
    return true;
}

B-HOOD.pwn

Link to comment
Share on other sites

Recommended Posts

  • 0

Ti-am verificat acum gm-ul, am vazut un lucru, nu ai callback-ul OnVehicleSpawn, este posibil ca anumite lucruri sa ramana salvate cand cineva isi despawneaza vehiculul sau orice lucru de genul

Te duci la InsertDsCars si imediat inainte de saveCar(idd) adaugi:

CarInfo[idd][cVip] = 0; format(CarInfo[idd][cText], 64, "");

 

Undeva prin gm, adauga callback-ul:

public OnVehicleSpawn(vehicleid)
{
	if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
	if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);
	return 1;
}

La onvehicledeath:

if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);

Sistemul de vehicule personale este unul vechi, prost facut

Link to comment
Share on other sites

  • 0
1 oră în urmă, iSkull a spus:

Ti-am verificat acum gm-ul, am vazut un lucru, nu ai callback-ul OnVehicleSpawn, este posibil ca anumite lucruri sa ramana salvate cand cineva isi despawneaza vehiculul sau orice lucru de genul

Te duci la InsertDsCars si imediat inainte de saveCar(idd) adaugi:

CarInfo[idd][cVip] = 0; format(CarInfo[idd][cText], 64, "");

 

Undeva prin gm, adauga callback-ul:


public OnVehicleSpawn(vehicleid)
{
	if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
	if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);
	return 1;
}

La onvehicledeath:

if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);

Sistemul de vehicule personale este unul vechi, prost facut

Ok, multumesc. Am pus pe server modificarile pe care le-ai mentionat. Daca mai apar probleme revin cu raspuns.

Link to comment
Share on other sites

  • 0
On 6/6/2021 at 7:32 PM, iSkull said:

Ti-am verificat acum gm-ul, am vazut un lucru, nu ai callback-ul OnVehicleSpawn, este posibil ca anumite lucruri sa ramana salvate cand cineva isi despawneaza vehiculul sau orice lucru de genul

Te duci la InsertDsCars si imediat inainte de saveCar(idd) adaugi:

CarInfo[idd][cVip] = 0; format(CarInfo[idd][cText], 64, "");

 

Undeva prin gm, adauga callback-ul:

public OnVehicleSpawn(vehicleid)
{
	if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
	if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);
	return 1;
}

La onvehicledeath:

if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);

Sistemul de vehicule personale este unul vechi, prost facut

Inca apare sistemul VIP random pe vehiculele cumparate din dealership

Link to comment
Share on other sites

  • 0

Salutare la functia CreateVehicleEx, ai //VehicleOccupied[vehid] = 0;  incarca sa stergi // cum e mai jos si vezi daca iti merge

 

stock CreateVehicleEx(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay, clanson) {
    new vehid = CreateVehicle(modelid, x, y, z, angle, color1, color2, respawn_delay, clanson);
    VehicleOccupied[vehid] = 0;
    VehicleStats[vehid][vColorOne] = color1;
    VehicleStats[vehid][vColorTwo] = color2;
    SetVehicleHealth(vehid, 999);
    VehicleExist[vehid] = 1;
    return vehid;
}

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.