Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_bit>
- main(){}
- new
- BitArray:Test<51>
- ;
- public OnGameModeInit()
- {
- static const
- var_name[5] = "Bit",
- num_vals = 50
- ;
- if(!fexist("Bits.ini"))
- {
- new
- File:file = fopen("Bits.ini", io_write),
- str[51 * 13]
- ;
- for(new i; i != num_vals+1; i++)
- format(str, sizeof(str), "%s%s_%d = %d\n", str, var_name, i, (random(500) % 2));
- fwrite(file, str);
- fclose(file);
- }
- else
- {
- new
- File:file = fopen("Bits.ini", io_read), str[32]
- ;
- if (!file)
- return 0;
- for(new i; i != num_vals+1; i++)
- format(str, sizeof(str), "%s_%d", var_name, i), Bit_Set(Test, i, ((file_parse_int(file, str) == 1) ? (true) : (false)));
- fclose(file);
- for(new i; i < num_vals; i++)
- printf("Bit[%d]: %s.", i, (Bit_Get(Test, i) ? ("ON") : ("OFF")));
- }
- return 1;
- }
- stock file_parse_int(File:handle, const field[])
- {
- static
- string_val[16];
- if (!handle)
- return 0;
- new
- str[128],
- pos = strlen(field);
- fseek(handle, 0, seek_start);
- while (fread(handle, str)) if (strfind(str, field, true) == 0 && (str[pos] == '=' || str[pos] == ' '))
- {
- strmid(string_val, str, (str[pos] == '=') ? (pos + 1) : (pos + 3), strlen(str), sizeof string_val);
- if ((pos = strfind(string_val, "\r")) != -1)
- string_val[pos] = '\0';
- else if ((pos = strfind(string_val, "\n")) != -1)
- string_val[pos] = '\0';
- }
- return strval(string_val);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement