Szerző Téma: Kocsi fix HIBA  (Megtekintve 849 alkalommal)

Kocsi fix HIBA
« Dátum: 2015. szeptember 22. - 18:51:56 »
0 Show voters
Sziasztok ez lenne a parancs
 

CMD:repair(playerid, params[])
{
new parancs[30];
    if(sscanf(params, \"s\", parancs)) return SendClientMessage(playerid, -1, \"Használat: /repair [engine, panels, doors, lights, tires]\");
    new vehicleid, panels, doors, lights, tires;
    vehicleid = GetPlayerVehicleID(playerid);
    GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    if(strfind(parancs,\"engine\", true,0) != -1)
{
        SetVehicleHealth(vehicleid, 1000); // Motor
    }
   
    if(strfind(parancs, \"panels\", true,0) != -1)
{
        panels = encode_panels(0, 0, 0, 0, 0, 0, 0); // Karosszéria
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    }
   
    if(strfind(parancs, \"doors\", true,0) != -1)
{
        doors = encode_doors(0, 0, 0, 0, 0, 0); // Csomagtartó, Motorháztető, Ajtók
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    }
   
    if(strfind(parancs, \"lights\", true,0) != -1)
{
        lights = encode_lights(0, 0, 0, 0); // Fényszórók
    }
   
    if(strfind(parancs, \"tire\", true,0) != -1)
{
        tires = encode_tires(0, 0, 0, 0); // Kerekek
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    }
    return 1;
}
encode_tires(tire1, tire2, tire3, tire4)
{
    return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3);
}
encode_panels(flp, frp, rlp, rrp, windshield, front_bumper, rear_bumper)
{
    return flp | (frp << 4) | (rlp << 8) | (rrp << 12) | (windshield << 16) | (front_bumper << 20) | (rear_bumper << 24);
}
encode_doors(bonnet, boot, driver_door, passenger_door, behind_driver_door, behind_passenger_door)
{
    #pragma unused behind_driver_door
    #pragma unused behind_passenger_door
    return bonnet | (boot << 8) | (driver_door << 16) | (passenger_door << 24);
}
encode_lights(light1, light2, light3, light4)
{
    return light1 | (light2 << 1) | (light3 << 2) | (light4 << 3);
}

 
Nos az lenne a gondom ezzel a parancsal hogy ha megtörik a lökhárító a panels parancs megjavítja meg minden! De ha már a motorháztető vagy a csomagtartó megtörik csak a doors parancsal javul meg. Köszönöm a válaszokat!!
EDIT: elírtam ha PL a csomagtartó vagy a motorháztető megtörik és mellé a lökhárító akkor csak a doors parancsal tudom megjavítani mind a 2-t
« Utoljára szerkesztve: 2015. szeptember 22. - 19:49:27 írta baglion02 »

Kocsi fix HIBA
« Válasz #1 Dátum: 2015. szeptember 22. - 19:41:31 »
0 Show voters
Direkt leírtam, hogy a doors-al javítja a motorháztető és csomagtartót is. Panels-el a lökhárító és tuningelemeket lehet. Jelen pillanatban pedig úgy keltem, hogy bealudtam fizika tanulás közbe, úgyhogy, ha holnapig nem kapsz választ, akkor megpróbálok segíteni. (Ide már talán kelleni fog a decode rész is.) Jah és a két felső sort addig is írd át:
 
new parancs[8];
if(sscanf(params, \"s[8]\", parancs))

 
Így egy picit elegánsabb. Fölösleges a 30-as stringméret, és a lights-nál hiányzik az UpdateVehicleDS.

Kocsi fix HIBA
« Válasz #2 Dátum: 2015. szeptember 22. - 19:46:40 »
0 Show voters
Rendben Köszi a sok segítséget!! :)
 

if(sscanf(params, \"s[8]\", parancs))

 
ha odaírom a 8-ast akkor reuturnolja a parancsokat hogy mik vannak ezért töröltem ki

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal