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

Сообщения от Текущие вопросы и ответы по редактору карт

Аватар пользователя

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");
Должно работать.
 

К А
Стикеры GBF в Telegram
Аватар пользователя
Спасибо большое, а то я только начал изучать скрипты))
В ответ пользователю Ment
Ment
На второй вопрос сразу отвечу: поможет вот этот мод. 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). А по всем остальным параметрам должно работать.

Добавлено через 1 минуту
Имена на английском, да.
 

К А
Стикеры GBF в Telegram
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
Либо я вообще не туда вписываю либо я вообще ничего не понял:(
Аватар пользователя
Я тут пытаюсь сделать анимации существам, но не получается! Все пишу:
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" обычно есть. Даже последней нет у юнитов Лесного Союза, но вот этот мод исправляет это.
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Ment
Имена героев в массиве исправили?

Оп,а вот сдесь по подробнее,если можно,ведь я не шарю в этом всем вообще.
А в остальном всё правильно я сделал?
Аватар пользователя
В строчке 1 кода мы инициализируем переменную h. В её начале стоят имена героев, у меня там свои имена, как видите. Но у Вас они должны быть другими и их должно быть 4 штуки. Знаете, как их узнать?

Добавлено через 1 минуту
нонстоп
А в остальном всё правильно я сделал?
Вроде, да.
 

К А
Стикеры GBF в Telegram
Нет не знаю,а как?Это выходит что я просто скопировал кавычки и пробелы вместо того что бы вписать имена?:)Гг.
Т.Е. если я запишу туда всех героев они все будут иметь -800,так?
Аватар пользователя
По идее, да. Ну мы берём героя, нажимаем "object propreties", переходим на вкладку "settings", в графе "script name" его скриптовое имя. Оно-то нам и нужно.
 

К А
Стикеры GBF в Telegram
Спасибо,буду пробывать.
Ment,вообщем вообще никак:(Прикрепляю текстовый документ,посмотри пожалуйста что не так.Вроде бы всё по инструкциям делал:(
Вложения 1
1 файл • Общий размер: 1,1 KB
Аватар пользователя
1. Имя вводите в Map Propreties Tree?
2. Не у всех существ есть анимация "attck01", но анимация "attack00" обычно есть. Даже последней нет у юнитов Лесного Союза, но вот этот мод исправляет это.

Да, да всё именно так, смена атаки тоже не помогла
В ответ пользователю нонстоп
Аватар пользователя
нонстоп
Ment,вообщем вообще никак:(Прикрепляю текстовый документ,посмотри пожалуйста что не так.Вроде бы всё по инструкциям делал:(
У Вас сколько начальных героев? 16? Тогда надо 16 строк, но проще будет зациклить. А так я поглядел, тут, похоже, какая-то ерунда при копировании произошла (когда я код копировал).
Вот такой код попробуйте ( в конце сообщения).
EfReeZe
Да, да всё именно так, смена атаки тоже не помогла
Ещё проблема может быть в регистре, важно, чтобы название юнита полностью совпадало с тем, что у Вас написано в скрипте.
Вложения 1
1 файл • Общий размер: 1,1 KB
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Ment
У Вас сколько начальных героев? 16? Тогда надо 16 строк, но проще будет зациклить. А так я поглядел, тут, похоже, какая-то ерунда при копировании произошла (когда я код копировал).
Вот такой код попробуйте.
Можно,на ты,на вы как то аж не привычно.Я понял что ничего не догонял.Вообщем нужно вписывать 4 героя которые стартуют возле городов?А остальные просто ','','','','','','','','','','','','','','','','','','','','' вот эти штуки и оно по идее должно работать.Верно?Просто я написал всех героев которых я допустил на этой карте,что и было не верно.Так ведь?И еще вопрос,тюрьмы могут влиять на роботу этого цикла?!16 допущенных (со стартовыми вместе)+ 4 в тюрьмах.

Статистика

Приветствуем новейшего участника: Вязов Анатолий Аркадьевич