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

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

Закрытая тема
 
KPOKODIL
В разработке
offline
Опыт: 10,262
Активность:
Substring
Обьясните плз что есть что:
Substring(String,1,5)
  1. Что обозначают цифры?
  2. Как мне из сообщения -ally blue вытщить слово blue и связать его с синим игроком?
Промазал
Старый 07.08.2010, 14:57
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
прямо в гуи есть точный пример как именно используются цифры (пример серыми буквами)
если не ошибаюсь (тупо не помню) то это координаты начальной буквы и конечной.
т.е. рассмотрим "трололо". сабстринг 1...5 будет "троло"
сабстринг 2...5 "роло".
но лучше ловить цифру, тогда связать с игроком будет легче лёгкого (заранее цифру пишем в мультиборд, чтобы вопросов не возникало)
Старый 07.08.2010, 15:01
Chester
Best for you!
offline
Опыт: 5,702
Активность:
Числа указывают откуда и покуда вырезать текст с поданой строки. Не исп русс буквы.
Старый 07.08.2010, 15:13
mitryz

offline
Опыт: 1,225
Активность:
Первый символ имеет номер 0
    События
        Игрок - Игрок 1 (красный) types a chat message containing -ally as Подстрока
    Условия
        (Substring((Entered chat string), 0, 4)) равно -ally
    Действия
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            Если - Условия
                (Substring((Entered chat string), 6, (Length of (Entered chat string)))) равно blue
            То - Действия
                -------- Действия с синим игроком --------
            Иначе - Действия

Отредактировано mitryz, 07.08.2010 в 15:32.
Старый 07.08.2010, 15:20
KPOKODIL
В разработке
offline
Опыт: 10,262
Активность:
mitryz, имхо проще сделать без субрстринга если неьзя привязать "blue" к цвету игрока не использую if/then/else.
Старый 07.08.2010, 15:23
Roman
Я всё правильно сделал?
offline
Опыт: 17,642
Активность:
KPOKODIL, нескажи, после все дальнейшие действия легко связать с этой цыфрой, например: кик игрока (под номером(подстрока от 6-8 например)) итак все дальнейшие действия, поэтому цыфрой удобнее.
Старый 07.08.2010, 15:34
mitryz

offline
Опыт: 1,225
Активность:
действительно...
События
    Игрок - Игрок 1 (красный) types a chat message containing -ally blue as Точное совпадение
Если нужнен номер - лучше написать функцию:
function Col2Num takes string color returns integer
    if color == "red" then
        return 1
    elseif color == "blue" then
        return 2
    // и так далее
endfunction
Старый 07.08.2010, 15:35
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
как вы можете не понимать простых вещей. народу никогда не удобно писать цвета, особенно чужого языка. делай через номер игрока, номер в подсказку/мультиборд слева.
Старый 07.08.2010, 15:41
mitryz

offline
Опыт: 1,225
Активность:
Скайнет:
т.е. рассмотрим "трололо". сабстринг 1...5 будет "троло"
сабстринг 2...5 "роло".
первый символ имеет номер 0 - поэтому не троло, а ролол и не роло, а олол.
mitryz добавил:
Номер действительно удобнее, но почему-то никто так не делает (по крайней мере я ни разу не играл в карту, где игроков обозначают номерами).
Старый 07.08.2010, 15:45
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
т.е. ты мне хочешь рассказать про существование substringBJ(верно моё)j и substring(верно твоё)? суть та же, но неизвестно какой именно юзает автор (в гуйе верно 1)
mitryz, очень согласен, писать в чат "-али сине-зелёный игрок" очень удобно, ну и слушать бесконечные вопросы, а как фиолетовый по английски и т.п.
Скайнет добавил:
Старый 07.08.2010, 15:58
Roman
Я всё правильно сделал?
offline
Опыт: 17,642
Активность:
Скайнет, была подобная ситуация, долго думали как тёмно-сине-зелёный(11)
KPOKODIL, правда лучше делай по нумерации игроков, так и печатать быстрее, и вопросов будет меньше.
В случае
Цитата:
Сообщение от Скайнет
substringBJ(верно моё)j и substring(верно твоё)? суть та же
легче через несколько триггеров с чуть разными событиями.
Старый 07.08.2010, 16:05
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
цифра позволит всё следать в 1 триггер (без ретурнов на 12 условий), полученный номер вставляем в функции, где Player(n) вуаля
Старый 07.08.2010, 16:49
_Red

offline
Опыт: 4,095
Активность:
SubString("privet",3,5)
Выдаст "ive", Однако
SubString("Привет",3,5)
Выдаст только "ри" т.к. русские символы считаются за 2
Старый 07.08.2010, 16:54
KPOKODIL
В разработке
offline
Опыт: 10,262
Активность:
Скайнет, Roman, а кто вам сказал что не будут задавать вопросы по поводу какой игрок какого номера?
Старый 07.08.2010, 18:07
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
да что ж это такое сегодня, я видимо пишу на иностранном языке. в любой хорошей карте есть мультиборд.
#игрока. ник игрока, далее очки по желанию (убийства и т.п.).
^искомый номер, который можно будет цеплять к чему угодно.
Старый 07.08.2010, 18:50
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
он имеет в виду
player number
Старый 07.08.2010, 18:56
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:


типо этого, в жассе номер вычитаетм от полученного значения "n-1" т.е. красный для игроков первый, а для жасса он нулевой.
Старый 07.08.2010, 19:02
silumin

offline
Опыт: 11,153
Активность:
Цитата:
Сообщение от _Red
SubString("privet",3,5)Выдаст "ive"

Выдаст "ve". Хз как вы считаете.

silumin добавил:
Цитата:
Сообщение от _Red
Однако
SubString("Привет",3,5)Выдаст только "ри" т.к. русские символы считаются за 2

Не выдасть вообще ничего!!!

silumin добавил:
SubString("Привет",2,4) Выдаст "р".
SubString("Привет",4,6) Выдаст "и".


Неплохо бы проверять, прежде чем дезинформировать людей.
Старый 08.08.2010, 00:57
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
silumin, омг!

в гуи сабстринг выглядит внешне точно так же как в жасс (т.е. в окошечке гуйя сабстринг), перевод код (=получаем бж) - координата буквы отсчитывается на "-1". именно этим substringBJ отличается от substring.

это 2 связанные функции, где используются похожие, но чуть разнящиеся системы координат (узко, но суть такая). этим объясняется то, почему у вас получается всё разное.

и вообще, почему молчит автор? мне кажется должно быть уже всё давно ясно =)
Старый 08.08.2010, 01:21
silumin

offline
Опыт: 11,153
Активность:
Скайнет, я прекрасно представляю что внутри бж, не одну собаку съел пока писал агтм.
Если мы обсуждаем результат именно SubString, то Red написал ерунду!

п.с. и да... никто не мешает проверить!
Старый 08.08.2010, 01:30
Закрытая тема

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

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

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

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



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