Jump to content
  • 0

O mica problema... (bug)


Shad0wdpbgd

Question

Salut, am aceasta problema banala si nu stiu cum sa o rezolv. Daca poate sa ma ajute cineva, multumesc.

Problema: cand intru intr-o masina care nu este personala tot imi arata "this infernus (id: blabla) is owned by dasd".

COD: (comanda /spawncar) 

YCMD:spawncar(playerid, params[], help) 
{
    if(!Iter_Contains(ServerAdmins, playerid))
        return sendPlayerError(playerid, "Nu ai acces la aceasta comanda!");

    if(Iter_Count(AdminVehicles) >= MAX_ADMIN_VEHICLES)
        return sendPlayerError(playerid, "Nu poti crea un vehicul deoarece s-a atins numarul maxim de vehicule (%d).", MAX_ADMIN_VEHICLES);

    new modelid, firstcolor, secondcolor;
    if(sscanf(params, "ddd", modelid, firstcolor, secondcolor))
        return sendPlayerSyntax(playerid, "/spawncar <model id> <first color> <second color>");

    if(PlayerInfo[playerid][pDrivingLicense] == 0)
        return sendPlayerError(playerid, "Nu ai licenta de condus!");

    if(modelid < 400 || modelid > 611)
        return sendPlayerError(playerid, "Invalid model id! (400 - 611)");

    if(firstcolor < 0 || firstcolor > 255)
        return sendPlayerError(playerid, "Invalid first color (0 - 255).");
        
    if(secondcolor < 0 || secondcolor > 255)
        return sendPlayerError(playerid, "Invalid second color (0 - 255).");

    new Float:x, Float:y, Float:z, Float:angle;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, angle);

    new carid = CreateVehicle(modelid, x, y, z, angle, firstcolor, secondcolor, -1);
    SetVehicleNumberPlate(carid, "AdmCar");
    PutPlayerInVehicle(playerid, carid, 0);
    Iter_Add(AdminVehicles, carid);
    vehicle_fuel[carid] = 100.0;
   //problema vehicle_personal[carid] = -1;

    sendAdmin(COLOR_DARKRED, "Warning: Admin %s spawned a %s (ID: %d).", getName(playerid), getVehicleName(modelid), carid);
    return true;
}

 

si Examen

vehicle_personal[PlayerInfo[playerid][pExamenVehicle]] = -1;

 

// vehicle_personal[MAX_VEHICLES]

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0
2 minutes ago, SanckyAdv said:

Arata codul unde iti da acel mesaj, se afla la callback-ul OnPlayerKeyStateChange sau OnPlayerEnterVehicle.

        if(vehicle_personal[vehicleid] > -1)
        {
            new id = vehicle_personal[vehicleid];
            SCMF(playerid, COLOR_WHITE, "This %s (ID: %d) is owned by %s | Age: %d days | Kilometers: %0.2f km | Colors: %d, %d.", getVehicleName(PersonalVehicle[id][pvModelID]), PersonalVehicle[id][pvID], getName(getVehicleOwner(PersonalVehicle[id][pvOwnerID])), getVehDays(id), PersonalVehicle[id][pvOdometer], PersonalVehicle[id][pvColorOne], PersonalVehicle[id][pvColorTwo]);
            PersonalVehicle[id][pvDespawnTime] = 0;
        }
    }

Link to comment
Share on other sites

  • 0
Just now, SanckyAdv said:

Arata si OnVehicleSpawn respectiv OnVehicleDeath.

public OnVehicleSpawn(vehicleid)
{
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, objective);

    vehicle_engine[vehicleid] = false;
    vehicle_lights[vehicleid] = false;
    vehicle_bonnet[vehicleid] = false;
    vehicle_boot[vehicleid] = false;
    vehicle_fuel[vehicleid] = 100.0;
    return 1;
}

Link to comment
Share on other sites

  • 0
45 minutes ago, SanckyAdv said:

Atunci, fa-i un debug in care sa-ti returneze in mesaj valoarea variabilei vehicle_personal[GetPlayerVehicleID(playerid)] si vezi ce valoare are dupa ce se spawneaza si esti in ea.

SCMF(playerid, -1, "DEBUG: %d", vehicle_personal[GetPlayerVehicleID(playerid)]); 

am facut, si cand dau /spawncar arata "DEBUG: -1"

Link to comment
Share on other sites

  • 0

Salut @Raduq,

Problema nu e de la comanda /spawncar sau atunci cand intri/iesi din masina. Problema e ca la tine dupa ce un vehicul este despawnat (distrus), nu se reseteaza variabilele de la el, cum ar fi cine detine acel vehicul, id-ul vehiculului din variabila, iar de fiecare data cand spawnezi o masina, aceasta va avea acel id de la vechea masina care a fost despawnata si va primi variabilele de la masina respectiva.

Ca sa rezolvi problema asta pur si simplu cauti functia sau locurile in care iti despawnezi tu vehiculele personale si resetezi variabilele pe 0 sau -1 (sau cum ai tu sistemul, nu stiu).

Daca te-am ajutat =>

spacer.png

Link to comment
Share on other sites

  • 0
1 hour ago, shane said:

Salut @Raduq,

Problema nu e de la comanda /spawncar sau atunci cand intri/iesi din masina. Problema e ca la tine dupa ce un vehicul este despawnat (distrus), nu se reseteaza variabilele de la el, cum ar fi cine detine acel vehicul, id-ul vehiculului din variabila, iar de fiecare data cand spawnezi o masina, aceasta va avea acel id de la vechea masina care a fost despawnata si va primi variabilele de la masina respectiva.

Ca sa rezolvi problema asta pur si simplu cauti functia sau locurile in care iti despawnezi tu vehiculele personale si resetezi variabilele pe 0 sau -1 (sau cum ai tu sistemul, nu stiu).

        PersonalVehicle[i][pvID] = 0;
        PersonalVehicle[i][pvModelID] = 0;
        PersonalVehicle[i][pvOwnerID] = 0;
        PersonalVehicle[i][pvColorOne] = 0;
        PersonalVehicle[i][pvColorTwo] = 0;
        PersonalVehicle[i][pvX] = 0;
        PersonalVehicle[i][pvY] = 0;
        PersonalVehicle[i][pvZ] = 0;
        PersonalVehicle[i][pvAngle] = 0;
        PersonalVehicle[i][pvOdometer] = 0;
        PersonalVehicle[i][pvFuel] = 0;
        PersonalVehicle[i][pvAge] = 0;
        PersonalVehicle[i][pvInsurancePoints] = 0;
        PersonalVehicle[i][pvLock] = 0;
        PersonalVehicle[i][pvHealth] = 0.0;
        PersonalVehicle[i][pvVirtualWorld] = 0;
        PersonalVehicle[i][pvInterior] = 0;
        PersonalVehicle[i][pvDamagePanels] = 0;
        PersonalVehicle[i][pvDamageDoors] = 0;
        PersonalVehicle[i][pvDamageLights] = 0;
        PersonalVehicle[i][pvDamageTires] = 0;
        PersonalVehicle[i][pvPaintJob] = 0;
        PersonalVehicle[i][pvCarPlate] = (EOS);
        PersonalVehicle[i][pvDespawnTime] = 0; 

le am deja bro

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.