Zapisywanie paru rzeczy do jednej zmiennej
Qes
04.01.2017
Witam,
Chciałbym w zmiennej zapisać parę informacji, czyli coś w tym stylu
zmienna abcd domyślnie ma taką wartość 0 0 0 0, po wpisywaniu /asd ta wartość zmieni się w 1 0 0 0, jeżeli wpiszemy te dwie komendy, to wartość zmiennej wyniesie 1 1 0 0, potem po wpisaniu /asd3 będzie już miała taką wartość 1 1 1 0.
Podam też dokładniejszy przykład
Mamy mapę de_dust2, domyślna wartość warunku abcd wynosi 0 0 0 0.
Teraz wpisujemy /asd2 i wartość zmienia się na 0 1 0 0.
Zmienia się mapa na de_dust i znowu abcd przyjmuje swoją domyślną wartość czyli 0 0 0 0.
Jednak tym razem wpiszemy dwie komendy /asd3 oraz /asd2 i tak będzie wyglądała wartość 0 1 1 0.
Master Yoga
04.01.2017
bity !!!
#define ASD1 (1<<1) #define ASD2 (1<<2) #define ASD3 (1<<3) #define ASD4 (1<<4) (...) new suma[33]; (...) bool:check_bitsum(param1, param2) { if( (param1 & param2) == param2 ) return true; return false; } public asd(id) { if( suma[id] == 0 ) suma[id] += ASD1; else if( check_bitsum(suma[id], ASD1) ) suma[id] += ASD2; else if( check_bitsum(suma[id], ASD2) ) suma[id] += ASD3; else if( check_bitsum(suma[id], ASD3) ) suma[id] += ASD4; if( check_bitsum(suma[id], ASD1 | ASD2 | ASD3 | ASD4 ) ) client_print(id, print_chat, "Wow, your bitsum is full }
W przykładzie wyżej podałem ci jak sprawdzać bity pojedynczo i jak sprawdzać kilka (np.: wszystkie na raz )
Nie zdziw się jak spróbujesz wyświetlić sobie tę liczbę, bowiem zostanie ona (suma potęg) wyświetlona w systemie dziesiętnym
Użytkownik Master Yoga edytował ten post 04.01.2017 21:12