Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function scrWeaponsAdd(_sprite_index, _images, _name, _distance, _penetration, _damage) constructor{
- sprite_index = _sprite_index;
- images = _images;
- name = _name;
- distance = _distance;
- penetration = _penetration;
- damage = _damage;
- }
- #region Создаём список вооружения.
- // Если файл уже существует - заполняем по новой.
- if file_exists("weapons.txt") {
- global.weapons = [];
- var _buffer = buffer_load("weapons.txt");
- var _string = buffer_read(_buffer, buffer_string);
- buffer_delete(_buffer);
- var _loadData = json_parse(_string);
- // Загружаем оружие.
- for (var i = 0; i < array_length(_loadData); ++i) {
- // Если информация всё равно является строкой или такого спрайта не существует - создаём его и сохраняем
- if is_string(_loadData[i].sprite_index) or !sprite_exists(_loadData[i].sprite_index) {
- var name = _loadData[i].sprite_index;
- if file_exists(name) {
- var sprite = sprite_add(name, _loadData[i].images, false, false, 0, 0);
- sprite_set_offset(sprite, sprite_get_width(sprite) / 2, sprite_get_height(sprite) / 2);
- _loadData[i].sprite_index = sprite;
- }
- }
- array_push(global.weapons, _loadData[i]);
- }
- }
- // Создаём с нуля, если не существует
- else {
- global.weapons = [
- new scrWeaponsAdd(sPistol, 1, "Пистолет", 10, 1, 10),
- ]
- var _string = json_stringify(global.weapons);
- var _buffer = buffer_create(string_byte_length(_string) + 1, buffer_fixed, 1);
- buffer_write(_buffer, buffer_string, _string);
- buffer_save(_buffer, "weapons.txt");
- buffer_delete(_buffer);
- }
- #endregion
- #region Удаляем те объекты, что не смогли загрузиться
- var i = 0;
- while i != array_length(global.weapons) {
- if is_string(global.weapons[i].sprite_index) {
- array_delete(global.weapons, i, 1);
- i -= 1;
- }
- i += 1;
- }
- #endregion
- #region Создаём прошедшие проверку объекты. Дебаг.
- for (var i = 0; i < array_length(global.weapons); ++i) {
- var inst = instance_create_layer(32 + i * 32, 32, "Instances", oWeapon);
- inst.sprite_index = global.weapons[i].sprite_index;
- }
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement