note Help Needed
This wiki is the result of an ongoing community effort — thank you all for helping!
If you want to provide changes to this page then please click here.
Keadaan Ban
note
Keadaan ini untuk digunakan dengan GetVehicleDamageStatus dan UpdateVehicleDamageStatus.
note
Kendaraan yang memiliki ban lebih dari 4 (contoh: truk) hanya memiliki 4 keadaan ban.
Digit ke-sekian menyimpan apa?
Kerusakan semua ban akan disimpan dalam 1 digit (4 bit) untuk kendaraan roda 4 dan 2 bit huntuk kendaraan 2. Setiap bit menyimpan keadaan ban yang di mana pecah (nilai 1) dan tidak pecah (nilai 0).
- bit pertama menyimpan keadaan ban kanan-belakang untuk kendaraan roda 4 atau ban belakang untuk kendaraan roda 2.
- bit ke-dua menyimpan keadaan ban kanan-depan untuk kendaraan roda 4 atau ban depan untuk kendaraan roda 2.
- bit ke-tiga menyimpan keadaan ban kiri-belakang untuk kendaraan roda 4.
- bit ke-empat menyimpan keadaan ban kiri-depan untuk kendaraan roda 4.
Perhatikan bahwa bit-bit ini dihitung dari belakang, sehingga bit pertama ini bit paling kanan.
Contoh
Kode berikut menjelaskan bahwa kendaraan roda 4 untuk dua ban pecah dan lainnya tidak:
0101
Bagaimanapun, SA-MP mengembalikan nilai desimal, sehingga Anda harus mengubahnya dalam bentuk bilangan biner terlebih dahulu untuk mendapatkan hasil seperti di atas. Seperti contoh di atas, SA-MP akan mengembalikan nilai seperti ini:
5
Info tabel
Berikut adalah representasi visual dari keadaan ban. Kendaraan dilihat dari perspektif atas-bawah, dengan nilai atas sebagai bagian depan kendaraan dan nilai bawah sebagai bagian belakang kendaraan.
Legenda:
o - inflated tire
x - popped tire
Kendaraan roda 4
4 bit untuk kendaraan 4: (Kr-D)(Kr-B)(Kn-D)(Kn-B) (Kiri-Depan, Kiri-Belakang, Kanan-Depan, dan Kanan-Belakang).
0: (0000)
o-o
| |
o-o
1: (0001)
o-o
| |
o-x
2: (0010)
o-x
| |
o-o
3: (0011)
o-x
| |
o-x
4: (0100)
o-o
| |
x-o
5: (0101)
o-o
| |
x-x
6: (0110)
o-x
| |
x-o
7: (0111)
o-x
| |
x-x
8: (1000)
x-o
| |
o-o
9: (1001)
x-o
| |
o-x
10: (1010)
x-x
| |
o-o
11: (1011)
x-x
| |
o-x
12: (1100)
x-o
| |
x-o
13: (1101)
x-o
| |
x-x
14: (1110)
x-x
| |
x-o
15: (1111)
x-x
| |
x-x
Setelah nilai 15 terulang, maka 16 dianggap 0, 17 itu 1, dan seterusnya.
Kendaraan roda 2 (sepeda, motor)
2 bit untuk kendaraan roda dua: (D)(B) (Depan dan Belakang).
0: (00)
o
|
o
1: (01)
o
|
x
2: (10)
x
|
o
3: (11)
x
|
x
Setelah nilai 3 terulang, maka 4 itu 0, 5 itu 1, dan seterusnya.
Contoh penggunaan
Untuk memecahkan 2 ban dari kendaraan roda 4 tanpa mengubah ban depannya:
new panels, doors, lights, tires;
GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, (tires | 0b0101)); // Bagian '0b' artinya adalah nilai panels dibaca dalam bentuk biner. Sama seperti '0x' menandakan bilangan heksadesimal.