Цитата Сообщение от podvoxx Посмотреть сообщение
1. Можно хранить очки в переменной, но я не знаю как сделать эту переменную доступной в нескольких запущенных скриптах. Кто-нибудь может подсказать как это делается?
а зачем в нескольких скриптах? В стартовом скрипте можно считать всю статистику по OnActorDead и всё.

Цитата Сообщение от podvoxx Посмотреть сообщение
2. И еще сопутствующий вопрос: как удобней и правильней задавать/читать параметры из конфиг-файла. Сейчас у меня в каждой строчке параметр в виде string, допустим "1" или текст какой-то. Хотелось бы(точнее это уже необходимость) что-то вроде этого:

Код:
maxNumberPlanes = 10
RedPoints = 560
И чтобы оно легко менялось неподготовленным человеком(не учитывались лишние пробелы и т.п.). Подробно не нужно, общее направление и/или хорошей ссылки будет достаточно. Заранее спасибо
есть класс ISectionFile с помощью которого можно читать "секционные" файлы, в файле формат записи такой примерно :
Код:
[VARS]
attackTime 30
attackedMarkers 1
frontMarkers 1
attackCountsRed 3
attackCountsBlue 3
attackTanksNrRed 4
attackTanksNrBlue 4
где VARS - имя секции, "attackTime" - имя ключа и "30" - значение, "=" не надо писать. Обрабатывить так примерно:
Код:
public class Mission : AMission
{

    // переменные из инишника
   
    internal double attackTime = 10;
    internal int attackedMarkers = 10;
    internal int frontMarkers = 10;
    internal int attackCountsRed = 30;
    internal int attackCountsBlue = 30;
    internal int attackTanksNrRed = 40;
    internal int attackTanksNrBlue = 40;

public void iniFileRead()
    {
        ISectionFile iniFile = GamePlay.gpLoadSectionFile("missions\\Multi\\Dogfight\\SmallWar\\smallWar.ini");
        string section, key, value;
        section = "VARS";
        key = "attackTime";
        value = iniFile.get(section, key);
        if (value != null)
            double.TryParse(value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, out attackTime); // в переменную attackTime записывается значение ключа key  = "attackTime"

        key = "attackedMarkers";
        value = iniFile.get(section, key);
        if (value != null)
            int.TryParse( value, out attackedMarkers);  // в переменную attackTime записывается значение ключа key  ="attackedMarkers"

        key = "frontMarkers";
        value = iniFile.get(section, key);
        if (value != null)
            int.TryParse( value, out frontMarkers);

        key = "attackCountsRed";
        value = iniFile.get(section, key);
        if (value != null)
            int.TryParse( value, out attackCountsRed);
        
        key = "attackCountsBlue";
        value = iniFile.get(section, key);
        if (value != null)
            int.TryParse( value, out attackCountsBlue);

        key = "attackTanksNrRed";
        value = iniFile.get(section, key);
        if (value != null)
            int.TryParse( value, out attackTanksNrRed);

        key = "attackTanksNrBlue";
        value = iniFile.get(section, key);
        if (value != null)
            int.TryParse( value, out attackTanksNrBlue);   

    }
}