PDA

Просмотр полной версии : [Поиск] Загрузка / Сохранения GangZone



gangzone.ini
16.11.2014, 12:16
Ищу мануал/урок по созданию гангзон mxINI ( loadgangzone / savegangzone ) с загрузкой из файла ( .ini )
Не нужно скидывать где зоны хранятся в моде...

Dima_Tushin
16.11.2014, 16:03
а что на MYSQL не переводишь?

gangzone.ini
16.11.2014, 16:31
Не требуется, вот и не перевожу..

DeimoS
16.11.2014, 20:08
Так что там писать то? Открой описание инклюда (http://forum.sa-mp.com/showthread.php?t=111746), посмотри как реализуется сохранение/загрузка и напиши код :) Ну, например:

enum GangZonesInfo
{
gz_id,
Float:gz_coord[4]
}
new _gz_info[5][GangZonesInfo];


stock LoadGangZones()
{
new iniFile = ini_openFile("gz.ini"),
string[35+5*4];
for(new i; i < sizeof(_gz_info); i++)
{
format(string, sizeof(string),"%d", i+1);// Формируем ключ, по которому будет отыскивать нужную гангзону
ini_getString(iniFile, string, string);// Загружаем всю строку, в которой хранится информация о координатах одной гангзоны
sscanf(string, "p<|>ffff", _gz_info[i][gz_coord][0], _gz_info[i][gz_coord][1], _gz_info[i][gz_coord][2], _gz_info[i][gz_coord][3]);// Разделяем строку на отдельные данные и записываем их в переменные

//Ну и дальше идёт создание самой гангзоны и т.п.
_gz_info[i][gz_id] = GangZoneCreate(_gz_info[i][gz_coord][0], _gz_info[i][gz_coord][1], _gz_info[i][gz_coord][2], _gz_info[i][gz_coord][3]);
}
ini_closeFile(iniFile);
printf("Загружено %d гангзон", sizeof(_gz_info));
}

stock SaveGangZones()
{
new iniFile = ini_openFile("gz.ini"),
string[35+5*4],
key_string[3];
for(new i; i < sizeof(_gz_info); i++)
{
format(key_string, sizeof(key_string),"%d", i+1);
format(string,sizeof(string),"%f|%f|%f|%f", _gz_info[i][gz_coord][0], _gz_info[i][gz_coord][1], _gz_info[i][gz_coord][2], _gz_info[i][gz_coord][3]);
ini_setString(iniFile, key_string, string);
}
ini_closeFile(iniFile);
printf("Сохранено %d гангзон", sizeof(_gz_info));
}
То есть, все системы сводятся к тому, что ты открываешь файл, извлекаешь из него или помещаешь в него данные и работаешь с ними (в случае с загрузкой).

P.S. Если есть вопросы - задавай, объясню

gangzone.ini
16.11.2014, 21:59
Спасибо! Сейчас проверю :smile:

gangzone.ini
17.11.2014, 00:00
Не показывает территории :sad:

$continue$
17.11.2014, 00:11
Не показывает территории :sad:

Тут только загрузка, тут про показ зон и нет речи.

gangzone.ini
17.11.2014, 00:26
Тут только загрузка, тут про показ зон и нет речи.

Сделала показ зон, тут и LoadGangZones(); в OnGameModeInit не написано...
При включении мода пишет "Загружено 5 гангзон", хотя в gz.ini 1 территория :smile:

$continue$
17.11.2014, 00:44
Сделала показ зон, тут и LoadGangZones(); в OnGameModeInit не написано...
При включении мода пишет "Загружено 5 гангзон", хотя в gz.ini 1 территория :smile:

Массив new _gz_info[5][GangZonesInfo];

gangzone.ini
17.11.2014, 00:46
Массив new _gz_info[5][GangZonesInfo];

А точно...

DeimoS
17.11.2014, 00:48
Сделала показ зон, тут и LoadGangZones(); в OnGameModeInit не написано...
При включении мода пишет "Загружено 5 гангзон", хотя в gz.ini 1 территория :smile:

Так в массиве

new _gz_info[5][GangZonesInfo];
число 5 как раз и указывает то, сколько гангзон будет загружено.

И да, как уже подметили выше, тут исключительно работа с файлами. GangZoneCreate я тут как пример показал (чтоб было понятно о чём речь). И сохранются тут только координаты. Всё остальное, что тебе нужно, уже сама по аналогии сохраняй :)
Ну и:

Если есть вопросы - задавай, объясню

gangzone.ini
17.11.2014, 01:36
В архив...