Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1

Тема: BitFunctions

  1. #1
    Аватар для AbyssMorgan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.08.2016
    Сообщений
    33
    Репутация:
    15 ±

    BitFunctions

    библиотека содержит функции для управления битами / ячейками.

    Код:
     BitFunctions.inc
     Copyright © 2021 Abyss Morgan. All rights reserved.
    
     Website: https://adm.ct8.pl
    
     Plugins: None
     Modules: None
    
     File Version: 1.8.0
    
     bit 0 - 31:
     (bit 31) --> 11111111000000001111010001010000 <-- (bit 0)
    
     Example cell mode:
     Mode 2 (cell id 15) --> 11 11 11 11 00 00 00 00 11 11 01 00 01 01 00 00 <-- (cell id 0)
     Mode 4 (cell id 7) --> 1111 1111 0000 0000 1111 0100 0101 0000 <-- (cell id 0)
     Mode 8 (cell id 3) --> 11111111 00000000 11110100 01010000 <-- (cell id 0)
     Mode 16 (cell id 1) --> 1111111100000000 1111010001010000 <-- (cell id 0)
    
     General Macros:
     GetValueBit(value,bit);
     SetValueBit(&value,bit,power);  //power 0 or 1
     SetValueBitTrue(&value,bit);
     SetValueBitFalse(&value,bit);
     GetCellValue(value,cellid,mode);
     SetCellValue(&value,cellid,mode,power);
     GetCellValueEx(value,offset,cellsize);
     SetCellValueEx(&value,offset,cellsize,power);
     InvertValue(value);
     InvertValueEx(value,key); //default key 0xFFFFFFFF
     bool:CheckValue(value,&count=0); //even - false,uneven - true
    
     File Byte Macros:
     ExtractValue(value,&byte1,&byte2,&byte3,&byte4);
     ExtractFloat(Float:value,&byte1,&byte2,&byte3,&byte4);
     MergeValue(&value,byte1,byte2,byte3,byte4);
     MergeFloat(&Float:value,byte1,byte2,byte3,byte4);
     MergeValueEx(byte1,byte2,byte3,byte4);
     Float:MergeFloatEx(byte1,byte2,byte3,byte4);
    
     Dynamic Toggle Config Macros:
     GetConfigAddress(itemid);
     GetConfigBit(itemid);
     GetConfigSize(max_items);
     IsToggleConfigInformation(variable,itemid);
     ToggleConfigInformation(variable,itemid,value); //values: 1/0
    Скачать:
    BitFunctions.inc

    Пример:
    Код:
    new ExampleConfig[GetConfigSize(MAX_PLAYERS)];
    //get:
    IsToggleConfigInformation(ExampleConfig,playerid);
    //set:
    ToggleConfigInformation(ExampleConfig,playerid,1);
    Извлечение / объединение значений
    Код:
    new val = 0x89ABCDEF;
    new a, b, c, d;
    ExtractValue(val,a,b,c,d);
    printf("%x %x %x %x",a,b,c,d); //prints 89 AB CD EF
    new tmp = 0;
    MergeValue(tmp,a,b,c,d);
    printf("%x",tmp); //prints 89ABCDEF
    Эта тема переведена, автор не может полностью помочь на русском языке.
    Последний раз редактировалось AbyssMorgan; 17.08.2021 в 18:48.
    SA:MP Scripts
    https://adm.ct8.pl

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •