Союз | Union

Объявление

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Союз | Union » Картостроение и скриптовка » Скрипты


Скрипты

Сообщений 91 страница 120 из 345

91

а я бы немного по-другому сделал:

function Init()
RunScript( "Reinf1", 30000);
end;

function Reinf1()
LandReinforcement(2318);
RunScript( "uslovie", 3000);
Suicide();
end;

function uslovie()
if GetNUnitsInScriptGroup(2318, 1) < ? then вместо знака ? поставишь кол-во полгруппы
Cmd (0, 336, 40, 180); вместо 0 можно поставить 3, чтобы группа перемещалась в боевом порядке, только это касается боевых    юнитов
Suicide();
end;
end;

Плюс этого скрипта - проверка условия выполняется не через 30 секунд, а через каждые 3

0

92

Jukov написал(а):

Jukov

Ответь на мой вопрос пожалуйста, ты шаришь хорошо  :blush:
окна которые выплывают СПРАВА сверху, а не слева....
то что ты имел ввиду - это вот например ObjectiveChanged(1, 0); задача 1 выдана...
а я хотел спросить про окно с текстом справа сверху - то оно выскакивает, то нет вот в чем вопрос.

0

93

alderus написал(а):

окна которые выплывают СПРАВА сверху, а не слева....
то что ты имел ввиду - это вот например ObjectiveChanged(1, 0); задача 1 выдана...
а я хотел спросить про окно с текстом справа сверху - то оно выскакивает, то нет вот в чем вопрос.

Не понимаю вопроса. Скриншот покажи!

0

94

Jukov написал(а):

Не понимаю вопроса. Скриншот покажи!

вот это окошко. почему оно иногда само выскакивает, а иногда надо его открыть (нажав tab или О)... мелочь конечно, но интересно из-за чего. если глупость спросил, то извини  :)

http://s41.radikal.ru/i093/0909/3b/401eb5d88d12.jpg

0

95

alderus написал(а):

вот это окошко. почему оно иногда само выскакивает, а иногда надо его открыть (нажав tab или О)... мелочь конечно, но интересно из-за чего. если глупость спросил, то извини  :)

вообще то как раз команда ObjectiveChanged(1,0) и выдает задание, и одновременно выводит его на экран. Странно, что у тебя не так. О таком глюке впервые слышу.

0

96

Reks написал(а):

вообще то как раз команда ObjectiveChanged(1,0) и выдает задание, и одновременно выводит его на экран. Странно, что у тебя не так. О таком глюке впервые слышу.

вово беда какая. мелочь, а не приятно. то выскакивает то нет  :confused:

0

97

alderus написал(а):

вот это окошко. почему оно иногда само выскакивает, а иногда надо его открыть (нажав tab или О)... мелочь конечно, но интересно из-за чего. если глупость спросил, то извини

Это окно задач миссии. Оно выскакаивает когда даешь команду ObjectiveChanged(iObjNum, 0),
где iObjNum - номер задачи
Вот выдержка из моего справочника по Lua:

ObjectiveChanged (iObjNum, iState)
Изменяет состояние задачи с номером iObjNum в iState. iState может быть:
0 — задача выдана
1 — задача выполнена
2 — задача провалена

Для работы данной функции ессесно должны быть созданы файлы в папке Scenarios, в которых содержится описание задачи. Для примера посмотри как это сделано в дополнении Смертельная схватка (любая часть)
Если задача не выдается из скрипта, но в описателе задач она имеет выключенный флаг секретности, то её содержание можно просмотреть вручную по TAB.

Отредактировано Jukov (2009-09-30 15:15:41)

0

98

Jukov написал(а):

Это окно задач миссии. Оно выскакаивает когда даешь команду ObjectiveChanged(iObjNum, 0),где iObjNum - номер задачиВот выдержка из моего справочника по Lua:
            ObjectiveChanged (iObjNum, iState)Изменяет состояние задачи с номером iObjNum в iState. iState может быть: 0 — задача выдана 1 — задача выполнена 2 — задача провалена
            Для работы данной функции ессесно должны быть созданы файлы в папке Scenarios, в которых содержится описание задачи. Для примера посмотри как это сделано в дополнении Смертельная схватка (любая часть)Если задача не выдается из скрипта, но в описателе задач она имеет выключенный флаг секретности, то её содержание можно просмотреть вручную по TAB.

Товарищ Жуков вы опять ничего не поняли! Я же писал что типа ObjectiveChanged (1, 0) задача 1 выдана это не то!! я знаю это прекрасно, это отношения к моему вопросу не имеет! вопрос такой - задача выдана, скрипт работает, задача выдана, а вот то окошко которое я обвёл не вылазит! задача в игре выдается, пишет "получена задача такая то" но окошка справа нет! только сам нажимаешь на ТАБ или О и читаешь описание задачи. автоматически как обычно оно почемутоне вылазит вместе со строчкой слева сверху "получена задача такаято". вобщем я так понимаю это просто дело случая, редкий баг и всё

