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

Сообщения от Скрипты

Аватар пользователя
15 лет назад
слово function Ну это и так понятно, думаю.
Вы будете смеяться :D. Я подумал, что это какая-то особенная процедура :(. Но проблемы не исчезли. Сейчас посмотрим, что консоль напишет.

Всё, работает :)! Ещё раз большое спасибо за помощь ;). Ошибка была простая - в триггере стоял не тот PlayerID.

И есть последний вопрос. В окне заданий тоже пишется название карты, а при нажатию по нему - описание карты. Вместо этого у меня английское имя и Custom Map. Где это редактируется?
Аватар пользователя
15 лет назад
Это уже совсем не смешно. Дописал к концу пару функций, середина (со смертью героя) работать перестала :(. Консоль ничего не говорит, кроме "Script Warning".
15 лет назад
А в чем проблема? Чем смогу, помогу...
Аватар пользователя
15 лет назад
В том то и дело, что проблемы нет. Просто опять с определённого места не работает. Попробую ещё раз карту пересобрать.
15 лет назад
Напиши, как собраны скрипты, т.е. по порядку каждую функцию. Ведь если функции следуют одна за другой, т.е. пока не выполнится одна функция, не последует другая. Если хоть в одной функии есть ошибка и она не работает, все ломается. Может где end пропустил или триггер неправильно поставил. Или сообщение не выходит.
Аватар пользователя
15 лет назад
Иногда попадаются скриптовые функции, которые работают дольше остальных (мессадж бокс, к примеру). Игра поступает хитро: не закончив выполнение одной функции сразу приступает к следующей, и скрипт работает некорректно. Я в таких случаях пихаю в подозрительных местах sleep(3), часто помогает.
В ответ пользователю Ment
Аватар пользователя
15 лет назад
Ment
Иногда попадаются скриптовые функции, которые работают дольше остальных (мессадж бокс, к примеру). Игра поступает хитро: не закончив выполнение одной функции сразу приступает к следующей, и скрипт работает некорректно. Я в таких случаях пихаю в подозрительных местах sleep(3), часто помогает.
Мессаги можно и в одтельном потоке загружать.
Победитель
Консоль ничего не говорит, кроме "Script Warning".
"Script Warning" - это всё-таки не ошибка. Описание то предупреждения не выложил(неужели нет?)
Если всё так сложно, то лучше сконнектится через асеподобные программки. А самое лучшее - кинуть карту поглядеть...
Все свидетели. Распространять буду :)
В ответ пользователю Dyrman
Аватар пользователя
15 лет назад
Dyrman
Мессаги можно и в одтельном потоке загружать.

"Script Warning" - это всё-таки не ошибка. Описание то предупреждения не выложил(неужели нет?)
Если всё так сложно, то лучше сконнектится через асеподобные программки. А самое лучшее - кинуть карту поглядеть...
Все свидетели. Распространять буду :)
Спасибо ;). Но я всё-таки разобрался. Осталось сделать рабочей последнюю функцию.

Я сделал так: вместо вхождения в регион и начала битвы - поставил гарнизон в город и скрипт, срабатывающий при его захвате :). Так что всё получилось, спасибо.
Аватар пользователя
15 лет назад
Можно ли сделать так, что при вхождении героя в регион в первый раз выполняется одна функция, а при последующем вхождении - другая?

И ещё по поводу этого кода:

if GetSavedCombatArmyHero(a1,0)=="Giovanni" then
Loose();
end;
if (GetSavedCombatArmyHero(a1,1)=="Giovanni") and (GetSavedCombatArmyHero(a1,0)=="Zehir") then
MessageBox(GetMapDataPath().."talk_of_grigorio_6.txt");
SetObjectiveState("kill_pl5", OBJECTIVE_COMPLETED, PLAYER_1 );
SetPlayerResource(PLAYER_1 ,GOLD, GetPlayerResource(PLAYER_1 , GOLD)+20000);
end;
Что здесь (a1,0/1)?
В ответ пользователю Победитель
Аватар пользователя
15 лет назад
Победитель
Можно ли сделать так, что при вхождении героя в регион в первый раз выполняется одна функция, а при последующем вхождении - другая?

И ещё по поводу этого кода:

if GetSavedCombatArmyHero(a1,0)=="Giovanni" then
Loose();
end;
if (GetSavedCombatArmyHero(a1,1)=="Giovanni") and (GetSavedCombatArmyHero(a1,0)=="Zehir") then
MessageBox(GetMapDataPath().."talk_of_grigorio_6.txt");
SetObjectiveState("kill_pl5", OBJECTIVE_COMPLETED, PLAYER_1 );
SetPlayerResource(PLAYER_1 ,GOLD, GetPlayerResource(PLAYER_1 , GOLD)+20000);
end;
Что здесь (a1,0/1)?
ПРоигрышь\выигрыш.
При выполнении функций:
Ставь счётчик на выполнение функций либо переменную, которая определяет названия функций.
Но тебе явно легче просто написать 1 функцию с условием первого и второго вхождения. Флаг (переменная) будет определять вхождение.
Типа :
если ф=1
первый случай, ф присваивается 2
если ф=2
второй случай
15 лет назад
Народ подскажите плиз как написать скрипт или еще как-нибудь!!!!Вот мы с другом играем на карте подземные сокровища и хочу сделать так чтоб при достижении героя уровня 23 "игроку 4" в хижине пророка давали +2 левела.Сколько не пытался,сколько не читал вообще не фига не получается.Объясните для чайника куда?что?как?
Аватар пользователя
15 лет назад
Код надо писать в верхняя панель редактора->map propreties->map script->edit. Текст скрипта вложен в сообщение. Только я там ошибся: перед 23 вместо == надо >
Вложения 1
1 файл • Общий размер: 312 B
В ответ пользователю Ment
15 лет назад
Ment
Код надо писать в верхняя панель редактора->map propreties->map script->edit. Текст скрипта вложен в сообщение. Только я там ошибся: перед 23 вместо == надо >


Сделал всё как ты сказал, все равно не работает!!! когда захожу в хижину мне пишет что здесь никого нет!!!Помогите пожалуйста!!!Вот как я пишу:

function lev(hero)
if GetHeroLevel(hero)>1 and GetObjectOwner(hero)==4 then
LevelUpHero(hero);
sleep(4);
LevelUpHero(hero);
Trigger(OBJECT_TOUCH_TRIGGER,Seer,nil);
end;
end;
SetObjectEnabled(Seer,nil);
Trigger(OBJECT_TOUCH_TRIGGER,Seer,'lev');
Аватар пользователя
15 лет назад
Seer надо в кавычках или в апострофах. И важно еще, чтобы совпадал регистр.
В ответ пользователю Ment
15 лет назад
Ment
Seer надо в кавычках или в апострофах. И важно еще, чтобы совпадал регистр.

Ну наконец то, в кавычки поставил всё заработало.Обычно я всегда ставил,а тут чет пропустил.СПАСИБО тебе чувак огромное (+ тебе!!!).Я понял где у меня была ошибка раньше,я во второй строке писал просто:
if GetHeroLevel(PLAYER_4)>23 (БЕЗ and GetObjectOwner(hero)==4 then).

А вот еще один вопросик тебе если можно:
Вот если редактировать саму хижину пророка там когда выбираешь тип задания допустим собрать ресурсы то она в игре требует только одну единицу древесины,а можно это как-нибудь отредактировать чтоб много и всего,не через скрипты???И вообще задания там можно редактировать??? если "ДА" то как, пожалуйста подробно.А так спасибо тебе за помощь!!!

Статистика

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

Сейчас на сайте 6 пользователей 1291 гостей