XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
abidin
Всё в кубе
offline
Опыт: 723
Активность:
Создать юнита
Как создать юнита,с помощью её переменной
Допустим я написал -unit Hpea(крестьянин)
То пусть в определённой позиции появился юнит того типа который я указал в чате
Старый 19.02.2014, 13:33
Extremator

offline
Опыт: 39,428
Активность:
ну давай рассуждать логически...
  1. Ты хочешь что бы это происходил после написания чего-то в чат
значит тебе нужно Событие - игрок пишет сообщение в чат
ставим "Игрок 1" пишет "-" (подстрока)
и так для всех игроков... (несколько событий в одном триггере)
  1. Проверка на то что именно написал игрок, берём действие Если/То/Иначе
Добавляешь условие - сравнение строк (строка равна строке)
в роли первой выбираешь подстроку "введённого в чат сообщения", от 1 до 6 символа
далее стоит "равно" и потом вводишь чему оно должно быть равно... "-unit "
3. Далее ты можешь сделать проверку на то, какой именно игрок это написал
Например номер игрока - это сравнение чисел / либо сравнение самих игроков
Если ты хочешь проверить имя игрока - сравнение строк (и там имя игрока)
и т.п.
  1. Когда все условия совпали - нужно создать юнита конкретного типа
Для этого можно сравнивать текст от 7го до последнего символа из введённого в чат сообщения
проще будет сохранить этот кусок, а потом его сравнивать с остальными...
set String = подстрока от (введённого в чат сообщения) от (7) до (конец строки от (введённое сообщение)) символа
А дальше условие
Если
String равно Hpea
То
Создать 1 Крестьянин для игрока-инициатора в точке... под углом...
Если вариантом с юнитами будет много - можно сделать БД в которой номер массивка у строки будет соответствовать типу юнита
Старый 19.02.2014, 14:38
abidin
Всё в кубе
offline
Опыт: 723
Активность:
А если для любого юнита?не только крестьянина.Чтобы он создавал юнита по той их собственной переменной,который присвоил вар каждому юниту,а не я
Старый 19.02.2014, 14:49
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
abidin:
А если для любого юнита?не только крестьянина.Чтобы он создавал юнита по той их собственной переменной,который присвоил вар каждому юниту,а не я
нужно делать базу данных
Старый 19.02.2014, 14:54
Extremator

offline
Опыт: 39,428
Активность:
Hate:
нужно делать базу данных
выглядеть это будет почти так же
» клик
set Number = 0
Цикл А от 1 до Unit_Max
Если
String = Unit_string[A]
То
set Number = A
Если
Number > 0
То
Создать 1 юнита типа "Unit_type" для игрока... в точке... под углом...
а сама БД (база данных) буде записываться где нить при старте карты ... либо при первом вызове триггера
» клик2
set Unit_string[1] = Hu01
set Unit_type[1] = Крестьянин
=====
set Unit_string[2] = Hu02
set Unit_type[2] = Пехотинец
=====
set Unit_string[3] = Hu08
set Unit_type[3] = Лучница
=====
set Unit_string[4] = Hu0A
set Unit_type[4] = Целитель
=====
set Unit_string[5] = HuCT
set Unit_type[5] = Архимаг
=====
set Unit_Max = 5
Старый 19.02.2014, 15:10
abidin
Всё в кубе
offline
Опыт: 723
Активность:
я хочу сделать приблизительно так,но не получается
call CreateUnitAtLoc(GetTriggerPlayer() , Str2RAW(SubString(GetEventPlayerChatString, 5, 10) , GetOrderPointLoc() , bj_UNIT_FACING )
Старый 19.02.2014, 15:30
Clamp
Lost in space
offline
Опыт: 71,158
Активность:
Тонко намекну, что можно обойтись без базы данных.
Старый 19.02.2014, 15:40
abidin
Всё в кубе
offline
Опыт: 723
Активность:
ну а как?
Старый 19.02.2014, 15:48
Extremator

offline
Опыт: 39,428
Активность:
Clamp:
Тонко намекну, что можно обойтись без базы данных.
abidin:
ну а как?
там где будет указываться рав-код юнита просто вставить то что написал игрок (собственно сам рав-код)
таким образом можно будет создать любого юнита...
даже здание... даже даммика с москитами...
Поэтому я бы предпочёл сделать список допустимых юнитов и выбирать из него...
Что там это БД делать, просто переменных накликать, и всё...
Старый 19.02.2014, 16:16
Clamp
Lost in space
offline
Опыт: 71,158
Активность:
Extremator:
там где будет указываться рав-код юнита просто вставить то что написал игрок (собственно сам рав-код)
Не "просто вставить", хотя мысль уловил верно.
Старый 19.02.2014, 18:01
ScorpioT1000
Работаем
offline
Опыт: отключен
какую базу, есть ряд наработок string to ascii
ScorpioT1000 добавил:
ScorpioT1000 добавил:
поражаюсь таким советчикам как Extremator, Hate - надо гнать с академии ссаным веником
Старый 19.02.2014, 18:17
Extremator

offline
Опыт: 39,428
Активность:
ScorpioT1000:
поражаюсь таким советчикам
Ага... я значит говорю мол воткни переменных вряд, и циклом по ним шлёпай... всё дела
А ты предлагаешь вариант проще - давайте построим систему мать её по конвертации рав-кода мать его...
Старый 19.02.2014, 18:51
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
Extremator, что там смотреть, от человека, который будет использовать этот алгоритм не требуется знание процесса.
хоть я и люблю БД, но в этом случае раковня
Старый 19.02.2014, 19:57
abidin
Всё в кубе
offline
Опыт: 723
Активность:
Скорпио это формула для конвертации string в равкод?
Старый 19.02.2014, 21:12
ScorpioT1000
Работаем
offline
Опыт: отключен
блин она под ретурнбаг
есть и другие, поищите
Старый 19.02.2014, 21:36
abidin
Всё в кубе
offline
Опыт: 723
Активность:
а вот нельзя ли как нибудь строку перенести в переменную под кавычками?
Старый 19.02.2014, 21:58
Extremator

offline
Опыт: 39,428
Активность:
А можно вот так сделать х)
напиши -unit footman и появится пехотинец
напиши -unit custom_H001 и нестандартный юнит с равкодом H001
Прикрепленные файлы
Тип файла: w3x A6.w3x (7.2 Кбайт, 11 просмотров )
Старый 20.02.2014, 10:17
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
abidin:
а вот нельзя ли как нибудь строку перенести в переменную под кавычками?
Это типа если у нас есть переменная UnitA, UnitB т и тд. Мы берем "Unit" +"A" и получаем переменную UnitA ?
Старый 20.02.2014, 10:29
abidin
Всё в кубе
offline
Опыт: 723
Активность:
quq_CCCP,
нет при нажатии ctrl+d выводится код каждого юнита
Изображения
Тип файла: jpg 1.jpg (115.3 Кбайт, 17 просмотров )
Старый 20.02.2014, 16:33
ScorpioT1000
Работаем
offline
Опыт: отключен
дело в том что в чате можно взять только строку
в жаззе нету функции перевода аски-строки в интежер, есть только строки с десятичным числом
то что ты видишь в кавычках - это только в редакторе так и нигде больше, в остальных местах это выглядит числом, поэтому писали систему, которая сама переводила из строки в число
ScorpioT1000 добавил:
вот я нашел норм либу xgm.ru/p/snw/70263 функция Char2Ascii
Старый 20.02.2014, 16:41
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 00:11.