Отредактировано alderus (2009-09-30 18:15:27)

0

99

Вопрос к знатокам скриптов и программирования!

Есть функция:

function F22()
if (IsPlayerPresent(2)==1) then
RunScript("F311",72000);
RunScript("F321",72000);
RunScript("R2",73000);
RunScript("FC2",1000);
else
RunScript("F411",72000);
RunScript("F421",72000);
RunScript("R2",73000);
RunScript("FC2",1000);
end;
Suicide();
end;

Почему вызываемая ф-ция FC2 самостоятельно входит в постоянный бесконечный цикл?

0

100

Reks написал(а):

Почему вызываемая ф-ция FC2 самостоятельно входит в постоянный бесконечный цикл?

а как сама функция выглядит?

0

101

alderus написал(а):

а как сама функция выглядит?

Простая ф-ция с выводом текста на экран. Да и не важно, что в ф-ции FC2!  Она циклится не внутри себя, а просто постоянно циклически вызывается.

0

102

Reks
Я конечно не супер знаток LUA, но как показывает практика, если язык обрабатывает две одинаковые ф-ции подряд, он их зацикливает. Есть подозрение что R2 у тебя тоже зациклена, но на интервал 73 секунды. Выход вижу в смене названия, если это возможно. Или как нить, что нить между воткнуть(порядок нарушить).

0

103

alderus написал(а):

Товарищ Жуков вы опять ничего не поняли! Я же писал что типа ObjectiveChanged (1, 0) задача 1 выдана это не то!! я знаю это прекрасно, это отношения к моему вопросу не имеет! вопрос такой - задача выдана, скрипт работает, задача выдана, а вот то окошко которое я обвёл не вылазит! задача в игре выдается, пишет "получена задача такая то" но окошка справа нет! только сам нажимаешь на ТАБ или О и читаешь описание задачи. автоматически как обычно оно почемутоне вылазит вместе со строчкой слева сверху "получена задача такаято". вобщем я так понимаю это просто дело случая, редкий баг и всё

Ты прав!!! ЭТО БАГ!!!

0

104

Reks написал(а):

Простая ф-ция с выводом текста на экран. Да и не важно, что в ф-ции FC2!  Она циклится не внутри себя, а просто постоянно циклически вызывается.

Как выглядит сама функция - это как раз таки важно. Я уверен, что глюк - в ней. И скорее всего там нет Suicide() в конце. И ваще я бы так сделал:

function F22()
if IsPlayerPresent(2)==1 then
RunScript("F311",72000);
RunScript("F321",72000);
else
RunScript("F411",72000);
RunScript("F421",72000);
end;
RunScript("R2",73000);
RunScript("FC2",1000);
Suicide();
end;

Отредактировано Jukov (2009-10-05 13:55:01)

0

105

Jukov написал(а):

Как выглядит сама функция - это как раз таки важно. Я уверен, что глюк - в ней. И скорее всего там нет Suicide() в конце. И ваще я бы так сделал:

я у него это спрашивал, но Рекс чето не ответил. я тоже думаю что нет строки суицида

0

106

alderus написал(а):

я у него это спрашивал, но Рекс чето не ответил. я тоже думаю что нет строки суицида

Вот же ж прицепились :mad: !!! Неужели вы думаете, что я уже настолько туп, что не проверил этого! Был там суицид  :angry: !!! Я на него сам в первую очередь смотрел. И все остальное тоже было в порядке! Жаль уже всю ф-цию переделал, так как торопился Мадрид закончить (это в нем глюк был), и выложить уже не смогу.

П.С.: Уже забейте. Я все равно все уже переделал по другому, и все давным давно работает.

0

107

Reks написал(а):

Вот же ж прицепились  !!! Неужели вы думаете, что я уже настолько туп, что не проверил этого! Был там суицид   !!! Я на него сам в первую очередь смотрел. И все остальное тоже было в порядке! Жаль уже всю ф-цию переделал, так как торопился Мадрид закончить (это в нем глюк был), и выложить уже не смогу.
            П.С.: Уже забейте. Я все равно все уже переделал по другому, и все давным давно работает.

хорошо что Жуков это спросил, я знал что если спрошу про суицид то ругань будет  :D

0

108

нужна помощь по разъяснению команды скрипта :-)

GetNUnitsInParty (iPlayer)
Конкретно, интересует, как тогда учитывать пехоту: отдельно по сквадам или по количеству пехотинцев в целом?

И еще как правильно пользоваться RandomInt :-)

Отредактировано simeo (2009-10-05 21:27:39)

0

109

Выдержка из справочника по Луа:

GetNUnitsInParty (iPlayer)
Возвращает количество имеющихся у игрока iPlayer юнитов. Пехотинцы учитываются индивидуально (один взвод = количество пехотинцев во взводе).

0

110

Reks написал(а):

