Ñêðèïòû - Ñòðàíèöà 118 - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
Ñòðàíèöà 118 èç 263
 
Îïöèè òåìû
#1756
Ñòàðûé 30.01.2014, 18:50
  #1756
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

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

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

Судя по всему, здесь ошибка. "attemt to call table value", как-то так. Как можно заменить? (массив мне обязателен, очень много составляющих).
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1757
Ñòàðûé 30.01.2014, 18:56
  #1757
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

res1{k1+1} - скобки не те, должны быть [], если подразумевается доступ по индексу.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1758
Ñòàðûé 30.01.2014, 19:56
  #1758
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

а, да. Чет я тупанул Спасибо!

Добавлено через 59 минут
Тогда такой вопрос: можно ли применять значение из массива для текстовых сообщений? Например...: "ваши войска + < value=army[3] >" ?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1759
Ñòàðûé 30.01.2014, 20:08
  #1759
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Да, но задаются они в скрипте
{"путь к тексту"; army=army[3]}
что означает, что в тексте тег < value=army > будет заменен на третий элемент массива.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1760
Ñòàðûé 30.01.2014, 21:38
  #1760
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Ясно. Еще раз огромное спасибо!

Добавлено через 1 час 29 минут
Извиняюсь, но у меня еще один вопрос:
-Как мне посчитать общее число объектов (допустим, тех же многострадальных крестьянских хижин) на карте?
Общее имя я выдать им могу. Но вот как вывести все это в общую числовую переменную?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1761
Ñòàðûé 30.01.2014, 21:53
  #1761
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Вот так можно подсчитать общее число всех крестьянских хижин на карте:
peasant_huts_n = length(GetObjectNamesByType("PEASANT_HUT"))
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1762
Ñòàðûé 30.01.2014, 22:24
  #1762
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Ах да! Я вообще забыл про эту ф-ию определения длины массива!

Добавлено через 25 минут
ан, нет. а если немного усложнить задачу? хижины, принадлежащие только игроку 2?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1763
Ñòàðûé 30.01.2014, 22:29
  #1763
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

	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
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1764
Ñòàðûé 30.01.2014, 22:30
  #1764
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

а как же это....
блин, надо точно разобраться, как это for работает. все никак не найду времени. штука то полезная)
n-ый раз спасибо!
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1765
Ñòàðûé 31.01.2014, 11:13
  #1765
^
Îëåãàðõ
 
Àâàòàð äëÿ Îëåãàðõ
📖
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

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

Цикл со счетчиком. В приведенном выше примере будет выполнять код для каждого элемента массива GetObjectNamesByType. i,hut-индексы, при этом hut обозначает текущий индекс элемента массива, i - хз для чего нужен, но без него не работает.
__________________
Ìîè êàðòû:

Town

Ãîòîâèòñÿ:×óìà (40%), Ñîñèñêà(42%), Âîéíà Ãðààëÿ
Ìîè êàðòû:

Town

Ãîòîâèòñÿ:×óìà (40%), Ñîñèñêà(42%), Âîéíà Ãðààëÿ
Îëåãàðõ âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1766
Ñòàðûé 31.01.2014, 11:20
  #1766
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

i -- это переменная, которая в процессе цикла получает постоянную прибавку на единицу. После вызова цикла соответственно в i будет лежать количество его выполнений (не помню, есть ли тут функция "бряк", но в языках с этой функцией может быть актуально).
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1767
Ñòàðûé 31.01.2014, 15:19
  #1767
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

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

Добавлено через 58 секунд
Мент, какой бряк, что он делает или должен делать?
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1768
Ñòàðûé 31.01.2014, 15:21
  #1768
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

break, мгновенно завершает цикл при вызове.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1769
Ñòàðûé 31.01.2014, 15:23
  #1769
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

А! Ну это присутствует.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#1770
Ñòàðûé 31.01.2014, 22:04
  #1770
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14662
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Спасибо за объяснения, народ! Просто здесь for несколько отличается, как мне показалось, от его собратьев в других языках программинга.

Добавлено через 5 часов 17 минут
Ошибка "quantity cannot be negative" - может быть вызвана тем, что переменная равна 0? Считается ли это число отрицательным в скриптах?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 118 èç 263


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 16:09.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru