AI опять AI
|
|
lawson | Дата: Вторник, 04 Января 2011, 21:01:23 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Как сделать так чтобы бот покупал героя в таверне в начале игры (именно покупал а не давался тригерами) Добавлено (04-01-2011, 21:01) --------------------------------------------- Я создал для бота start melee ai осталось только героя дать.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Вторник, 04 Января 2011, 21:27:51 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| lawson, Code function BuyItem takes unit FromShop,integer ItemID,unit ToUnit returns boolean if IssueNeutralTargetOrder(GetOwningPlayer(ToUnit), FromShop, "smart", ToUnit) or IssueTargetOrder(FromShop, "smart", ToUnit) then return IssueNeutralImmediateOrderById(GetOwningPlayer(ToUnit), FromShop, ItemID) or IssueImmediateOrderById(FromShop, ItemID) endif return false endfunction либо Code function BuyItem takes unit u, unit shop, integer id returns boolean call IssueNeutralTargetOrder(GetOwningPlayer(u), shop, "smart", u) return IssueNeutralImmediateOrderById(GetOwningPlayer(u), shop, id) endfunction
|
|
|
|
lawson | Дата: Вторник, 04 Января 2011, 21:29:39 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| а скажи toUnit это бот которому я хочу купить или нет?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Вторник, 04 Января 2011, 21:30:40 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| lawson, да Добавлено (04-01-2011, 21:30) --------------------------------------------- lawson, но это только на предметы, я думаю можно сделать отдельную лавку для боат с предметами и при покупке предмета давать героя ^^
|
|
|
|
lawson | Дата: Вторник, 04 Января 2011, 21:42:01 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Не мне надо чтобы бот знал сколько в лавке герое осталось после того как выбрал игрок. Добавлено (04-01-2011, 21:36) --------------------------------------------- А вообще гдениьудь есть наработка покупки для бота. Добавлено (04-01-2011, 21:39) --------------------------------------------- У меня есть уже триг на покупку героя тоесть событие юнит продает воина но как сказать боту купить? Добавлено (04-01-2011, 21:42) --------------------------------------------- И еще как просчитаь кол-во занятых слотов в таверне?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 00:20:02 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| А не легче отсеевать покупку каждого героя? Потом уже пусть бот выбирает из оставшихся, но не из таверны, а ты сам его создаешь с нужным спец эффектом. В начале занеси каждого героя в одну переменную, в массив. Потом, если игрок выбрал героя обнуляй переменную с этим героем. Далее создавай для бота случайного из оставшихся героев. Добавлено (05-01-2011, 00:20) --------------------------------------------- Пример скинуть не могу, так как на основном компьютере видюха полетела =((( Пишу по памяти с ноута)
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 00:45:00 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Ты имеешь ввиду для каждого героя писать отдельный триг? а как проверить какой герой был выбран? какой функцией? Добавлено (05-01-2011, 00:42) --------------------------------------------- тоесть условие выбранный герой равен 'Nbrn' то set n = null? так Добавлено (05-01-2011, 00:43) --------------------------------------------- Только где есть такая функция выбранный герой? Добавлено (05-01-2011, 00:45) --------------------------------------------- и вакую переменную мне надо создавать целоисчислительную или боевая единица?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 00:52:14 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| breakmans1 после тебя!
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 20:17:19 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Смотри... При инициализации создаешь триггер, где в переменную добавляются герои. Событие : Инициализация Условие : - Действие : Hero[1] = (Твой 1 герой в таверне) Hero[2] = (Твой 2 герой в таверне) Hero[3] = (Твой 3 герой в таверне) [Hero - вроде бы боевая единица] Теперь нужно создать триггеры на каждого героя. Событие : (Точно не помню, вроде бы "Покупает войско") Условие : Купленное войско = (Твой 1 герой в таверне) Действие : Нужные действия и Hero[1] = Нет боевой единицы
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 20:48:00 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| А дальше я так полагаю задать боту выбрать одного из hero да? и как я это сделаю скажу randomInt(а сдесь что???)) Добавлено (05-01-2011, 20:44) --------------------------------------------- Не выйдет потому что бот должен знать кого он получит если выберет например героя 2, если я слажу всех героев то вообще чушь получиться. Например у меня есть 5 героев каждому присваиваю here(1) и так далее если героя hero(2) например покупают то set кол-во всех героев - 1 потом говорю боту взять одного из суммы всех героев и из 5 герое тоесть уже из 4 герое он будет выбирать потому что это не зависит от того какой номер у героя в переменной. если я возьму героя №3 то он будет выбирать тоже 1 из 4 герое если возьму героя №1 то он тоже будет выбирать 1 из 4 героев. Добавлено (05-01-2011, 20:48) --------------------------------------------- Ладно все это фигня кароче мне надо чтобы бот знал какого героя забрали из таверны. И ВСЕ
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 20:58:52 | Сообщение # 11 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Событие: Любое Условие : - Действие: Установить RandomHeroes = Тип героев Hero [Случайное число от [0] до [Твое кол-во героев]] Если: RandomHeroes = Нет боевой единицы То действия: Запустить триггер заново. Иначе действия: Создать RandomHeroes для Игрока Х Вроде бы как то так, но тут наверное много утечек..(
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:00:43 | Сообщение # 12 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Да ладно если утечки. Смотри у меня есть 5 героев я беру 3 как обяснить боту что он может выбирать только из оставшихся героев из 1,2 пропустить 3, из 4, 5. Как сделать чтобы он пропустил того героя которого я взял?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 21:00:46 | Сообщение # 13 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Все должно работать! Бот не выберет одного и того же героя!
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:03:05 | Сообщение # 14 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| А Random Units in Grouз ну сработает? чтобы он выбирал одного из Группы юнито а когда я беру героя он удолял этого героя из группы? Добавлено (05-01-2011, 21:03) --------------------------------------------- Бот не выберет одного и того же героя! а если 2 бота?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 21:03:12 | Сообщение # 15 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Посмотри, когда Игрок выбирает героя, переменная с этим героем обнуляется, а в триггере с выбором бота, он при случайном попадании на ту переменную которая обнулилась, начинает менять число.
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:04:22 | Сообщение # 16 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Ты на JASS не работаешь? Добавлено (05-01-2011, 21:04) --------------------------------------------- когда Игрок выбирает героя, переменная с этим героем обнуляется, а в триггере с выбором бота, он при случайном попадании на ту переменную которая обнулилась, начинает менять число. Нифига себе как это он поменяет число?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 21:04:41 | Сообщение # 17 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Quote (lawson) А Random Units in Grouз ну сработает? чтобы он выбирал одного из Группы юнито а когда я беру героя он удолял этого героя из группы? Не пробовал, мне вариант с переменными кажется легче) Хотя.... с группами тоже можно... Quote (lawson) Бот не выберет одного и того же героя! а если 2 бота? Там чуть-чуть по другому будет...
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:05:41 | Сообщение # 18 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Фуу кароче ща попробую с группами.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 21:05:57 | Сообщение # 19 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Quote (lawson) Нифига себе как это он поменяет число? Тип героев Hero [Случайное число от [0] до [Твое кол-во героев]] Quote (lawson) Ты на JASS не работаешь? Хотел бы...)
Сообщение отредактировал BUUNI - Среда, 05 Января 2011, 21:06:39 |
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:10:15 | Сообщение # 20 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Хотел бы...) Ни когда не поздно
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 21:15:56 | Сообщение # 21 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Событие: Любое Условие : - Действие: Установить RandomHeroes = Тип героев Hero [Случайное число от [0] до [Твое кол-во героев]] Если: RandomHeroes = Нет боевой единицы То действия: Запустить триггер заново. Иначе действия: Создать RandomHeroes для Игрока Х Установить Hero [Случайное число от [0] до [Твое кол-во героев]] = нет боевой единицы Делай сначала этот триггер, потом уже другие, каждый последующий делай чуть быстрее..!! Бот 2 Если: RandomHeroes = Нет боевой единицы То действия: Запустить триггер заново. Иначе действия: Создать RandomHeroes для Игрока Х Установить Hero [Случайное число от [0] до [Твое кол-во героев]] = нет боевой единицы Добавлено (05-01-2011, 21:15) ---------------------------------------------
Quote (lawson) Хотел бы...) Ни когда не поздно У меня времени мало... вот в чем проблема....
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:23:58 | Сообщение # 22 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Я сдела с группами и бот выбырает другого героя в зависимоти от того кого я взял и удаляет юнита из группы но мне приходиться обнулять группу иначе боту даеться сразу все те герои которы я не взял. Добавлено (05-01-2011, 21:19) --------------------------------------------- Теперь надо ему обяснить чтобы он взял одного только героя. вот фигня Добавлено (05-01-2011, 21:23) --------------------------------------------- Я почти сделал я так думаю но мне нужно знать как сделать так Hero [Случайное число от [0] до [Твое кол-во героев]] = нет боевой единицы на JASS.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
BUUNI | Дата: Среда, 05 Января 2011, 21:29:15 | Сообщение # 23 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| ох... жаль что я на Джассе не умею ..(
|
|
|
|
Dreii | Дата: Среда, 05 Января 2011, 21:30:32 | Сообщение # 24 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| lawson, GetRandomInt(0, 10) Добавлено (05-01-2011, 21:30) --------------------------------------------- где 0 начальное число 10 конченое
|
|
|
|
lawson | Дата: Среда, 05 Января 2011, 21:31:26 | Сообщение # 25 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Ха как елси hero это у меня боевая единица?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|