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

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

Ответ
 
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
Подстрока и словарь
  • при инициализации карты создаю словарь записанный через переменную-массив типа "Строка" (переменная Text[1]="-give")
Далее:
-------------------------------------------Событие--------------------------------------------------​--------------
  • "Player entered chat string" - "пустая строка" - "подстрока"
-------------------------------------------Условие--------------------------------------------------​-------------
  • Entered chat string = Text[1]
-------------------------------------------Действие-------------------------------------------------​--------------
  • некоторое действие
Проблема заключается в том, что несмотря на указанную подстроку в событии триггер срабатывает только при точном совпадении с строкой переменной
Целью является реакция на событие с любой подстрокой после вводимой строки переменной: "-give 999", т.е должно срабатывать независимо от того, что написано после "-give"
P.S. Пользуюсь гуями...
Прикрепленные файлы
Тип файла: w3x String.w3x (16.7 Кбайт, 9 просмотров )
Старый 25.06.2014, 14:08
Tobi123

offline
Опыт: 7,826
Активность:
Не Entered Chat String, а SubString(Entered chat string, 0,5)=="-give"
На гуях вроде SubString(Entered chat string, 1,6)
Старый 25.06.2014, 14:50
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
Tobi123:
Не Entered Chat String, а SubString(Entered chat string, 0,5)=="-give"
На гуях вроде SubString(Entered chat string, 1,6)
Если сделать (Entered chat string, 1,6) то будет улавливать только для слов с определенным количеством символов, а мне необходимо, чтоб для всех слов в словаре с любом числом символов.
К примеру команды в словаре -holymoon/-go/-call + необходимо игнорировать последующие символы после этих команд
В моем примере, если я напишу "-переменная" - триггер сработает, а если "-переменная xxx" - нет. Необходим универсальный код обрабатывающий оба варианта.

Отредактировано Astra, 25.06.2014 в 16:01.
Старый 25.06.2014, 15:54
ScorpioT1000
Работаем
online
Опыт: отключен
в событии есть флаг "подстрока"
Старый 25.06.2014, 17:14
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
ScorpioT1000:
в событии есть флаг "подстрока"
пожалуйста обратите внимание на 1-й пост
Старый 25.06.2014, 17:53
ScorpioT1000
Работаем
online
Опыт: отключен
условие не =, а boolean - string.indexOf
умеешь пользоваться классами cjass?
вот тут indexOf ищет по сути, есть ли в строке заданная строка
если не умеешь надо искать поиск по строке
ScorpioT1000 добавил:
вот еще какаято либа xgm.guru/p/wc3/gstring
ScorpioT1000 добавил:
и вот еще
Старый 25.06.2014, 18:04
nvc123
new status
offline
Опыт: 59,284
Активность:
ScorpioT1000, ты смеёшься?
этот нуб написал в условии строгую проверку
а теперь плачет что она строгая
он не то что сиджасс
он готовую систему с настройкой через гуи не потянет
[+] 1 пункт от Кет: 2.1 (оскорбление)
Старый 25.06.2014, 18:25
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
nvc123
я прекрасно понимаю, что я указал в условии и что это не является правильным. Суть в том, чтобы разобраться как сделать правильно.
Вопрос в другом - какую вообще смысловую нагрузку несет твой пост? для того чтобы понять остальным, что я самостоятельно не разберусь в сJass/vJass и т.д. необязательно изрыгивать беспонтовые фразы...
ScorpioT1000,
спс, буду пытаться ковырять эту наработку xgm.guru/p/wc3/chat-commands
Старый 25.06.2014, 20:30
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
интересно как, сам понимает что не является правильным, а поставить на каждый вариант не может, и смех и грех
"я вот сделал что бы дверь открывалась на себя, но мне нужно в обе стороны, как это сделать?"
Старый 26.06.2014, 03:56
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
Проверяет 5 символов введенного текста с значением переменной, затем 4 и т.д. Способ хоть и раковый, но желаемый эффект достигнут (поскольку в основном словарь содержит не более 5-6 символов/слово) - тем самым сразу будет проверять слова от 3 до 5 символов с значениями словаря.
Возможно картоделам моего уровня будет полезно, сделал следующим образом:
П.С.
Hate я вот сделал что бы дверь открывалась на себя, но мне нужно в обе стороны, как это сделать?
Я мог просто задать вопрос, но решил наглядно показать с чего пытался сделать наработку. Некоторые из вас сами себе противоречат, требуя "покажи сначала то что смог сделать, ведь никто не будет делать это за вас".
Миниатюры
Кликните на картинку для увеличения
Название:  стринги.JPG
Просмотров: 30
Размер:  64.4 Кбайт  

Отредактировано Astra, 26.06.2014 в 10:22.
Старый 26.06.2014, 10:09
DemonoiD
Демончото-то
offline
Опыт: 15,978
Активность:
Высокомерие у части населения зашкаливает. Давайте без выпендрежа. Половину из вас я помню с такими же вопросами.
Старый 26.06.2014, 15:48
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
нельзя просто в условии влепить проверку на строку по сабстрингу? зачем лезть на стену когда рядом дверь?
Старый 26.06.2014, 17:49
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
Hate:
нельзя просто в условии влепить проверку на строку по сабстрингу? зачем лезть на стену когда рядом дверь?
разная длина слов же...
Если поставишь Substring(1,3) - как будешь проверять 4 символа? В свою очередь Substring(1,4) не выявляет 3 символа, во всяком случае у меня так не получилось. Предполагаю из-за того, что подстрока в события при таких раскладах просто игнорируется.
Старый 26.06.2014, 18:02
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
я сделал видимо что то анреальное
Старый 26.06.2014, 19:32
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
Hate
обоже...я так и предполагал...
миллион наставлений, но прочитать первый пост так и не сложилось? прошу, просто прочти каждую его строчку
Старый 26.06.2014, 19:42
nvc123
new status
offline
Опыт: 59,284
Активность:
боже
берёшь строку
ищешь пробел
потом берёшь его номер
и сабстрингом все что после - но до пробела
это и будет твоя команда
Старый 26.06.2014, 19:52
Astra
-=G-U-I=-
offline
Опыт: 5,086
Активность:
специально для [не] аутистов:
  • "Player entered chat string" - "пустая строка" - "подстрока"
----------------------------------------------------------------------------------------------------​-------------------------------------
В словаре не менее сотни слов, какой здравомыслящий человек будет писать вот это и еще для каждого игрока:
Миниатюры
Кликните на картинку для увеличения
Название:  Снимок.JPG
Просмотров: 28
Размер:  19.0 Кбайт  

Отредактировано Astra, 26.06.2014 в 20:24.
Старый 26.06.2014, 20:11
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
там не пустая строка....
вообще я что то не пойму, вы на каждое слово событие делаете?...

Отредактировано Hate, 26.06.2014 в 20:51.
Старый 26.06.2014, 20:24
Ответ

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

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

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

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



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