Zireael |
Отправлено: 17 Января, 2020 - 13:07:10
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: считывать переменную с ini файла
CODE:// подключение функций
external (INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll");
external (INT, "WritePrivateProfileString", "WritePrivateProfileStringA", "kernel32.dll");
string path="C:\config.ini"; // путь к ini
char c[256]; // массив, в который будет записываться значение ключа из ini файла
GetPrivateProfileString ("Section1", "var1", 0, address (#c[0]), sizearray(c), path); // получить значение
messagebox(format(#c[0]));
GetPrivateProfileString ("Section2", "MP", 0, address (#c[0]), sizearray(c), path); // получить значение
messagebox(format(#c[0]));
// WritePrivateProfileString ("Section1", "var1", "Новое значение", path); // записать значение
Содержимое ini:
Цитата: [Section1]
var1=значение1
var2=значение2
[Section2]
HP=1234
MP=6789 |
|
|
DrDron |
Отправлено: 17 Января, 2020 - 13:11:34
|
Прохожий
Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2020
Репутация: 0
|
Zireael пишет: Цитата: считывать переменную с ini файла
CODE:// подключение функций
external (INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll");
external (INT, "WritePrivateProfileString", "WritePrivateProfileStringA", "kernel32.dll");
string path="C:\config.ini"; // путь к ini
char c[256]; // массив, в который будет записываться значение ключа из ini файла
GetPrivateProfileString ("Section1", "var1", 0, address (#c[0]), sizearray(c), path); // получить значение
messagebox(format(#c[0]));
GetPrivateProfileString ("Section2", "MP", 0, address (#c[0]), sizearray(c), path); // получить значение
messagebox(format(#c[0]));
// WritePrivateProfileString ("Section1", "var1", "Новое значение", path); // записать значение
Содержимое ini:
Цитата: [Section1]
var1=значение1
var2=значение2
[Section2]
HP=1234
MP=6789
Спасибо огромное, сейчас буду пробовать!(Отредактировано автором: 17 Января, 2020 - 13:29:01) |
|
|
Zireael |
Отправлено: 17 Января, 2020 - 13:49:40
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: как правильно записать это в переменную?
Цитата: // вместо messagebox(format(#c[0]));
string s=format(#c[0]); // строка
messagebox(s);
int x=format(#c[0]); // число
messagebox(x); |
|
|
DrDron |
Отправлено: 17 Января, 2020 - 14:08:52
|
Прохожий
Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2020
Репутация: 0
|
Zireael пишет: Цитата: как правильно записать это в переменную?
Цитата: // вместо messagebox(format(#c[0]));
string s=format(#c[0]); // строка
messagebox(s);
int x=format(#c[0]); // число
messagebox(x);
Да, только вот с таймером получается нельзя использовать переменные) Как же быть?
А, все, нашел sendtimer.
(Добавление)
CODE:
external (INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll");
string path= pathfolder()+"set.ini";
char c[256];
GetPrivateProfileString ("Settings", "farmtime", 0, address (#c[0]), sizearray(c), path);
string s=format(#c[0]);
sendtimer(1, s)
enabletimer (1);
CREATE_TIMER(1, 3000)
{
messagebox(s);
}
Где тут ошибка господа?) Закрывается и messagebox не выводит(Отредактировано автором: 17 Января, 2020 - 14:12:17) |
|
|
Kibor |
Отправлено: 17 Января, 2020 - 14:37:39
|
Эксперт
Покинул форум
Сообщений всего: 8219
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
DrDron пишет: Закрывается и messagebox не выводит
И не должен. Скрипт просто отрабатывает и доходит до конца. 3 сек не проходит.
CODE:external (INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll");
string path= pathfolder()+"set.ini";
char c[256];
GetPrivateProfileString ("Settings", "farmtime", 0, address (#c[0]), sizearray(c), path);
string s=format(#c[0]);
sendtimer(1, s)
enabletimer (1);
loop()sleep(10);
CREATE_TIMER(1, 3000)
{
messagebox(s);
} |
|
|
DrDron |
Отправлено: 17 Января, 2020 - 14:57:32
|
Прохожий
Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2020
Репутация: 0
|
Kibor пишет: Это просто зацикливание что бы скрипт не дошел до конца.
CODE:a:
sleep(10);
goto a;
Понял, вопрос не по теме:
Реализовал поиск лута с помощью findheapcolor, поиск идет по зоне, где нету никаких иконок и так далее, но периодически, может раз в 10 минут, может раз в 20 часов он все равно кликает на какую-то иконку которая ВНЕ зоны поиска. Как с этим бороться? Уже все что можно перепробовал, единственная идея - запретить нажатия вне этой зоны, но как это сделать?
(Добавление)
Причем я бы даже сказал, что временами эти иконки даже не близко к этой зоне) |
|
|
Zireael |
Отправлено: 17 Января, 2020 - 15:26:21
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: string s=format(#c[0]);
sendtimer(1, s)
Должно быть так:
CODE:int s=formatsn(format(#c[0]));
sendtimer(1, s);
Цитата: все равно кликает на какую-то иконку которая ВНЕ зоны поиска.
Значит где-то неверно указана зона поиска. |
|
|
|