Скрипты
|
Jery | Дата: Суббота, 09.03.2013, 23:03 | Сообщение # 106 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Может за тебя всю карту написать? Разберись в чем-нибудь сам. Все делается по аналогии.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
|
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:05 | Сообщение # 107 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| По какой аналогии английский язык я незнаю и скрипты как сделать это не смогу
|
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:10 | Сообщение # 108 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| С русским тоже не очень у тебя. Все нужные функции уже встречались коде, нужно просто дописать условий. Задайся вопросом какие здания должны быть уничтожены у врага, чтобы случилась победа. Как считать кол-во зданий определенного типа ты знаешь, так что действуй. В крайнем случае переводчик гугла помогает.
А вообще если не знаешь и не хочешь узнать, то не берись. А то получается ты хочешь а мы делай.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Суббота, 09.03.2013, 23:12 |
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:13 | Сообщение # 109 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| Jery, Скажи какие процедуры или функции содержат уничтожить врага или если уничтожены важные постройки вот в чем проблема а проблемы указать числа игроков и т.п нет
|
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:17 | Сообщение # 110 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Я тебе уже все написал читай внимательно и разбирайся. Функций или процедур, который по взмаху волшебной палочки полностью дублируют функционал скриптов из DAT файла, не существует. Голову включай. Как посчитать кол-во определенной постройки у игрока ты знаешь, ты это уже писал. Ответь на вопрос, что включает в себя понятие "важные постройки"?
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Суббота, 09.03.2013, 23:18 |
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:18 | Сообщение # 111 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| Цифру но какую
|
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:21 | Сообщение # 112 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Какую цифру? Откуда цифру. "Важные постройки" что это в принципе в игре значит, забудь о скриптах.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
|
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:22 | Сообщение # 113 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| Постройки без которых невозможно будет играть обычно склад
|
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:22 | Сообщение # 114 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Цитата (andreus) Как задать тип здания: 13 - школа 27 - харчевня 14 - каменоломня 9 - лесник 0 - лесопилка 8 - ферма 22 - мельница 7 - пекарня 16 - свинарник 24 - колбаске 28 - бухлодельня 3 - угольная шахта 15 - выплавка золота 19 - оружейня 25 - дубильня 20 - доспешня 12 - конячке 4 - железная шахта 1 - выплавка железа 2 - кузница 10 - доспешня 21 - казармы 11 - склад 17 - башня 6 - рыбак 29 - рынок Я даже не знаю как ты читаешь, что тебе пишут. Написано тремя страницами ранее. Все идентификаторы зданий НА РУССКОМ. Если для тебя важные постройки это только склад, то пиши циферку склада, если знаешь куда писать.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Суббота, 09.03.2013, 23:24 |
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:24 | Сообщение # 115 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| Но а указать разрушено тогда как
|
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:26 | Сообщение # 116 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| States.StatHouseTypeCount(0,5) = 3 вот этим что ты проверял?
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
|
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:29 | Сообщение # 117 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| Тоесть States.StatHouseTypeCount(0,11) = 0 Then Actions.PlayerWin(0,false);
Это будет означать если у игрока 1 разрушен скад то игрок 1 и его команда проигрывают
тогда мне нужно тип армии типы построек и ресурсов есть нужно тип армии и как он работает
Сообщение отредактировал AlexandrV - Суббота, 09.03.2013, 23:33 |
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:35 | Сообщение # 118 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Нет =) Это означает, что если у игрока с индексом 0 (у первого) нет складов(их число равно 0, здесь не важно разрушены они или вообще не строились), то он почему-то у тебя выигрывает причем один без команды.
Actions.PlayerWin(players_index, team_victory) - дает победу всем перечисленным игрокам в players_index и их союзникам, если team_victory=true. Если team_victory = false, то выигрывают только перечисленные игроки без их союзников, т.е. союзники проигрывают=)
В твоем случае нужно считать склады у противника, а победу давать себе, насколько я понял. Вот и пиши как надо.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
|
|
| | |
Alexandr_5 | Дата: Суббота, 09.03.2013, 23:38 | Сообщение # 119 |
Воитель
Группа: Проверенные
Сообщений: 1330
Награды: 4
Репутация: 33
Статус: Offline
| Ну и еще надо давать поражения тогда что использовать если не States.StatHouseTypeCount(0,11) = 0
тогда нужно функция разрушеных зданий а неколичество их
|
|
| | |
Jery | Дата: Суббота, 09.03.2013, 23:50 | Сообщение # 120 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Нужна не функция разрушения зданий, а функция поражения. Ну и запихать ее в нужное место. То есть нужно правильно выбрать событие, при котором будут выполняться проверки. Есть несколько видов событий:
OnHouseBuilt - Возникает когда игрок построил здание. Принимает: aHouseID: Integer; //HouseID здания которое было построено.
OnHouseDestroyed - Возникает когда игрок уничтожил вражеское здание, причем HouseId уничтоженного здания еще можно использовать. Принимает: aHouseID: Integer; //HouseID здания, которое было уничтожено. aDestroyerIndex: Integer; //Индекс игрока, который уничтожил. aFullyBuilt: Boolean //True если здание было достроенным.
OnHouseLost - Возникает когда игрок теряет здание (включая саморазрушение - снос), причем HouseId уничтоженного здания еще можно использовать. Принимает: aHouseID: Integer; //HouseID потерянного здания. aFullyBuilt: Boolean //True если здание было достроенным.
OnMissionStart - Возникает сразу после загрузки карты
OnPlayerDefeated- Возникает когда игрок проигрывает. Defeat conditions are checked separately by Player AI. Принимает: aIndex: Integer; //Индекс проигравшего игрока.
OnPlayerVictory - Возникает когда игрок выигрывает. Victory conditions are checked separately by Player AI. Принимает: aIndex: Integer; //Индекс выигравшего игрока.
OnTick - Возникает каждый тик игры (обновления игрового состояния)
OnUnitKilled - Возникает когда юнит убит. Called just before the unit is destroyed so UnitID is usable only during this event. Принимает: aUnitID: Integer; //UnitID убитого юнита. aKillerIndex: Integer; //Индекс убившего игрока.
OnUnitLost - Возникает когда игрок теряет юнита(включая голод). Called just before the unit is destroyed so UnitID is usable only during this event. Принимает: aUnitID: Integer; //UnitID потерянного юнита.
OnUnitTrained - Возникает после тренировки юнита. Принимает: aUnitID: Integer; //UnitID обученного юнита.
OnWarriorEquipped - Возникает после вооружения война. Принимает: aUnitID: Integer; //UnitID экипированного юита. aGroupID: Integer; //GroupID группы к которой он присоединился либо создал.
"Принимает" значит, что в скобочках после имени процедуры нужно писать эти аргументы. Например: Мы хотим чтобы "наш код" выполнялся каждый раз как какой-то юнит убит, мы в файл скрипта дописываем это: Код procedure OnUnitKilled(aUnitId : Integer; aKillerIndex : Integer); begin //ВСТАВЬТЕ ВАШ КОД СЮДА end;
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Воскресенье, 10.03.2013, 00:23 |
|
| |
|