2015-07-16 1 views
1

Я новичок в этом, и я пытаюсь закодировать своего бота. Я alredy получил основы и сумел использовать переменные и псевдонимы, однако я с нетерпением ожидал сделать мини-игру в чате, в которой у вас может быть собственное домашнее животное, назовите его и выровняйте.Как сохранить переменную после закрытия mIRC?

Я мог бы сделать все это, однако моя проблема заключается в том, что в конце дня я закрою программу, и все домашние животные уйдут, и это уничтожит ее цель.

Мне было интересно, если бы я мог сохранить эти переменные и перезагрузить их каждый раз, когда я открываю программу, возможно, сохраняю их на .txt?

Любое предложение очень ценится.

+0

Простое использование команды '/ set' работает:'/set% var value'. Это сохранит ваши переменные, даже когда вы закрыли mIRC. –

ответ

1

Я согласен с одним из комментариев, что лучше всего пойти с .ini files для решения этой проблемы.

Пример синтаксиса, взятый из URL связан выше:

writeini reminder.ini birthday jenna 2/28/1983 
writeini reminder.ini birthday Mike 10/10/1990 

Это создает следующий файл:

[birthday] 
jenna = 2/28/1983 
Mike = 10/10/1990 

И следует читать так:

echo -a Mike: $readini(reminder.ini, n, birthday, mike) 
echo -a Jenna: $readini(reminder.ini, n, birthday, jenna) 

Если вам нужна дополнительная гибкость для определения собственного формата данных, вы также можете вернуться к текстовым файлам. Основные /write и $read функции имеют некоторые довольно аккуратную функциональность: увидеть docs

Нечто подобное должно работать для записи:

; search if the pet is already saved 
$read(pets.txt,ns,%petname) 
if ($readn == 0) { 
    ; append to end of file 
    write pets.txt %petname %age %mood 
} 
else { 
    ; replace line 
    write -l $readn pets.txt %petname %age %mood 
} 

Чтобы получить конкретные домашние животные:

var %pet_info = $read(pets.txt, ns, %petname) 
; Split the found line on space (ASCII-code 32) 
tokenize 32 %pet_info 
var %age = $2 
var %mood = $3 

Это возвращает строку который начинается с имени пользователя, которого вы ищете.

+0

Да, я думал о создании переменных, таких как $ + (% petname., $ Nick) и помещал их так же на txt. Что означает nr? как код отличается от имени? –

+0

Просто создайте свой собственный стандарт для того, как должен выглядеть файл. Здесь я использую пробелы как разделители, которые разбиваются, если переменные содержат пробелы. – wvdz

+0

@ JuanF.Caracciolo лучше использовать 'ns' на самом деле, что соответствует только началу строки – wvdz

 Смежные вопросы

  • Нет связанных вопросов^_^