Создание случайных карт

  Модератор: Yaguar

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 11 апр 2016, 17:46

У меня еще вопрос по истребителям противника. На некоторых картах они прилетают,но только на край карты над складом противника в центр карты вылетают ОЧЕНЬ И ОЧЕНЬ РЕДКО,а на других картах можно сколько угодно нагнать авиации истребителей не дождешься. С чем это может быть связано?И почему они не хотят вылетать в центр карты?
 

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 12 апр 2016, 00:03

Я наверно вам уже надоел со своими распросами,но всеравно спрошу.Это скрипт прилета штурмовиков который вы выкладывали мне в качестве образца:
----------------------------------------------------------------------------------------------------------------------------------------
function defense1()
if (GetNUnitsInArea(0, "most1") > 5) then
RunScript( "avia1", 2000);
Suicide();
end;
end;

function avia1()
Cmd( 36, 10000, 1, GetScriptAreaParams("zoneA"));
Suicide();
end;

если в зону "most1" попадает больше 5 юнитов игрока, то прилетают штурмовики в "zoneA" и атакуют все, что вокруг зоны находится. --------------------------------------------------------------------------------------------------------------------------------------------- Пожалуйста Объясните ОЧЕНЬ ПОДРОБНО как его вставить в уже готовый скрипт и привязать к карте сценарной миссии и битв за : ремзавод,склад гсм,радар и аэродром.Новый скрипт я пока явно не осилю,а научиться очень хочется думаю начать с того чтобы научиться вставлять свои скрипты в уже готовые скрипты миссий(Москва тоже не сразу строилась).Так же прошу объяснить что означают значения((RunScript( "avia1", 2000); ; Cmd( 36, 10000, 1,))используемые в этом скрипте.Заранее благодарен ALEX21375.
 

За это сообщение пользователю ALEX21375 "Спасибо" сказали
urban

 
Аватара пользователя
клерик Не в сети
Автор мода
Автор мода
 
Сообщений: 389
Зарегистрирован: 08 ноя 2011, 22:25
Cпасибо сказано: 179
Спасибо получено: 302 раз в 193 сообщениях

Медали: 14
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) 50-лет Карибскому Кризису-1962 (1) 3 года форуму (1) Высшая награда форума (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 120
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение клерик » 12 апр 2016, 21:01

RunScript (“Name”, iPeriodicity [, iNumberOfRepetitions])
Запускает сценарную функцию с именем Name каждые iPeriodicity миллисекунд. Необязательным параметром iNumberOfRepetitions можно указать число повторений вызовов.

RunScript( "avia1", 2000)
"avia1" - имя функции (оно может быть любым)

2000 - время через которое будет запущена функция "avia1"

Cmd( 36, 10000, 1,) - дает команду на вылет штурмовиков

36 - штурмовики
10000 - их iScriptID (ставить только это значение)
1 - противник

вот пример вставки

противник пришлет штурмовики через 1 мин с начала миссии

function avia1()
Cmd( 36, 10000, 1, GetScriptAreaParams("zoneA"));
Suicide();
end;


function Init()
if IsUserPlayerDefending() then
LandReinforcement(9);
LandReinforcement(1008);
ChangeFormation(7, 0);
RunScript("DefenceCamera", 100);
--RunScript("ToWinDefence", 5000);
RunScript("ToDefeadDefence", 5000);
RunScript( "RevealObjectiveDefence0", 3000);

RunScript( "avia1", 60000);

RunScript("EnemyAttack1", 10000);
RunScript("EnemyAttack2", 10000);
RunScript("EnemyAttack3", 10000);
RunScript("EnemyAttack4", 10000);
RunScript("EnemyAttack5", 10000);
RunScript("EnemyAttack6", 1000);
RunScript("GiveTrucksDefence", 30000);
RunScript("GiveEngineersDefence", 30000);
RunScript("GiveMedicineDefence", 30000);
RunScript("GiveFuelDefence", 30000);


else

LandReinforcement(1008);
LandReinforcement(1009);
LandReinforcement(9);
RunScript("OffenceCamera", 100);
RunScript( "RevealObjectiveOffence0", 5000);
--RunScript( "ToWinOffence", 5000);
RunScript( "ObjectiveOffence0", 5000);
RunScript( "GiveTrucksOffence", 30000);
RunScript( "GiveEngineersOffence", 30000);
RunScript( "GiveMedicineOffence", 30000);
RunScript( "GiveFuelOffence", 30000);

end;


end;
Изображение
 

За это сообщение пользователю клерик "Спасибо" сказали
ALEX21375

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 12 апр 2016, 22:09

Я так понимаю это надо вставить вконце скрипта?: function avia1()
Cmd( 36, 10000, 1, GetScriptAreaParams("zoneA"));
Suicide();
end;


function Init()
if IsUserPlayerDefending() then
LandReinforcement(9);
LandReinforcement(1008);
ChangeFormation(7, 0);
RunScript("DefenceCamera", 100);
--RunScript("ToWinDefence", 5000);
RunScript("ToDefeadDefence", 5000);
RunScript( "RevealObjectiveDefence0", 3000);

RunScript( "avia1", 60000);

RunScript("EnemyAttack1", 10000);
RunScript("EnemyAttack2", 10000);
RunScript("EnemyAttack3", 10000);
RunScript("EnemyAttack4", 10000);
RunScript("EnemyAttack5", 10000);
RunScript("EnemyAttack6", 1000);
RunScript("GiveTrucksDefence", 30000);
RunScript("GiveEngineersDefence", 30000);
RunScript("GiveMedicineDefence", 30000);
RunScript("GiveFuelDefence", 30000);


else

LandReinforcement(1008);
LandReinforcement(1009);
LandReinforcement(9);
RunScript("OffenceCamera", 100);
RunScript( "RevealObjectiveOffence0", 5000);
--RunScript( "ToWinOffence", 5000);
RunScript( "ObjectiveOffence0", 5000);
RunScript( "GiveTrucksOffence", 30000);
RunScript( "GiveEngineersOffence", 30000);
RunScript( "GiveMedicineOffence", 30000);
RunScript( "GiveFuelOffence", 30000);

end;


end;. Скажите а можно ли указывать количество самолетов при вылете. Например на аэродроме 4 штурмовика,а прилетело 2 и 2 остались в резерве.
 


За это сообщение пользователю клерик "Спасибо" сказали
ALEX21375

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 13 апр 2016, 14:06

Для эксперемента добавил скрипт который вы выложили в обиест(я так понял там один скрипт на все миссии: ремсклад,радар,аэродром,нефтебаза):игрок атакует,миссия ремсклад за СССР,хочу чтобы штурмовики просто прилетели через минуту. Посмотрите пожалуйста что я сделал не так.Штурмовики не прилетают,компьютер не дает задания в начале миссии. https://yadi.sk/d/50yZmByuqxCqC
 

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 13 апр 2016, 18:16

А в идеале хотелось бы сделать так чтобы когда компьютер нападал на вышеуказанные объекты то он посылал бы штурмовики допустим через минуту как в вашем скрипте,а когда защищал было бы хорошо чтобы штурмовики прилетали при заходе игроком в определенные зоны или 1 зону на карте как в другом вашем скрипте.Если это возможно помогите сделать такой скрипт и объясните как его привязать к картам в папке обиест.Заранее благодарен.
 

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 14 апр 2016, 00:15

Попоробовал еще раз вставить скрипт function defense1()
if (GetNUnitsInArea(0, "most1") > 5) then
RunScript( "avia1", 2000);
Suicide();
end;
end;

function avia1()
Cmd( 36, 10000, 1, GetScriptAreaParams("zoneA"));
Suicide();
end; и нарисовал зоны "most1" и "zoneA" ссылка на скрипт и карту: https://yadi.sk/d/P71NNbwBqy9yi результат тот же тоесть "0" прошу вас посмотреть что я сделал не так.
 





За это сообщение пользователю клерик "Спасибо" сказали
ALEX21375

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 16 апр 2016, 00:54

Ураа прилетели СПАСИБО ВАМ ОГРОМНОЕ!!!Скажите теперь мне достаточно на всех картах просто нарисовать "zoneA","most1","most2", и все будет работать?Я так понял что если я нарисую только "zoneA" то штурмовики прилетят через 1 минуту в эту зону в случае атаки компьютера(если я буду нападать они в этом случае не прилетят)?И достаточно нарисовать только "most2" и"zoneA" скрипт сработает(миссия не вылетит) но штурмовики прилетят только при атаке со стороны ("most2").Я ВСЕ ВЕРНО ПОНЯЛ? Скажите у вас есть какие нибудь пособия по скриптованию для начинающих(на русском)? Если есть то огромная просьба пожалуйста выложите ,а то по XML достаточно информации на форумах(там я сам разобрался) со скриптованием все сложней и непонятней.
 

 
Аватара пользователя
клерик Не в сети
Автор мода
Автор мода
 
Сообщений: 389
Зарегистрирован: 08 ноя 2011, 22:25
Cпасибо сказано: 179
Спасибо получено: 302 раз в 193 сообщениях

Медали: 14
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) 50-лет Карибскому Кризису-1962 (1) 3 года форуму (1) Высшая награда форума (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 120
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение клерик » 16 апр 2016, 16:32

нарисуй на всех картах объектов "zoneA","most1" и "most2". скрипт одинаков для всех карт.

"most1" и "most2". если в эти зоны попадают войска игрока при наступлении, то противник будет вызывать штурмовики.
на счет пособия у меня есть "справочник по языку сценариев Lua" пользуюсь им.

а так сам учился

https://yadi.sk/d/6jGIRHPEr3k99
Изображение
 

За это сообщение пользователю клерик "Спасибо" сказали
ALEX21375

 
Аватара пользователя
ALEX21375 Не в сети
Администратор
Администратор
 
Сообщений: 162
Зарегистрирован: 24 фев 2014, 21:29
Cпасибо сказано: 71
Спасибо получено: 44 раз в 34 сообщениях

Медали: 11
Орден Красной Звезды (1) Орден Красного Знамени (1) За Службу Родине в ВС I ст. (1) За Службу Родине в ВС II ст. (1) За Службу Родине в ВС III ст. (1) Орден Победы (1) Орден Дружбы Народов (1)
Орден Александра Невского (1) Красная Звезда к 9 мая (1) Карибский Кризис (1) Воин-интернационалист I ст. (1)

Очков репутации: 29
 
Добавить очки репутации Уменьшить очки репутации

Re: Создание случайных карт

Сообщение ALEX21375 » 16 апр 2016, 20:54

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

Пред.След.

 

Вернуться в Мастерская: информация


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron