function Plus() res=GetPlayerResource(1,6); if (res>[кол-во денег, нужных для найма]) then AddObjectCreatures([скриптовое имя города],[ID существа],[кол-во существ]); SetPlayerResource(1,6,res-[кол-во денег, нужных для найма]); end else MessageBox(GetMapDataPath()..[имя файла, где написано, что денег недостаточно, с расширениием и в кавычках]); end; end; Trigger(NEW_DAY_TRIGGER,"Plus");
На второй вопрос сразу отвечу: поможет вот этот мод. http://all4heroes.net/node/435 Про первое немного сложнее. Можно так: ChangeHeroStat([имя героя],7,10) Т.е. дали герою 10 очков передвижения (не знаю, если честно, насколько это много). А, чтобы всем и навсегда 15%... Можно через хитрый цикл, перебирающий всех героев. Но я ещё подумаю и отпишусь.
Значит нельзя мозги,а жаль:(Просто мод на такой маленькой карте врядли поможет,хотя он помогает запретить сбежать,если я правильно понял?Это хорошо,ато бывает что бежит без боя.А про первый вопрос(нужно снизить),если можеш ответь пожалуйста немного поточнее,где и как вписывать.И еще,имена на английском нужно?
Значит нельзя мозги,а жаль:(Просто мод на такой маленькой карте вряд ли поможет,хотя он помогает запретить сбежать,если я правильно понял?Это хорошо,а то бывает что бежит без боя.А про первый вопрос(нужно снизить),если можешь ответь пожалуйста немного поточнее,где и как вписывать.И еще,имена на английском нужно?
Готово. h={'Ving','Straker','','','','','','','','','','','','','','','','','','','',''}--для 20 героев на карте (и двух начальных), если нужно допустить больше, нужно больше --раз написать ,''. Если начальных героев больше, нужно дописать их в начале. hq=0; i=0; nh=0; k=-800;--ход будет уменьшен на 800 очков function NewHero(hero) hq=hq+1; h[hq]=hero; ChangeHeroStat(hero,7,k); end; function NewDay() i=1; while i<=hq do ChangeHeroStat(h,7,k); i=i+1; end; end; function MinusHero(hero) while (i<=hq) do if(h==hero) then while(i h=h[i+1]; end; i=hq; end; i=i+1; end; hq=hq-1; end; ChangeHeroStat(h[1],7,k); ChangeHeroStat(h[2],7,k); hq=2;--если сначала на карте 2 героя, иначе ещё такие же ф-ции и hq=3 Trigger(PLAYER_ADD_HERO_TRIGGER,1,'NewHero');--если 1-й игрок наймёт героя Trigger(PLAYER_ADD_HERO_TRIGGER,2,'NewHero');--для игрока 2. Если есть игрок 3, то для него нужна такая же функция, но 2 заменить на 3 Trigger(NEW_DAY_TRIGGER,'NewDay'); Trigger(PLAYER_REMOVE_HERO_TRIGGER,1,'MinusHero');--одному из героев игрока 1 пришёл капут Trigger(PLAYER_REMOVE_HERO_TRIGGER,2,'MinusHero'); Вот так у меня работает. Но это не минус 15%, а минус 800 очков (задаётся параметром k). А по всем остальным параметрам должно работать.
Ment,спасибо,но я так ничего и не понял:(В свойствах карты нажал скрипты,скопировал полностью свё и вставил туда(без русских букв конечно).Правда единственное что дописал это : ChangeHeroStat(h[1],7,k); ChangeHeroStat(h[2],7,k); Здесь еще дописал тоже самое только (h[3],7,k); и (h[4],7,k);У меня 4 игрока,если я правильно понял это тоже нужно было? hq=2; исправил на hq=4;-ведь четыре игрока со стартовыми героями. и еще к Trigger(PLAYER_REMOVE_HERO_TRIGGER,1,'MinusHero'); и Trigger(PLAYER_REMOVE_HERO_TRIGGER,2,'MinusHero'); дописал такие же штуки только 3 и 4(больше ничего не трогал вообще).Но результата не видно,я уже ставил больше значение,но нет:(Сегодня догадался нажать кнопочку check? оно мне выдаёт Function NewHero not defined,line 6 Function newDay not defined,line 11 Function MinusHero not defined,line 18 Function nh not defined,line 4 Либо я вообще не туда вписываю либо я вообще ничего не понял:(
EfReeZe
Я тут пытаюсь сделать анимации существам, но не получается! Все пишу: 1.Скрипт-Имя 2.Скрипт PlayObjectAnimation("soldat1", "attack01", IDLE); 3.А он всё равно не атакует 4.Что делать?
Ment...Либо я вообще не туда вписываю либо я вообще ничего не понял:(
Имена героев в массиве исправили? Ошибки эти вполне нормальны, только последняя меня немного смущает, так как nh-- это не функция, а переменная. А минус 800 очков должно быть нормально, когда я ставил минус 3000 у героев вовсе ход пропал.EfReeZe
Я тут пытаюсь сделать анимации существам, но не получается! Все пишу: 1.Скрипт-Имя 2.Скрипт PlayObjectAnimation("soldat1", "attack01", IDLE); 3.А он всё равно не атакует 4.Что делать?
1. Имя вводите в Map Propreties Tree? 2. Не у всех существ есть анимация "attck01", но анимация "attack00" обычно есть. Даже последней нет у юнитов Лесного Союза, но вот этот мод исправляет это.
Оп,а вот сдесь по подробнее,если можно,ведь я не шарю в этом всем вообще. А в остальном всё правильно я сделал?
Ment
В строчке 1 кода мы инициализируем переменную h. В её начале стоят имена героев, у меня там свои имена, как видите. Но у Вас они должны быть другими и их должно быть 4 штуки. Знаете, как их узнать?
Нет не знаю,а как?Это выходит что я просто скопировал кавычки и пробелы вместо того что бы вписать имена?:)Гг. Т.Е. если я запишу туда всех героев они все будут иметь -800,так?
Ment
По идее, да. Ну мы берём героя, нажимаем "object propreties", переходим на вкладку "settings", в графе "script name" его скриптовое имя. Оно-то нам и нужно.
1. Имя вводите в Map Propreties Tree? 2. Не у всех существ есть анимация "attck01", но анимация "attack00" обычно есть. Даже последней нет у юнитов Лесного Союза, но вот этот мод исправляет это.
Да, да всё именно так, смена атаки тоже не помогла
Ment,вообщем вообще никак:(Прикрепляю текстовый документ,посмотри пожалуйста что не так.Вроде бы всё по инструкциям делал:(
У Вас сколько начальных героев? 16? Тогда надо 16 строк, но проще будет зациклить. А так я поглядел, тут, похоже, какая-то ерунда при копировании произошла (когда я код копировал). Вот такой код попробуйте ( в конце сообщения).EfReeZe
Да, да всё именно так, смена атаки тоже не помогла
Ещё проблема может быть в регистре, важно, чтобы название юнита полностью совпадало с тем, что у Вас написано в скрипте.
У Вас сколько начальных героев? 16? Тогда надо 16 строк, но проще будет зациклить. А так я поглядел, тут, похоже, какая-то ерунда при копировании произошла (когда я код копировал). Вот такой код попробуйте.
Можно,на ты,на вы как то аж не привычно.Я понял что ничего не догонял.Вообщем нужно вписывать 4 героя которые стартуют возле городов?А остальные просто ','','','','','','','','','','','','','','','','','','','','' вот эти штуки и оно по идее должно работать.Верно?Просто я написал всех героев которых я допустил на этой карте,что и было не верно.Так ведь?И еще вопрос,тюрьмы могут влиять на роботу этого цикла?!16 допущенных (со стартовыми вместе)+ 4 в тюрьмах.