|
|
|
|
Конвертация букв в строчные или прописные
|
|
Наклз | Дата: Вторник, 28 Октября 2014, 16:56:11 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Ещё раз, добрый день. И снова нуждаюсь в помощи. Для одного триггера мне надо что бы все буквы в любом слове, которое задаст игрок, становились строчными(маленькими). Однако я ни как не мог заставить это работать... Для демонстрации проблемы я создал такой триггер Событие: Игрок ввёл в чат сообщение Условие: Действие: set udg_LastPlayerMessage[GetConvertedPlayerId(GetTriggerPlayer())] = StringCase(GetEventPlayerChatString(), false) call DisplayTextToForce( GetPlayersAll(), udg_LastPlayerMessage[GetConvertedPlayerId(GetTriggerPlayer())] )
в итоге если я введу -ОчИсТкА оно мне выведет на экран -ОчИсТкА хотя должно было вывести -очистка
В чём моя проблема?
|
|
|
|
sumert | Дата: Вторник, 28 Октября 2014, 17:38:41 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
| Цитата Наклз ( ) В чём моя проблема? Оно не работает на русские буквы. Только english, только хардкор.
|
|
|
|
Наклз | Дата: Вторник, 28 Октября 2014, 18:08:09 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Так что же мне делать?
|
|
|
|
Melodia | Дата: Вторник, 28 Октября 2014, 18:29:35 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Очевидно же - транслитерируй сообщение. переводи в строчные и транслитерируй обратно. Добавлено (28 Октября 2014, 18:29:35) --------------------------------------------- Есть решение проще - поставь на чат шрифт, заглавные буквы которого такие же, как строчные.
|
|
|
|
[SeKtOR] | Дата: Вторник, 28 Октября 2014, 19:12:13 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Цитата Melodia ( ) Очевидно же - транслитерируй сообщение. переводи в строчные и транслитерируй обратно. Тогда уж проще на мой взгляд писать свою функцию "заглавные->строчные" русских букв чем транслитации...
|
|
|
|
Melodia | Дата: Вторник, 28 Октября 2014, 20:17:08 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Действительно Но можно просто поменять шрифт чата
|
|
|
|
Наклз | Дата: Вторник, 28 Октября 2014, 20:38:42 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Шрифт чата не вариант... например для условий, шрифт что-то изменит?
Ну видимо придётся Цитата [SeKtOR] ( ) Тогда уж проще на мой взгляд писать свою функцию "заглавные->строчные" русских букв Ну мне в принципе приходила такая мысль, но она столь ужасна, что я её вычеркнул...
Что ж, раз больше вариантов нет... спасибо за помощь.
|
|
|
|
Melodia | Дата: Вторник, 28 Октября 2014, 20:53:25 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Наклз ( ) например для условий, шрифт что-то изменит? не понял вопроса, но отвечу на тот, что мог возникнуть - шрифт можно поменять чисто для чата, а для остальных писанин в игре оставить прежний. Статья в соседнем разделе.
|
|
|
|
Наклз | Дата: Вторник, 28 Октября 2014, 22:19:15 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Я понял. Но вот смотри: Я меняю шрифт как ты и сказал, теперь в чате строчные и прописные буквы одинаковые. Далее игрок вводит в чат ПрЮвЕт В одном из триггеров есть проверка на "(введённое сообщение) == прювет", ты хочешь сказать что после замена шрифта условие вернётся как "тру" ? Вот по этому замена шрифта не годиться.
Перегон прописных в строчные я уже сделал, теперь остался вопрос - как узнать есть ли в слове текст который я укажу, но не обязательно вся строка должна быть этим текстом. Ну вот смотрите: игрок вводит в чат "ПаБлИк", после работы моего триггера получается "паблик", как мне узнать есть ли в этой "строке" частичка "паб". Сравнение через сабстринг не выйдет, ибо может быть и "чтожезапабликужасный", и проверка всё равно должна сработать... как такое можно сделать?
Я знаю что через событие такое можно сделать, то есть событие "Игрок 1 ввёл в чат сообщение "текст" подстрока", тогда сработает даже если игрок напишет "сраныйтекст", можно ли такое сделать не через это событие?
Кстати, хочу предупредить что все написанные мною в этом примере "строки" являются лишь примером, я не сошёл с ума...
Сообщение отредактировал Наклз - Вторник, 28 Октября 2014, 22:20:08 |
|
|
|
Melodia | Дата: Среда, 29 Октября 2014, 08:25:10 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Наклз ( ) ты хочешь сказать что после замена шрифта условие вернётся как "тру" ? ээээээээээээээммммммм. А с чего бы нет? Лол. Шрифт - чисто визуальная фигня, она не повлияет на твои кондишны.Цитата Наклз ( ) как такое можно сделать? опять чета намудрил с вопросом. Через сабстринг всё делается перкрасно, с 1 условие, что русская буква - это 2 символа. Значит сабстринг(стринг, 5, 11) = паб
|
|
|
|
Extremator | Дата: Среда, 29 Октября 2014, 09:11:37 | Сообщение # 11 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| if StringCase(GetEventPlayerChatString(), false) == "-ms" then
пиши хоть -MS или -Ms -mS - условие всё равно пройдёт
|
|
|
|
Melodia | Дата: Среда, 29 Октября 2014, 09:28:14 | Сообщение # 12 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| ^
|
|
|
|
Наклз | Дата: Среда, 29 Октября 2014, 10:09:38 | Сообщение # 13 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Боже, или я схожу с ума, или вы реально издеваетесь надо мною, а ?Цитата Melodia ( ) ээээээээээээээммммммм. А с чего бы нет? Лол. Шрифт - чисто визуальная фигня, она не повлияет на твои кондишны. Вот ИМЕННО! об этом я и говорю, по этому метод со шрифтом и НЕ ПОДХОДИТ, я пишу это всю дорогу. Цитата Melodia ( ) сабстринг(стринг, 5, 11) = паб А что если введут "пабэтомойрай" проверка через сабстринг сработает? слово может быть любое, главное что бы в нём была частичка которую я ищу, в данном случае "паб", я же всё доходчиво объяснил... Цитата Extremator ( ) пиши хоть -MS или -Ms -mS - условие всё равно пройдёт Окей, а если я напишу -МаНа то пройдет? Нет. Забей на это, этот вопрос я уже решил сделав триггер который перегонит русские буквы, я же уже написал выше...
Теперь другой вопрос мучает. Все знакомы с работой события "Игрок Х написал в чат "текст" подстрока \ точное совпадение" ? Так вот, мне нужно сравнить две строки по принципу "подстрока", то есть я сравниваю свою переменную со строкой "паб", и результат условия должен вернуться тру даже если слово будет "пабгавно" или "суперпаб", не важно в каком слове и в каком месте слова стоит частичка "паб", условие всё равно должно вернуться тру если частичка "паб" есть где-то в текстовой переменной которую я указал. Я знаю что событие "Игрок Х написал в чат "текст" подстрока" делают такую проверку, но как её сделать в ручную?Добавлено (29 Октября 2014, 10:09:38) --------------------------------------------- Хотя знаете, забейте, забудьте... Конвертация для "команд" уже есть, а получить корень из слова... ну и ладно. Я вообще пытался сделать "авто-мут" систему в карте, за маты, типо если в слове будет частичка "бля" то всё слово является матом. Но я тут подумал, ведь можно писать маты на украинском и на английском, поддержку всех языков я всё равно не сделаю, а чисто на русский.... смысла нет.
|
|
|
|
VladSekret | Дата: Среда, 29 Октября 2014, 10:15:41 | Сообщение # 14 |
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
| Цитата Наклз ( ) set udg_LastPlayerMessage[GetConvertedPlayerId(GetTriggerPlayer())] = StringCase(GetEventPlayerChatString(), false) call DisplayTextToForce( GetPlayersAll(), udg_LastPlayerMessage[GetConvertedPlayerId(GetTriggerPlayer())] ) ого я и не знал что на джассе есть команда, то что напишит игрок, так можно и мут игроку выдать)) Оффтоп Добавлено (29 Октября 2014, 10:15:41) --------------------------------------------- А вообще если серьезно, то вот тебе совет, тормоши сектора в личку, он тебе сделает такое.
|
|
|
|
Extremator | Дата: Среда, 29 Октября 2014, 10:23:09 | Сообщение # 15 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Так пойдёт?
|
|
|
|
Melodia | Дата: Среда, 29 Октября 2014, 10:31:12 | Сообщение # 16 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Наклз ( ) я же всё доходчиво объяснил... да нет, ни фига не доходчиво. Ты хочешь ловить сабстринг "паб", при этом какие то слова с этим сабстрингом тебя устраивают а какие то нет, какие тебя устраивают - определяешь ты и в частном порядке, без какого-то принципа. Объясни мне принцип или что ты хочешь сделать. Так и не понял чем тебя не устраивает шрифт. Цитата Наклз ( ) Вот ИМЕННО! об этом я и говорю, по этому метод со шрифтом и НЕ ПОДХОДИТ, я пишу это всю дорогу То есть тебе надо, чтобы шрифт МЕНЯЛ восприятие кондишнов что ли????7 А если бы я про шрифт не написал, что бы по твоему хотело менять кондишны???????Добавлено (29 Октября 2014, 10:31:12) ---------------------------------------------
Цитата Наклз ( ) Я вообще пытался сделать "авто-мут" систему в карте, за маты, типо если в слове будет частичка "бля" то всё слово является матом. Но я тут подумал, ведь можно писать маты на украинском и на английском, поддержку всех языков я всё равно не сделаю, а чисто на русский.... смысла нет. Ааа, ну так бы и сказал блин)) Я делал такую фигню года 3-4 назад в снайпер арене. Выставлял String[1]=мат и так штук 40 слов. и двойным циклом добавлял в триггер события игроков с этими стрингами. Работало исправно, правда иногда всё же кикало за левые слова, но это уже издержки и недогляделки. Правда с писаниной забориком я не заморачивался - как и те, которые тупо заходят в игру поматериться.
|
|
|
|
Наклз | Дата: Среда, 29 Октября 2014, 10:33:14 | Сообщение # 17 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Блин, ты что пить начал? Об этом я и говорю, мне нужно это для условий, ты мне предложил сменить шрифт, я тебе объяснял почему смена шрифта здесь не поможет, а ты понимаешь меня каждый раз на оборот...
|
|
|
|
Melodia | Дата: Среда, 29 Октября 2014, 10:35:14 | Сообщение # 18 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Сделай муты в карте - чтобы за строчные/прописные маты, а также вручную, хостом, имя нарушителя становилось "многомногоцветов" тогда его сообщения не будут видны другим играющим, а отнять у крикунов внимание - самое большое наказание. Добавлено (29 Октябрь 2014, 10:34:40) ---------------------------------------------
Цитата Наклз ( ) Блин, ты что пить начал? :DДобавлено (29 Октября 2014, 10:35:14) --------------------------------------------- хиъНаклзх.иъб я тя уже понял вторую часть сообщения 16 смотри) простоя потом дочитал
|
|
|
|
VladSekret | Дата: Среда, 29 Октября 2014, 10:44:13 | Сообщение # 19 |
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
| Цитата Melodia ( ) Блин, ты что пить начал? Да естественно он начал пить! Он же анимешник, все анимешники сутками напролёт бухают.
|
|
|
|
Наклз | Дата: Среда, 29 Октября 2014, 10:44:54 | Сообщение # 20 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Цитата Extremator ( ) Так пойдёт? Да, это то что нужно, спасибо, просто идеально работает.
А теперь вернёмся к мелодии, надеюсь этого примера(JPNG with UMSWE) ты меня поймёшь. Попробуй в чат написать слова "паботстой", "суперпаб", "ужаспабкласс", да что угодно напиши, лишь бы там был кусочек "паб", в любом месте, и триггер сработает. Мне надо такую же проверку сделать, не через событие, а через действия или условия.
Сообщение отредактировал Наклз - Среда, 29 Октября 2014, 10:48:53 |
|
|
|
Melodia | Дата: Среда, 29 Октября 2014, 10:47:28 | Сообщение # 21 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Наклз, да понял я тебя , УЗБАГОЙСЯ Добавлено (29 Октября 2014, 10:47:28) --------------------------------------------- Изначально я ваще думал, что тебе нужно запретить капс в карте, понимаешь?
|
|
|
|
Наклз | Дата: Среда, 29 Октября 2014, 10:52:24 | Сообщение # 22 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Цитата Melodia ( ) я тя уже понял слава богу) сообщение с "примером" я написал до того как увидел твоё о том что ты меня понял)
Нет, сами муты я уже знаю как выдавать, мне просто нужно "выцепить" мат, то есть наши люди очень изворотливы и могут придумывать разные маты, ну например мат "бля", мне нужно что бы система сработала даже если он напишет "охтыжбля" или в любой другой вариации...
Добавлено (29 Октября 2014, 10:52:24) --------------------------------------------- Цитата Melodia ( ) Ааа, ну так бы и сказал блин)) Я делал такую фигню года 3-4 назад в снайпер арене. Выставлял String[1]=мат и так штук 40 слов. и двойным циклом добавлял в триггер события игроков с этими стрингами. Работало исправно, правда иногда всё же кикало за левые слова, но это уже издержки и недогляделки. Правда с писаниной забориком я не заморачивался - как и те, которые тупо заходят в игру поматериться.
В том то и дело, мне нужно что бы можно было провести проверку строки после того как её обработала система Extremator’а, а не через событие, это реально? Кстати, Extremator, спасибо) плюсик через 2 дня смогу кинуть.
Сообщение отредактировал Наклз - Среда, 29 Октября 2014, 10:53:16 |
|
|
|
Melodia | Дата: Среда, 29 Октября 2014, 11:01:32 | Сообщение # 23 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Только непонятно, зачем в этом триггере было заводить отдельные глобалки для счётчиков. Так как игроки не смогут чатить в синематик-режиме, то integerA и integerB глючить не будут.
|
|
|
|
Наклз | Дата: Среда, 29 Октября 2014, 11:07:47 | Сообщение # 24 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Что?
Extremator, ввёл -модератор2 игра закрашилась
Сообщение отредактировал Наклз - Среда, 29 Октября 2014, 11:10:26 |
|
|
|
Extremator | Дата: Среда, 29 Октября 2014, 11:34:18 | Сообщение # 25 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Цитата Наклз ( ) ввёл -модератор2 игра закрашилась Странно...
|
|
|
|
|
|
|
|
|
|
|