Сейчас 19:51:00 Вторник, 23 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » AI опять AI
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.
    редактирую посты! ВСЕ!
     

    Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » AI опять AI
    • Страница 1 из 2
    • 1
    • 2
    • »
    Поиск:

    Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
    Хостинг от uCoz