Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×
  • 0

O mica problema... (bug)


Question

Posted

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]

15 answers to this question

Recommended Posts

  • 0
Posted

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

  • 0
Posted
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;
        }
    }

  • 0
Posted
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;
}

  • 0
Posted

Verifica daca vehicle_personal este diferit de -1, in loc de acel vehicle_personal[vehicleid] > -1 pune != in loc de >.

  • 0
Posted
1 minute ago, SanckyAdv said:

Verifica daca vehicle_personal este diferit de -1, in loc de acel vehicle_personal[vehicleid] > -1 pune != in loc de >.

am pus, dar vreau sa te anunt ca la comanda spawncar am pus in cod vehicle_personal[carid] = -1;

  • 0
Posted
4 minutes ago, SanckyAdv said:

Verifica daca vehicle_personal este diferit de -1, in loc de acel vehicle_personal[vehicleid] > -1 pune != in loc de >.

iti zic imd daca merge

  • 0
Posted
8 minutes ago, SanckyAdv said:

Verifica daca vehicle_personal este diferit de -1, in loc de acel vehicle_personal[vehicleid] > -1 pune != in loc de >.

nu merge

  • 0
Posted

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.

  • 0
Posted
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"

  • 0
Posted

Iesi din masina, si intra iar , si vezi ce valoare e. Poate mesajul acela se trimite si cand este apelat OnPlayerEnterVehicle, nu numai la OnPlayerKeyStateChange, verifica.

  • 0
Posted
1 minute ago, SanckyAdv said:

Iesi din masina, si intra iar , si vezi ce valoare e. Poate mesajul acela se trimite si cand este apelat OnPlayerEnterVehicle, nu numai la OnPlayerKeyStateChange, verifica.

daca ies si intru iar nu imi mai apare nimic, decat ala ca this infernus is owned by blabla

  • 0
Posted
On 11/9/2020 at 11:19 AM, SanckyAdv said:

Iesi din masina, si intra iar , si vezi ce valoare e. Poate mesajul acela se trimite si cand este apelat OnPlayerEnterVehicle, nu numai la OnPlayerKeyStateChange, verifica.

ma mai ajuti?

  • 0
Posted

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

  • 0
Posted
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.