Выдержка из справочника по Луа:
GetNUnitsInParty (iPlayer)
Возвращает количество имеющихся у игрока iPlayer юнитов. Пехотинцы учитываются индивидуально (один взвод = количество пехотинцев во взводе).

Так то оно так, читал, и не раз, но что-то нени так ни эдак у меня не срабатывает  :no:

0

111

simeo написал(а):

Так то оно так, читал, и не раз, но что-то нени так ни эдак у меня не срабатывает  :no:

А что сделать надо? Может другой способ подскажу...

0

112

Reks, скоро подготовлю миссию (день-три) и приглашаю к тестированию

Для этой миссии пока никак не получается прописать условия победы и поражения,потому, что стараюсь сделать миссию инициативной для игрока
Т.е определенных заданий у игрока нет, просто обрисована ситуация, а дальше его дело.
Вот и хотел условие победы вывести от количества юниттов противника
Проблема с пехотой.

0

113

simeo написал(а):

Проблема с пехотой.

если есть под рукой восточный фронт глянь там как сделано условия сдачи в плен красноармейцев.  помоему это есть в первой мисси. по аналогии победу сделаешь.

0

114

simeo написал(а):

Вот и хотел условие победы вывести от количества юниттов противника
Проблема с пехотой.

А у тебя не получается сделать так, что бы скрипт не пехотинцев, а взводы считал? Нужно именно поголовно?

0

115

simeo написал(а):

Для этой миссии пока никак не получается прописать условия победы и поражения,потому, что стараюсь сделать миссию инициативной для игрокаТ.е определенных заданий у игрока нет, просто обрисована ситуация, а дальше его дело.Вот и хотел условие победы вывести от количества юниттов противникаПроблема с пехотой.

или наоборот хочешь чтобы по взводам было, а по головно слишком мелко  :smoke:

0

116

Ruslan32
диск то есть, места, чтоб установить нету :-)
Проблема не в сдаче в плен, тут её нет, а в числе юнитов, непонятно, что этот скрипт считает и как((

Reks
Это как в прошлой моей миссии про Тобрук, ты там заметил, что задание не срабатывает, и именно из-за скрипта этого.

У меня такое чувство, что когда сквад полный, то он его принимает за единицу, а если нет, то каждого пехотинца отдельно, из-за этого и большой разброс

0

117

simeo написал(а):

У меня такое чувство, что когда сквад полный, то он его принимает за единицу, а если нет, то каждого пехотинца отдельно, из-за этого и большой разброс

фигасе, поэтому  я с пехотой никогда не связываюсь. а если и связывался то её надо было уничтожить под чистую, так что скрипт всегда срабатывал

0

118

Написал вот такой простой скрипт. Выполняется всё, кроме вызова функции SovietAttack. Не подскажете, в чём дело?

DisplayTrace("Êàðåëüñêèé ïåðåøååê. Çèìà 1939-1940 ãîäà.");
DisplayTrace("Ñîâåòñêèå âîéñêà åù¸ íå âûøëè ê îñíîâíîé îáîðîíèòåëüíîé ïîëîñå.");
DisplayTrace("Áîè ïîêà èäóò â òàê íàçûâàåìîé ïîëîñå ïðåäïîëüÿ è â ðàéîíå ïåðåäîâûõ ðóáåæåé, íî ïîòåðè óæå äîñòàòî÷íî âåëèêè...");

function Init()
Cmd(45, 201);
QCmd(14, 201);
RunScript ("Zasada", 10000);
LandReinforcement(101);
RunScript ("SovietAttack");
end;

function Zasada()
if (GetNUnitsInArea(0, "zasada1") > 2) then
    Cmd(3, 202, 8891, 2355);
    Suicide();
    end;
end;

function SovietAttack()
DisplayTrace("Íàøè âîéñêà àòàêóþò!");
ChangePlayer(301, 2);
ChangePlayer(302, 2);
Cmd(3, 301, 8289, 10673);
Cmd(3, 203, 8289, 10673);
end;

0

119

function Init()
Cmd(45, 201);
QCmd(14, 201);
RunScript ("Zasada", 10000);
LandReinforcement(101);
RunScript ("SovietAttack");
end;

тут наверное время цикла надо писать после названия функции, как в RunScript ("Zasada", 10000);
думаю из-за этого может быть

Отредактировано alderus (2009-10-10 15:51:50)

+1

120

function Init()
RunScript ("base1", 3000);
end;

function base1()
Cmd(45, 201);
QCmd(14, 201);
RunScript ("Zasada", 10000);
LandReinforcement(101);
RunScript ("SovietAttack", 3000);
end;

alderus правильно сказал, нужен параметр и попробуй начало так вот исправить

и верхние надписи втиснуть в какую-нибудь функции или создай для них отдельную

Отредактировано simeo (2009-10-10 16:03:28)

+1


Вы здесь » Союз | Union » Картостроение и скриптовка » Скрипты