[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Jery, Rey  
Форум » Knights and Merchants: Remake » Идеи и предложения » Скрипты
Скрипты
Alexandr_5Дата: Пятница, 08.03.2013, 21:43 | Сообщение # 91
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
У крома попроси там всего 14 мб весит
 
JeryДата: Пятница, 08.03.2013, 21:45 | Сообщение # 92
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
Нет крома в аське сейчас. Просто попробуй три варианта, которые я предложил. Один да сработает =)

«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
 
Alexandr_5Дата: Пятница, 08.03.2013, 21:48 | Сообщение # 93
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
Что за ошибка


вот как сделал.

procedure OnTick;
begin
if ((States.StatHouseTypeCount(0,5) = 3) and (States.StatHouseTypeCount(0,4) = 3)) and ((States.StatResourceProducedCount(0,3) = 50) and (States.StatResourceProducedCount(0,4) = 50)) then Actions.PlayerWin(0,2,3,true);
end;

а другие варианты незнаю как
 
JeryДата: Пятница, 08.03.2013, 21:50 | Сообщение # 94
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
procedure OnTick;  
begin  
if (States.StatHouseTypeCount(0,5) = 3) and (States.StatHouseTypeCount(0,4) = 3) and (States.StatResourceProducedCount(0,3) = 50) and (States.StatResourceProducedCount(0,4) = 50) then Actions.PlayerWin([0],true);  
end;  

Вот так должно работать =)


«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
 
Alexandr_5Дата: Пятница, 08.03.2013, 22:00 | Сообщение # 95
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
Не работает сейчас скрин вышлю

Добавлено (08.03.2013, 22:00)
---------------------------------------------
А вот и сам скрин

 
JeryДата: Пятница, 08.03.2013, 22:17 | Сообщение # 96
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
Жди крома пусть разбирается=) На типы уже не жалуется, я пробовал по разному массив передавать, но видать ошибка уже внутри самого ремейка.
Оставь так и пиши дальше.


«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)

Сообщение отредактировал Jery - Пятница, 08.03.2013, 22:18
 
KromДата: Суббота, 09.03.2013, 11:57 | Сообщение # 97
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
Багу поправил и выслал всем новую версию.

if (States.StatHouseTypeCount(0,5) = 3) and (States.StatHouseTypeCount(0,4) = 3) and (States.StatResourceProducedCount(0,3) = 50) and (States.StatResourceProducedCount(0,4) = 50) then Actions.PlayerWin([0],true);   

теперь работает. Всем спасибо! )


Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
BornFreeДата: Суббота, 09.03.2013, 16:03 | Сообщение # 98
Ополченец
Группа: Проверенные
Сообщений: 28
Награды: 0
Репутация: 4
Статус: Offline
Наверно многие слышали про такую хитрость, когда заскриптованную разовую атаку ИИ можно прервать (отправляешь ей навстречу пару бойцов, они вступают в бой, вражеский ИИ побеждает и возвращается на исходную позицию). Более он не атакует, т.к. атака типа 1 (!SET_AI_ATTACK TYPE 1).
Во второй миссии кампании ВиМ у ИИ прописаны 4 атаки, прописаны по времени. Каждая последующая фактически мощнее предыдущей, так что вариант "присвоить первой атаке тип 0", т.е. повторяющуюся, не канает, потому как армию на 2, 3 и 4 атаки ИИ не соберет никогда (зацикленная первая будет постоянно забирать воинов).
Можно с этим что-то сделать?
 
Alexandr_5Дата: Суббота, 09.03.2013, 17:30 | Сообщение # 99
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
Ошибок не выдает но скрипт сам по себе не работает после того как уничтожен игрок 2 ИИ то победа хотя этих ресурсов не набрано

procedure OnTick;
begin
if (States.StatHouseTypeCount(0,5) = 3) and (States.StatHouseTypeCount(0,4) = 3) and (States.StatResourceProducedCount(0,3) = 50) and (States.StatResourceProducedCount(0,4) = 50) then Actions.PlayerWin([0],true);
end;

Видно что скрипты условие победы которые включены в Кам эдит 09 делают это Actions.PlayerWin([0],true); раньше чем тут и это приводит к тому чтобы условие победы надо задать в файле SKR06.script

Помогите мне перевести скрипты вот эти

Цели

ADD_GOAL 4 1 0 1

Условия поражения

ADD_LOST_GOAL 3 0 0 0
ADD_LOST_GOAL 3 0 0 3
 
KromДата: Суббота, 09.03.2013, 20:35 | Сообщение # 100
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
AlexandrV, скрипты не заменяют друг друга, а дополняют.

Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
Alexandr_5Дата: Суббота, 09.03.2013, 20:38 | Сообщение # 101
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
Krom, Тогда почему миссия завершается раньше чем необходимое число ресурсов будет набрано или построенно определенное количество зданий вот скрипт который должен это выполнять

procedure OnTick; 
begin 
if (States.StatHouseTypeCount(0,5) = 3) and (States.StatHouseTypeCount(0,4) = 3) and (States.StatResourceProducedCount(0,3) = 50) and (States.StatResourceProducedCount(0,4) = 50) then Actions.PlayerWin([0],true); 
end;
 
KromДата: Суббота, 09.03.2013, 20:48 | Сообщение # 102
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
AlexandrV, скрипты не заменяют друг друга, а дополняют. Если в DAT прописано что победа происходит при поражении 2 игрока. Какое условие первое сработает, тогда и будет победа

Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
Alexandr_5Дата: Суббота, 09.03.2013, 20:49 | Сообщение # 103
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
А надо чтобы пока все условия не сработают победы небыло
 
KromДата: Суббота, 09.03.2013, 20:56 | Сообщение # 104
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
AlexandrV, в таком случае удаляй победу из DAT скрипта.

Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
 
Alexandr_5Дата: Суббота, 09.03.2013, 20:57 | Сообщение # 105
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
Но как их в обычном прописать я обычные скрипты незнаю можешь перевести вот эти скрипты 

Цели 

ADD_GOAL 4 1 0 1 

Условия поражения 

ADD_LOST_GOAL 3 0 0 0 
ADD_LOST_GOAL 3 0 0 3
 
Форум » Knights and Merchants: Remake » Идеи и предложения » Скрипты
Поиск: