Перейти к содержанию

Сообщения от Скрипты

Аватар пользователя
#1781
хм. странно, что я это не заметил. спасибо, сейчас попробую.

Добавлено через 1 час 42 минуты
if GetPlayerResource(1, k1) >= res1{k1+1} then

Судя по всему, здесь ошибка. "attemt to call table value", как-то так. Как можно заменить? (массив мне обязателен, очень много составляющих).

Whatever
Аватар пользователя
#1782
res1{k1+1} - скобки не те, должны быть [], если подразумевается доступ по индексу.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1783
а, да. Чет я тупанул ;) Спасибо!

Добавлено через 59 минут
Тогда такой вопрос: можно ли применять значение из массива для текстовых сообщений? Например...: "ваши войска + < value=army[3] >" ?

Whatever
Аватар пользователя
#1784
Да, но задаются они в скрипте
{"путь к тексту"; army=army[3]}
что означает, что в тексте тег < value=army > будет заменен на третий элемент массива.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1785
Ясно. Еще раз огромное спасибо!

Добавлено через 1 час 29 минут
Извиняюсь, но у меня еще один вопрос:
-Как мне посчитать общее число объектов (допустим, тех же многострадальных крестьянских хижин) на карте?
Общее имя я выдать им могу. Но вот как вывести все это в общую числовую переменную?

Whatever
Аватар пользователя
#1786
Вот так можно подсчитать общее число всех крестьянских хижин на карте:
peasant_huts_n = length(GetObjectNamesByType("PEASANT_HUT"))
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1787
Ах да! Я вообще забыл про эту ф-ию определения длины массива!

Добавлено через 25 минут
ан, нет. а если немного усложнить задачу? хижины, принадлежащие только игроку 2?

Whatever
В ответ пользователю Heroist
Аватар пользователя
#1788
Автопереведено
peasant_huts_n = 0
for i,hut in GetObjectNamesByType("PEASANT_HUT") do
if GetObjectOwner(hut) == 2 then
peasant_huts_n = peasant_huts_n + 1
end
end
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1789
а как же это....
блин, надо точно разобраться, как это for работает. все никак не найду времени. штука то полезная)
n-ый раз спасибо!

Whatever
В ответ пользователю Heroist
Аватар пользователя
#1790
Heroist
а как же это....
блин, надо точно разобраться, как это for работает. все никак не найду времени. штука то полезная)
n-ый раз спасибо!

Цикл со счетчиком. В приведенном выше примере будет выполнять код для каждого элемента массива GetObjectNamesByType. i,hut-индексы, при этом hut обозначает текущий индекс элемента массива, i - хз для чего нужен, но без него не работает.
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
Аватар пользователя
#1791
i -- это переменная, которая в процессе цикла получает постоянную прибавку на единицу. После вызова цикла соответственно в i будет лежать количество его выполнений (не помню, есть ли тут функция "бряк", но в языках с этой функцией может быть актуально).
 

К А
Стикеры GBF в Telegram
Аватар пользователя
#1792
Вообще в данном случае цикл выполнит код для всех элементов массива. i - ключ (индекс) элемента массива, необязательно число и необязательно проходит их в порядке возрастания, а hut - значение элемента массива.

Добавлено через 58 секунд
Мент, какой бряк, что он делает или должен делать?
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1794
А! Ну это присутствует.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1795
Спасибо за объяснения, народ! Просто здесь for несколько отличается, как мне показалось, от его собратьев в других языках программинга.

Добавлено через 5 часов 17 минут
Ошибка "quantity cannot be negative" - может быть вызвана тем, что переменная равна 0? Считается ли это число отрицательным в скриптах?

Whatever