Create site free
Работа с INI через dll - Общие вопросы разработки игр - Разработка игр на Game Maker (Simple Mode) - Форум Game Maker. Разработка игр.
Здравствуй Гость | Перейти на сайт

Главная | Форум | Регистрация | Войти
gmaker.net ;) [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Simple Mode) » Общие вопросы разработки игр » Работа с INI через dll (снимаются ли ограничения ГМ?)
Работа с INI через dll
DreamRunner Дата: Суббота, 12.12.2009, 09:55 | Сообщение # 1
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
Говорят в ГМ инишки можно только в папке игры держать, а если я буду использовать dll для работы с ними, можно будет в любой папке их читать? Я проверил в ХР, работает. А в висте как?
Использую Rini.dll
 
WertyXBOCT Дата: Суббота, 12.12.2009, 11:28 | Сообщение # 2
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
DreamRunner, дай потрагать, скажу :).
Вообще, можно же просто в папку с игрой компировать и читать так, а потом тупо удалять. Мне ини не нравится.


Blog:www.WeslomPo.ru
mailto: i@weslompo.ru
 
sanek-x107 Дата: Суббота, 12.12.2009, 21:23 | Сообщение # 3
Хоть палкой гони
Группа: Проверенные
Сообщений: 770
Статус: Offline
Quote (WertyXBOCT)
компировать

У тебя от слова компилировать мозги едут. отдохни)

Ини - это, конечно, удобно, но мне не нра. больше нравится делать свои файлы для каждого. А если еще и зашифровать, да с кетчупом и майонезом... ням-ням... (это уже мозги поехали у меня wink )



http://gmbook.sx107.netai.net
Мама, я - дебил!
 
Ang3L Дата: Суббота, 12.12.2009, 21:31 | Сообщение # 4
Каждый 5й пост мой
Группа: Админы
Сообщений: 2667
Статус: Offline
sanek-x107, ини придуманы не для того чтобы их шифровать, а наоборот чтобы в текстовом редакторе подредактировать настройки. Очень удобно когда игра не запускается или не позволяет выставить какую-то настройку (меня бесило то что в некоторых играх нельзя было выставить 1280х1024, а только 1280х960. А с ини это быстро решалось).


Blogpost
 
sanek-x107 Дата: Суббота, 12.12.2009, 22:14 | Сообщение # 5
Хоть палкой гони
Группа: Проверенные
Сообщений: 770
Статус: Offline
ну такое можно и в ини. А вот настройки наподобие констант уже надо шифровать.


http://gmbook.sx107.netai.net
Мама, я - дебил!
 
DreamRunner Дата: Воскресенье, 13.12.2009, 09:06 | Сообщение # 6
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
я сейчас прикручиваю ини для хранения карт. Формат для меня удобен, а дллка позволяет ещё и файл зашифровать, так что самое то.
 
Wertolet Дата: Воскресенье, 13.12.2009, 10:07 | Сообщение # 7
Хоть палкой гони
Группа: Проверенные
Сообщений: 781
Статус: Offline
DreamRunner, мне ини кажутся проше в обрашений, но их использую только для настроек. Я думал, если использовать для карт/сейвов и т.п. то они чем-то не подходят, и все сразу начнут: "фу, нуб!" biggrin . А оказывается их можно как хочеш крутить? wacko Теперь только ини. happy


 
DreamRunner Дата: Воскресенье, 13.12.2009, 10:43 | Сообщение # 8
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
Wertolet, я не принципиальный))) Ну был у меня свой формат файла уровня, где я блоками сохранял таблицу тайлов и блоков с новой строки. Всё равно удобно когда до блока идёт его идентификация, а это тоже что и ини. К тому же в ини я могу хранить целые сценарии (по секции на каждый) из нескольких уровней и легко редактировать их.
 
WertyXBOCT Дата: Воскресенье, 13.12.2009, 13:35 | Сообщение # 9
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
А я просто делаю свой формат файла и не заморачиваюсь с поиском длл. Я, помницо, даже парсер для ini написал, который сохранял файл в дата структуру.

Добавлено (13.12.2009, 13:35)
---------------------------------------------

Code
#define iniBetween
/*
0 - Переменная
1 - Начальный символ
2 - Конечный символ
Достает строку между символоми арг1 и арг2 из строки арг0
*/
var z, n;
z = string_pos(argument1, argument0)+string_length(argument1);
n = string_pos(argument2, argument0);
return (string_copy(argument0, z, n-z));

#define iniClose
//ini_open_ext(name);
//-1 file does not exists
ds_map_destroy(argument0);

#define iniDeleteSpace
var i,j,s;
s = argument0
if !is_string(s) return '-1';
while string_char_at(s,1) = ' '
    s = string_delete(s,1,1)
return s;
#define iniDeleteSpaceRe
var i,j,s;
s = argument0
if !is_string(s) return '-1';
while string_char_at(s,string_length(s)) = ' '
    s = string_delete(s,string_length(s),1)
return s;
#define iniGetReal
var r;
r = ds_map_find_value(argument0,argument1+'::'+argument2)
return real(r);
#define iniGetString
return string(ds_map_find_value(argument0,argument1+'::'+argument2));
#define iniIsSection
var s;
s = iniDeleteSpace(argument0);

if string_char_at(s,1) = '[' and string_char_at(s,string_length(s)) = ']'
return iniBetween(s,'[',']');
else return '-1';
#define iniOpen
//ini_open_ext(name);
//-1 file does not exists
var map,f,txt,s,sect;
txt='';
if !file_exists(argument0) return -1;
map = ds_map_create();
ds_map_add(map,"имя",argument0);
f = file_text_open_read(argument0);
while !file_text_eof(f)
    {
     s = file_text_read_string(f);
     t = iniIsSection(s);
     if t ='-1' iniReadValue(s,map,sect)
     else {ds_map_add(map,t,t); sect = t;}
     file_text_readln(f)
    };
return map;

#define iniReadValue
var s,eq,k,v;
s = iniDeleteSpace(argument0);
eq = string_pos('=',s)-1;
k = string_copy(s,1,eq);
v = iniDeleteSpaceRe(iniDeleteSpace(string_delete(s,1,string_length(k)+1)))
k = argument2 + '::' + iniDeleteSpaceRe(iniDeleteSpace(k))
//show_message('"'+k+'"#"'+v+'"');
ds_map_add(argument1,k,v);

Возможно код до конца не дописан smile


Blog:www.WeslomPo.ru
mailto: i@weslompo.ru
 
Wertolet Дата: Воскресенье, 13.12.2009, 16:51 | Сообщение # 10
Хоть палкой гони
Группа: Проверенные
Сообщений: 781
Статус: Offline
DreamRunner, а где ты rini.dll нашёл? Я только nini.dll нашёл 0_о




Сообщение отредактировал Wertolet - Воскресенье, 13.12.2009, 16:51
 
DreamRunner Дата: Воскресенье, 13.12.2009, 17:49 | Сообщение # 11
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
Wertolet, WertyXBOCT, вот топик и там описание и ссылка на длл http://gmc.yoyogames.com/index.php?showtopic=432948
 
Wertolet Дата: Воскресенье, 13.12.2009, 18:08 | Сообщение # 12
Хоть палкой гони
Группа: Проверенные
Сообщений: 781
Статус: Offline
Спасибо.
А я думал гугл находит всё и быстро... cry


 
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Simple Mode) » Общие вопросы разработки игр » Работа с INI через dll (снимаются ли ограничения ГМ?)
Страница 1 из 11
Поиск:



Сообщество Gmaker.SU 2005-2012
Используются технологии uCoz
Простой вход