Jump to content
  • 0

Job sweeper


IonFlorescu

Question

Problema intalnita (descriere):Am pe server jobul sweeper[maturator], problema este ca dupa ce dau /startwork imi da automat masina de maturat si daca ies din ea si ma urc in masina personala si ma plimb imi apare ca muncesc cu masina de la job.
Ero(area / rile) / warning-(ul / urile):
Liniile de cod / sursa / script-ul(obligatoriu):function Sweeping(playerid)
{
    if(PlayerInfo[playerid][pJob] == 6 && IsWorking[playerid] == 1)
    {
        new string[256];
        new i = MasinaJob[playerid];
        new Float:x,Float:y,Float:z;
        GetVehiclePos(i ,x,y,z);
        new
        Float: fDistance = GetPlayerDistanceFromPoint(playerid, OldVehicleJob[0],OldVehicleJob[1],OldVehicleJob[2]);
        if(fDistance > 100 && GetTickCount() - JobInterval[playerid] > 20000)
        {
            HintJob[playerid] ++;
            JobInterval[playerid] = GetTickCount();
              GetVehiclePos(i, OldVehicleJob[0], OldVehicleJob[1], OldVehicleJob[2]);
            PayJob(playerid, 6);
            format(string, sizeof(string), "Curatenie in desfasurare~N~~G~%s~W~ km de strada curatat",FormatMoney(HintJob[playerid]));
            PlayerTextDrawSetString(playerid, JobHint[playerid], string);
        }
    }

Imagini / Video (optional):https://youtu.be/oD1qqRddwGc
Ati incercat sa rezolvati singur?: Da, dar nu stiu ce linie sa modific.

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
On 9/2/2016 at 7:48 PM, NoNamed said:

Ca sa-ti mearga trebuie sa pui la OnPlayerExitVehicle urmatoarea linie : 


if(PlayerInfo[playerid][pJob] == 6 && IsWorking[playerid] == 1) 
{
	DisablePlayerCheckpoint(playerid);
	IsWorking[playerid] = 0;
}

Acel disableplayercheckpoint nu-si are rostul pentru ca in scriptul lui nu e niciun cp. Iar ce i-am dat eu era ceva mai scurt si optimizat scris + ca la tine acel PlayerInfo[playerid][pJob] == 6 nu-si are rostul pentru ca a verificat o data la functia lui, aici nu mai are niciun sens.

 

Edited by xpLode
niciunsens --> niciun sens
Link to comment
Share on other sites

  • 0

Da, intr-adevar, foarte inteligent ce i-ai spus tu . Nici checkpoint-ul nu il dezactivai . Iar verificarea am pus-o pentru ca daca lasam doar IsWorking (variabila care putea folosita si la alte job-uri) si nu mai verificam job-ul i se puteau creea bug-uri .

Link to comment
Share on other sites

  • 0

Callback-ul el mai indicat aici este OnPlayerStateChange si verifici daca newstate == on foot si oldstate == driver pentru a evita cazurile in care esti teleportat de un admin sau primesti spawn si OnPlayerExitVehicle nu va fi apelat. Baieti nu va zic cu rautate dar daca tot il ajutati cu ceva invatati-l asa cum trebuie ca sa nu vina iar cu probleme pe server...Ca o completare vezi ca daca ai animatia de la /pee activa cand dai pe /startwork o sa te dea pe langa masina si poti pleca linistit sa-ti faci job-ul cu masina personala :)

Sinner.png

Link to comment
Share on other sites

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.