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

Сообщения от Сообщения

Пока нет оценок — будьте первым!
Аватар пользователя
13 лет назад
:confused: незнаю как сделать...а темы не нашёл нигде...вроде посмотрел...если пропустил где буду благодарен за ссылку.вот хочу чтоб когда я убиваю в карте героем очередную группу монстров около артефакта из нашего драконьего сета мне выдавалось сообщение(на ролики пока не замахиваюсь :D )что я освободил от охраны монстров уже n из 8 доспехов и чтоб когда я соберу все 8 герою давалось ещё 2 артефакта +n к каждой характеристике...уфффф :)
Аватар пользователя
13 лет назад
вот простой пример:

setCount = 0;

function setInfo()
	setCount = setCount+1;
	if setCount == 1 then
		MessageBox(GetMapDataPath()..'count1from8.txt');
	elseif setCount == 2 then
		MessageBox(GetMapDataPath()..'count2from8.txt');
	elseif setCount == 3 then
		MessageBox(GetMapDataPath()..'count3from8.txt');
	elseif setCount == 4 then
		MessageBox(GetMapDataPath()..'count4from8.txt');
	elseif setCount == 5 then
		MessageBox(GetMapDataPath()..'count5from8.txt');
	elseif setCount == 6 then
		MessageBox(GetMapDataPath()..'count6from8.txt');
	elseif setCount == 7 then
		MessageBox(GetMapDataPath()..'count7from8.txt');
	elseif setCount == 8 then
		MessageBox(GetMapDataPath()..'count8from8.txt');
		GiveArtefact("heroname", artifact1Id);
		GiveArtefact("heroname", artifact2Id);
		ChangeHeroStat("heroname", STAT, count);
	end;
end;

Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard1', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard2', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard3', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard4', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard5', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard6', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard7', 'setInfo');
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard8', 'setInfo');

если вдруг будет непонятно, опишу все что тут происходит подробнее
P.S. все это есть вообще в теме "скрипты", хотя искать это прийдется там очень долго %)
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
13 лет назад
большое спасибо! по англ шарю так что почти всё понял

Добавлено через 1 час 3 минуты
ещё возникла проблема вот делаю я второго призрака-некроманта, меняю ему спецу в shared а у первого тоже спеца меняется. Что делать?:smile45:
Аватар пользователя
13 лет назад
Может имя тоже? Создавать по сути с нуля надо, просто чтобы долго не морочить себе голову скопировать всю инфу со старого героя. Когда себе создавал персов, проблем не было

Добавлено через 8 минут
и еще в функцию нужно всунуть проверку для точности:
setCount = 0; 

function setInfo(object, hero) 
    setCount = setCount+1; 
    heroname = hero;
    sleep(5);
    if IsHeroAlive(heroname) ~= true then
        return;
    end;
    
    if setCount == 1 then 
        MessageBox(GetMapDataPath()..'count1from8.txt'); 
    elseif setCount == 2 then 
        MessageBox(GetMapDataPath()..'count2from8.txt'); 
    elseif setCount == 3 then 
        MessageBox(GetMapDataPath()..'count3from8.txt'); 
    elseif setCount == 4 then 
        MessageBox(GetMapDataPath()..'count4from8.txt'); 
    elseif setCount == 5 then 
        MessageBox(GetMapDataPath()..'count5from8.txt'); 
    elseif setCount == 6 then 
        MessageBox(GetMapDataPath()..'count6from8.txt'); 
    elseif setCount == 7 then 
        MessageBox(GetMapDataPath()..'count7from8.txt'); 
    elseif setCount == 8 then 
        MessageBox(GetMapDataPath()..'count8from8.txt'); 
        GiveArtefact("heroname", artifact1Id); 
        GiveArtefact("heroname", artifact2Id); 
        ChangeHeroStat("heroname", STAT, count); 
    end; 
end; 

Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard1', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard2', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard3', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard4', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard5', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard6', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard7', 'setInfo'); 
Trigger(OBJECT_TOUCH_TRIGGER, 'dragonGuard8', 'setInfo'); 
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
13 лет назад
смысл в том что редактор воспринимает 2-х героев как один объект с "раздвоением личности :D " и какую спецу я ставлю одному, та и другому, т.к. я просто ставлю на карту Ghost`а из Heroes(Scenario) и в каждом случае меняю примари скилл на некромантию т.е. получается 2 Ghost`а "по цене одного :D "
Аватар пользователя
13 лет назад
не через редактор делай, посмотри путь где лежит файл героя, зайди туда через архиватор и скопируй файл в свою карту, а затем через редактор можеш указав на него путь настроить все что нужно
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
13 лет назад
ещё вопрос по скрипту:
мне строку ChangeHeroStat("heroname", STAT, count) писать 4 раза? тоесть в 1-ой stat_attack, во второй stat_defence и т.д.?
Аватар пользователя
13 лет назад
так точно, для каждой статы отдельно, но если их много и для многих героев к примеру, то можно через цикл

stats = {STAT_EXPERIENCE, STAT_ATTACK, STAT_DEFENCE, STAT_SPELL_POWER, STAT_KNOWLEDGE, STAT_LUCK, STAT_MORALE};

for i = 1, length(stats) do
ChangeHeroStat("heroname", stats, count);
end;

скажем вот так как то
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация

Статистика

Приветствуем новейшего участника: recijeb