RiftWorks
Найти
Персональное меню
Вы не представились системе
user-interface-preferences
Персональные инструменты
Обсуждение
Вклад
Создать учётную запись
Войти
Параметры
notifications
Редактирование:
Binary flags
(раздел)
associated-pages
Статья
Обсуждение
Просмотры
Читать
Править
Править код
История
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
=== Checking bitflags === Okay, so now we learned how to add a flag, now to check for one. This time AND (&) will come in handy. Above we did... var/f = 255 //0b11111111 var/e = 0 //0b11111111 v3 = c & f // since 1 and anything = anything, v3 didn't change from c. v4 = c & e // since anything and 0 = 0, v4 was set to 0. We can use a combination of both to help us. If we want to check for the leg disability, we can do it like this: mob/proc/check_disability(var/dis) if( disabilities & dis ) return 1 else return 0 The proc above takes a parameter and checks whether the bit is set. Let's suppose we have the same situation as we left off at above, with disabilities set to 0b0110. If we call check_disability(DISABILITY_EAR) the proc will check: disabilities & dis 0b0110 & 0b0010 = 0b0010 So the value is positive, which means the if check will pass and the proc will return 1 (truth), otherwise it will return 0 (false). The value of disabilities in this proc is not changed. If we however check for the eye disability by calling check_disability(DISABILITY_EYE) 0b0110 & 0b0001 = 0b0000 The calculation yields a 0, so the if fails, and the proc returns a 0 (false)
Описание изменений:
Обратите внимание, что все изменения в RiftWorks рассматриваются как выпущенные на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike (см.
RiftWorks:Авторские права
). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника в общественном достоянии или под совместимой лицензией.
Не размещайте без разрешения материалы, защищённые авторским правом!
Отменить
Справка по редактированию
(в новом окне)