Снова я с вопросами((
Читаю инфу в инете и все равно не могу понять как правильно написать.
Вводные данные:
1) на карте 8 игроков - каждый сам за себя - все разные расы - у каждого своя "зона прокачки"
2) у каждого стоит своя постройка со скриптовым именем - предположим zdanie1 у первого игрока - zdanie2 у второго и так до 8 игрока.
Что нужно накодить:
1) случайный герой игрока 1 касается своей постройки zdanie1 и идет проверка наличия скилла, если скилл имеется, то дается боевой бонус на битву случайным ГЕРОЯМ ПРОТИВНИКА игроков 2-8.
Это ключевой момент всего скрипта, именно герою ПРОТИВНИКА.
Аналогично с другими игроками и их зданиями.
Случайный герой игрока 2 касается своего здания zdanie2 и идет проверка наличия скилла, если имеется, то выдается боевой бонус на битву всем героям противников, то бишь героям игроков 1,3-8.
И так по всем игрокам прописать.
2) Понимаю что примерно такого вида должен быть код (код будет ниже в пункте 3), но до конца не осилю его.
Стоит отдельно отметить, что я научился выдавать скиллы-заклинания-артефакты-боевые бонусы через тригер касания, но только тому кто касается здания (на моей карте это равняется дать плюшку СВОЕМУ герою ведь у каждого свое здание) за что большая благодарность АЗГАЛОРУ
3) Мой тестовый код который НЕ работает, но пытается, итак герой касается и погнали:
function zdanie1F ()
hero1 = GetPlayerHeroes(PLAYER_1);
hero2 = GetPlayerHeroes(PLAYER_2);
hero3 = GetPlayerHeroes(PLAYER_3);
hero4 = GetPlayerHeroes(PLAYER_4);
hero5 = GetPlayerHeroes(PLAYER_5);
hero6 = GetPlayerHeroes(PLAYER_6);
hero7 = GetPlayerHeroes(PLAYER_7);
hero8 = GetPlayerHeroes(PLAYER_8);
geroi1 = hero1
geroi2 = hero2
geroi3 = hero3
geroi4 = hero4
geroi5 = hero5
geroi6 = hero6
geroi7 = hero7
geroi8 = hero8
if HasHeroSkill (geroi1, условно скилл навигация)
then
GiveHeroBattleBonus (geroi2, бонус морали, -3);
GiveHeroBattleBonus (geroi3, бонус морали, -3);
GiveHeroBattleBonus (geroi4, бонус морали, -3);
GiveHeroBattleBonus (geroi5, бонус морали, -3);
GiveHeroBattleBonus (geroi6, бонус морали, -3);
GiveHeroBattleBonus (geroi7, бонус морали, -3);
GiveHeroBattleBonus (geroi8, бонус морали, -3);
Trigger (OBJECT_TOUCH_TRIGGER, "zdanie1", nil);
end;
end;
Trigger (OBJECT_TOUCH_TRIGGER, "zdanie1", "zdanie1F");
P.S. Копался в карте X-РТА - там есть подобный скрипт, только там реализован он без тригера и с помощью знаков -- которые подтягивают ранее прописанные значения типа --герой1 = херо1, ну а там уже кодеры серьезные.