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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Триггер через переменную
undroidyДата: Понедельник, 13 Июня 2011, 07:47:50 | Сообщение # 1
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
Как составить триггер, чтобы при вводе в чат, например, "-gold 04 2000" фиолетовому игроку передалось 2000 золота. Та же тема с "-zoom xxxx", где вместо xxxx значение дистанции, на которую требуется отдалить камеру. Я так понимаю, что нужно делать это через переменные, но у меня с ними туго - не понимаю, что делает string, real, integer и т.д. Перечитал всевозможные туташные статьи и все равно не врубился. Помогите нубу..

Добавлено (13-06-2011, 07:47)
---------------------------------------------
Хочу понять на наглядном примере

 

SPtrueДата: Понедельник, 13 Июня 2011, 07:54:11 | Сообщение # 2
Mí alegre
Группа: Проверенные
Сообщений: 2732
Награды: 2
Репутация: 692
Блокировки:
Нужна переменная строка (string)
Событие:
Игрок напечатал сообщение -gold как подстрока
Действие:
Установить переменную string от 7 до конца строки
Игрок-добавить золото string (конвертировать строку в ...)
 

SirNikolasДата: Понедельник, 13 Июня 2011, 10:12:26 | Сообщение # 3
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SPtrue)
Нужна переменная строка (string)
Зачем?


 

undroidyДата: Вторник, 14 Июня 2011, 16:16:56 | Сообщение # 4
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
поподробнее пожалуйста

Добавлено (14-06-2011, 16:16)
---------------------------------------------
Вот сделал что-то похожее, но в игре ничего не происходит при вводе, видимо где-то есть ошибка.. подскажите как исправить
http://i037.radikal.ru/1106/3a/37a997cbdb47.jpg

 

SunCreepДата: Вторник, 14 Июня 2011, 16:22:18 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
undroidy, во-первых название темы не отражает суть вопроса
во-вторых тык,скажи спасибо SirNikolas,
 

undroidyДата: Вторник, 14 Июня 2011, 16:56:25 | Сообщение # 6
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
Quote (SunCreep)
undroidy, во-первых название темы не отражает суть вопроса во-вторых тык,скажи спасибо SirNikolas,

Спасибо, помогло, но вот появился вопрос (может ты знаешь): для чего нужно условие?
Quote (ctpaxm)
(Substring((Entered chat string), 1,5)) равно -gold - тут мы проверяем действительно ли символы с 1 по 5 являются -gold

Ведь и без него все работает...
 

SunCreepДата: Вторник, 14 Июня 2011, 17:24:38 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
undroidy, условие,даже если и без него работает,лучше иметь,чем не иметь))Честно,не знаю.В статье оно есть,значит и в карте быть должно.
 

undroidyДата: Вторник, 14 Июня 2011, 17:45:27 | Сообщение # 8
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
Ну в целом то я понимаю зачем нужны условия =)
Просто в данном случае получается тоже самое что, например:

Событие:
Unit - A unit enters region
Условие:
(Triggering unit) equal to (Entering unit) - что является бессмысленным =\ ладно пофиг, наверно, просто косяк автора
 

SirNikolasДата: Вторник, 14 Июня 2011, 17:53:33 | Сообщение # 9
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (undroidy)
наверное, просто косяк автора
Никакой это не косяк. Это проверка, что символы "-gold" действительно находятся в начале строки. Иначе можно будет заюзать триггер, написав: "1000 -gold еще какая-нибудь фигня".


 

undroidyДата: Вторник, 14 Июня 2011, 21:06:40 | Сообщение # 10
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
Quote (SirNikolas)
Никакой это не косяк. Это проверка, что символы "-gold" действительно находятся в начале строки. Иначе можно будет заюзать триггер, написав: "1000 -gold еще какая-нибудь фигня".

Точняк, логично! Спасибо за уделенное внимание!

Добавлено (14-06-2011, 21:06)
---------------------------------------------
Еще один вопрос не дает покоя!
При вводе "-gold 1000ddgfaa" все равно дается 1000 золота, что нужно добавить в триггер, чтобы различные символы в конце строки мешали выполнению триггера, т.е. чтобы количество золота, которое я хочу передать состояло только из цифр?

 

SunCreepДата: Вторник, 14 Июня 2011, 21:09:21 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
undroidy, а зачем?Это только усложнит жизнь тебе и игрокам.Я честно говоря не знаю,но могу сказать,что проверки на число или цифра написана нету.Если только попытаться перевести текст в число,хотя я не думаю,что это поможет.
 

undroidyДата: Вторник, 14 Июня 2011, 21:52:53 | Сообщение # 12
3 уровень
Группа: Пользователи
Сообщений: 77
Награды: 0
Репутация: 2
Блокировки:
Ааа придумал :)
короче добавил 10 условий:
(substring((entered chat string), 7, (length of (entered chat string)))) equal to 0
(substring((entered chat string), 7, (length of (entered chat string)))) equal to 1
(substring((entered chat string), 7, (length of (entered chat string)))) equal to ...
(substring((entered chat string), 7, (length of (entered chat string)))) equal to 9
Т.е. ограничил допустимые символы, вводимые с 7 символа от 0 до 9, немного усложнив триггер правда, но зато сделал более красиво в игре
 

  • Страница 1 из 1
  • 1
Поиск:

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