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

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

В ответ пользователю KioM
14 лет назад
KioM
не работает и эта функция... вообщем это у меня сделано в карте "трон", если есть желание посмотрите может я чтото упустил все таки, я пока хакнул... убрал вообще возможность нанять кого-нибудь в таверне

p.s. мне главное было бы запретить возводить в городах таверну

Трон 1.2
глянул. Че то ты там замутил вовсе нехорошее :D
setBuildingsLevel(TOWN01, 1, 3, 2); пишеш это, а через функцию присваиваеш level1=1 (хотя для запрета level1=0 должно быть)
DestroyTownBuildingToLevel(townName, TOWN_BUILDING_TAVERN, level1, 0); (т.е. разрешаеш постройку таверны, хотя вроде как запрет на таверну ставить хотел после трансформации :confused: ).
далее - по двеллам можно тоже эту же функцию использовать, (циклом проще - пример приводил, рабочий - еще раз говорю :) К тому же там и обратный пример - после захвата города компом, таверну и двеллы снова строить разрешалось).
Еще и алиасов намутил :eek: жесть :smile33: может и в них проблема - я вних не особо разбираюсь.
опять скажешь что не работает?? ;)
В ответ пользователю JonnyP
Аватар пользователя
14 лет назад
JonnyP
глянул. Че то ты там замутил вовсе нехорошее :D
setBuildingsLevel(TOWN01, 1, 3, 2); пишеш это, а через функцию присваиваеш level1=1 (хотя для запрета level1=0 должно быть)
DestroyTownBuildingToLevel(townName, TOWN_BUILDING_TAVERN, level1, 0); (т.е. разрешаеш постройку таверны, хотя вроде как запрет на таверну ставить хотел после трансформации :confused: ).
далее - по двеллам можно тоже эту же функцию использовать, (циклом проще - пример приводил, рабочий - еще раз говорю :) К тому же там и обратный пример - после захвата города компом, таверну и двеллы снова строить разрешалось).
Еще и алиасов намутил :eek: жесть :smile33: может и в них проблема - я вних не особо разбираюсь.
опять скажешь что не работает?? ;)

свежий взгляд) спасибо: setBuildingsLevel(TOWN01, 1, 3, 2); здесь и был косяк...
14 лет назад
Добрый день всем!
В последнее время возник такого рода вопрос - как "включить" объект командой SetObjectEnabled?
При попытке поставить "not nil" или 'true' выдаёт ошибку в консоль с отсутствием такого рода переменной, тоже самое - когда уберу команду вообще.
С уважением.
Аватар пользователя
14 лет назад
Выдаёт ошибку? Странно, я всегда использовал "true" и успешно. Точно не путаю: очень часто приходится делать при диалоге с монстрами и прочее.
14 лет назад
Я подозревал то, что произошло, но обнаружил только после трезвого взгляда на консоль. Неправильно написал команду.
Спасибо за помощь, в любом случае.
С уважением.
14 лет назад
Добрый день всем!
У меня два вопроса:
1) Пытаюсь сделать проверку на наличие артефакта и последующее выполнение задачи, но то ли startThread, то ли while ... do упорно клинит. Перепробовал всё, но ничего не выходит. Варианты функции:
function RingF()
while HasArtefact('Giovanni',ARTIFACT_NECROMACER_PENDANT) == not nil do
SetObjectiveState('Amulet, OBJECTIVE_COMPLETED)
MessageBox(dir..'Posoh_naiden.txt')
end;
end;
startThread(RingF)

function RingF()
if HasArtefact('Giovanni', ARTIFACT_NECROMANCER_PENDANT) then
SetObjectiveState('Amulet', OBJECTIVE_COMPLETED)
MessageBox(dir..'Amulet_founded.txt')
end;
end;
startThread(RingF)
всё перепробовал. В чём косяк?
2) Что обозначает UnitName в комбат-скрипте?
С уважением.
В ответ пользователю djulian13
Аватар пользователя
14 лет назад
djulian13
Добрый день всем!
У меня два вопроса:
1) Пытаюсь сделать проверку на наличие артефакта и последующее выполнение задачи, но то ли startThread, то ли while ... do упорно клинит.
while HasArtefact('Giovanni',ARTIFACT_NECROMACER_PENDANT) == not nil do
:eek: while тама точно не должно быть
А так не катит? :
if HasArtifact("Giovanni",ARTIFACT_NECROMACER_PENDANT) == true ...

А что пишет консоль?
14 лет назад
Нашёл решение. Спасибо всем за помощь!
Функция правильно выглядит так:
function RingF()
while 1 do
if HasArtefact('Giovanni', ARTIFACT_NECROMANCER_PENDANT) == true then
SetObjectiveState('Amulet', OBJECTIVE_COMPLETED)
MessageBox(dir..'Amulet_founded.txt')
end;
sleep(1)
end;
end;
startThread(RingF);

С уважением.
14 лет назад
И снова всем добрый день!
Сейчас пытаюсь освоить CombatScript. Вопрос такой - что означает переменная UnitName?
С уважением.
В ответ пользователю djulian13
Аватар пользователя
14 лет назад
djulian13
И снова всем добрый день!
Сейчас пытаюсь освоить CombatScript. Вопрос такой - что означает переменная UnitName?
С уважением.
Имя юнита :rolleyes:
Может, в смысле, какого-либо отряда
14 лет назад
Спасибо. Имя юнита - это, в смысле, к примеру, CREATURE_IMP? Или оно как-то присваивается?
С уважением.
Аватар пользователя
14 лет назад
Хотелось бы узнать,почему не работает данный кусок скрипта. Вроде всё делал правильно...

function ask1 ()
MessageBox ("/Maps/SingleMissions/Illusion Castle/ask1F.txt");
then QuestionBox ("/Maps/SingleMissions/Illusion Castle/ask1.txt", 'yes', 'no');
end;

function yes ()
SetObjectiveState('obj_5', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_5', true, PLAYER_1 );
Trigger(OBJECT_TOUCH_TRIGGER, "hat", nil);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "ask1" );
В ответ пользователю djulian13
14 лет назад
djulian13
Имя юнита - это, в смысле, к примеру, CREATURE_IMP?
С уважением.
Нет. В такическом режиме имена юнитов отличаются от имен на глобальной карте. Проверь ф-ей GetUnitNames (как-то так вроде, лучше в мануале глянь, там подробнее и есть особенности кое-какие).
AkaR , в своем скрипте просто проверь синтаксис
14 лет назад
Неправильное построение скрипта.
Должно быть:
function ask1 ()
MessageBox ("/Maps/SingleMissions/Illusion Castle/ask1F.txt");
sleep(5)
QuestionBox ("/Maps/SingleMissions/Illusion Castle/ask1.txt", 'yes', 'no');
Trigger(OBJECT_TOUCH_TRIGGER, "hat", nil);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "ask1" );

function yes ()
SetObjectiveState('obj_5', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_5', true, PLAYER_1 );
end;

Также советую вместо пути к папке использовать GetMapDataPath()..'имя_файла.txt'.
P.S. Кодировку .txt-файла проверили? Юникод?

Проверь ф-ей GetUnitNames (как-то так вроде, лучше в мануале глянь, там подробнее и есть особенности кое-какие).

Спасибо!
С уважением.

Статистика

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

Сейчас на сайте 2 пользователей 1179 гостей