[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 41234»
Модератор форума: Jery 
Форум » Knights and Merchants: Remake » Новые миссии и кампании » Вопросы по динамическим скриптам
Вопросы по динамическим скриптам
ВовецДата: Воскресенье, 01.03.2015, 15:53 | Сообщение # 1
PsychoBotoKiller
Группа: Администраторы
Сообщений: 4229
Награды: 25
Репутация: 358
Статус: Offline
Сюда пишите все вопросы по созданию динамических скриптов к своим картам.

Без лишней скромности: один из основателей R.A
Гильдия бойцов: 2011-2014. Помним, любим, скорбим.
 
ArcherДата: Среда, 29.04.2015, 09:53 | Сообщение # 2
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
Как сделать динамическим скриптом, что-бы ИИ мог нанимать вместо ополчения только варваров, а в место лучников только бандитов?

Сообщение отредактировал archer - Среда, 29.04.2015, 09:55
 
ВовецДата: Среда, 29.04.2015, 10:26 | Сообщение # 3
PsychoBotoKiller
Группа: Администраторы
Сообщений: 4229
Награды: 25
Репутация: 358
Статус: Offline
archer, на карте Castle defenders это замутили так: при найме ополченца, и при условии, что включена починка зданий, снималось 3 топора, выходило 3 мента, которые тут же преобразовывались в варвара =)

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


Без лишней скромности: один из основателей R.A
Гильдия бойцов: 2011-2014. Помним, любим, скорбим.
 
ArcherДата: Среда, 29.04.2015, 11:33 | Сообщение # 4
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
Вовец, ясно, спасибо.

играл в кампанию федерация Neryn,
там в пятой миссии ИИ нанимает ополчение и варваров, но мне надо только варваров.


Сообщение отредактировал archer - Среда, 29.04.2015, 11:35
 
andreusДата: Среда, 29.04.2015, 18:58 | Сообщение # 5
Sir James Vagabond
Группа: Администраторы
Сообщений: 3876
Награды: 21
Репутация: 391
Статус: Offline
вкратце - при найме ополчения убиваешь его и даешь вместо него варвара/воителя.

procedure OnWarriorEquipped(aUnitID, aGroupID: Integer);
var
  Barb: Integer;
begin
  if States.UnitType(aUnitID) = 14 then //нанят опол?
  begin
     Barb := Actions.GiveGroup(States.UnitOwner(aUnitID), (26 - 3 * Byte(States.KaMRandom < 0.5)), States.UnitPositionX(aUnitID), States.UnitPositionY(aUnitID) + 1, 4, 1, 1); //выдаем вара/воителя
     Actions.GroupHungerSet(Barb, States.UnitMaxHunger);  //кормим если надо
     Actions.GroupOrderLink(Barb, aGroupID); //присоединяем к отряду
     Actions.UnitKill(aUnitID, True); //килл опола, true/false - без/с анимацией
     Actions.GroupSetFormation(aGroupID, 1 + Round(sqrt(States.GroupMemberCount(aGroupID)))); //задаем нормальный строй
  end;
end;

(26 - 3 * Byte(States.KaMRandom < 0.5)) дает рандомно варвара или воителя. 0,5 - шансы, тут 50/50. Хочешь больше варваров - ставь соотв. шанс) Если только варвары - ставь 23 вместо (26 - 3 * Byte(States.KaMRandom < 0.5)), воители - 26.

Вроде так


 
ВовецДата: Среда, 29.04.2015, 19:02 | Сообщение # 6
PsychoBotoKiller
Группа: Администраторы
Сообщений: 4229
Награды: 25
Репутация: 358
Статус: Offline
shock

Без лишней скромности: один из основателей R.A
Гильдия бойцов: 2011-2014. Помним, любим, скорбим.
 
ArcherДата: Среда, 29.04.2015, 19:17 | Сообщение # 7
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
andreus, спасибо.
 
ArcherДата: Среда, 29.04.2015, 19:39 | Сообщение # 8
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
А где можно посмотреть все скриптовые команды и процедуры?
 
andreusДата: Среда, 29.04.2015, 19:43 | Сообщение # 9
Sir James Vagabond
Группа: Администраторы
Сообщений: 3876
Награды: 21
Репутация: 391
Статус: Offline
https://github.com/Kromster80/kam_remake/wiki/MissionScriptsDynamic
правда все на английском


 
ArcherДата: Среда, 29.04.2015, 19:47 | Сообщение # 10
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
andreus, спасибо, у меня есть переводчик.
 
ArcherДата: Пятница, 01.05.2015, 11:23 | Сообщение # 11
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
andreus, Привет! а как поставить объект (например: дерево) через скрипт в определённой точке?
 
andreusДата: Пятница, 01.05.2015, 21:12 | Сообщение # 12
Sir James Vagabond
Группа: Администраторы
Сообщений: 3876
Награды: 21
Репутация: 391
Статус: Offline
archer, привет, объекты добавляются через команду

Actions.MapTileObjectSet(X, Y, TileΤype)

работает только в ремейке 6720


 
ArcherДата: Суббота, 02.05.2015, 15:46 | Сообщение # 13
Воин
Группа: Проверенные
Сообщений: 90
Награды: 6
Репутация: 3
Статус: Offline
andreus, спасибо, он у меня есть.
 
AzeraДата: Пятница, 05.06.2015, 14:16 | Сообщение # 14
Воин
Группа: Проверенные
Сообщений: 148
Награды: 1
Репутация: 6
Статус: Offline
Здрасте, впервые решил ознакомиться со скриптами. Так вот, как сделать регулярное пополнение индикатора голода как у обычных юнитов, так и у войск?

Король Азера XII Великий, владыка Союзного Королевства Великоазерии. Да поклонитесь же Его Величеству.
 
KromДата: Пятница, 05.06.2015, 14:50 | Сообщение # 15
Воитель
Группа: Супер Модераторы
Сообщений: 2513
Награды: 25
Репутация: 153
Статус: Offline
Azera, примерно вот так, только вместо 7 - число игроков на твоей карте

Код
var
   I, K: Integer;
   Units: array of Integer;

procedure OnTick;
begin
   if (States.GameTime mod 6000 = 0) then  // each 10 minutes
   for I := 0 to 7 do
     if States.PlayerEnabled(I) then
     begin
       Units := States.PlayerGetAllUnits(I);
       for K := 0 to Length(Units) - 1 do
         Actions.UnitHungerSet(Units[K], States.UnitMaxHunger);
     end;
end;


Нашли баг в КаМ Ремейке? Отправьте отчет на contact@kamremake.com с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
Форум » Knights and Merchants: Remake » Новые миссии и кампании » Вопросы по динамическим скриптам
Страница 1 из 41234»
Поиск: