Триггер через переменную
|
|
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, немного усложнив триггер правда, но зато сделал более красиво в игре
|
|
|
|