VladAbushaev Posted September 2, 2013 Share Posted September 2, 2013 Помогите, пожалуйста, уважаемые разработчики аддонов! Нужен ваш талант. Природная вежливость заставляет меня здороваться не только в голосовом, но и в игровом чате с входящими в игру согильдийцами и друзьями. Процесс этот хоть и радостный, но отнимает достаточно много времени. В связи с этим родилась идея аддона. Дадим ему рабочее название "Вежливость". ЗАДАЧА: Анализировать поступающие в чат сообщения и в зависимости от событий выводить автоматически в тот или иной чат те или иные сообщения. ВИДЫ СОБЫТИЙ: 1. Вход в игру согильдийца а) первый зафиксированный вами за день; б) последующие. 2. Вход друга в игру а) первый зафиксированный вами за день; б) последующие. 3. Повышение уровня другом. 4. Получение другом или согильдийцем вещи (из сообщения в мир-чат: крафт, из ГД/МГ/ПТ и т.д., с Астрала, из ларцов и проч. если что-то упустил). 5. Получение Гильдией очередного уровня. 6. Пункт необязательный, да и не из чата, но при смене локации выводить в зональный (бесплатный чат) рекламу Гильдии. 7. Если получится, то анализировать списки участников на Ведьмином Яре, Диком Хуторе, в Катакомбах, на Арене и при наличии в них друзей и/или согильдийцев отправлять им сообщения НАСТРАИВАЕМЫЕ СООБЩЕНИЯ: - стандартное приветствие игроку (первое за день); - стандартное приветствие игроку (последующие); - стандартное поздравление с повышением уровня игрока; - поздравление со шмоткой. - поздравление с повышением уровня Гильдии; - реклама Гильдии (текст + вкл/выкл) - приветствия на БГ ПЕРСОНАЛЬНЫЕ СООБЩЕНИЯ (не путать с приватными): Для друзей и согильдийцев предусмотреть возможность настраивать персональные (уникальные для конкретного персонажа) сообщения следующих типов: - имя, если задано, то используется вместо ника; - приветствие (первое за день); - приветствие (последующие); - поздравление с повышением уровня; - поздравление с получением вещи. - приветствия на БГ Если определено Персональное сообщение, то использовать его, в противном случае - стандартное. Используемые виды чата: - приветствие согильдийца (первое за день) - в ГИ-чат; - приветствие согильдийца (последующие) - в ГИ-чат; - приветствие друга (первое за день) - в приват; - приветствие друга (последующие) - в приват; - поздравление с повышением уровня друга/согильдийца - в приват; - поздравление с получением вещи другом/согильдийцем - в приват. - поздравление с повышением уровня Гильдии - в ГИ-чат; - реклама Гильдии - в зональный (бесплатный) чат - приветствия на БГ - в приват Приветствия должны иметь вид [Сообщение]+", "+[Обращение]. При чем значение [Сообщение] равно [Персональное сообщение], если оно задано и [Стандартное сообщение] в противном случае. Аналогично и [Обращение] равно [Имя], если задано и [Ник], который берется из чата в противном случае. Если будут желающие заняться этой темой, то готов поддержать ваш энтузиазм финансово. Буду с нетерпением ждать предложений сотрудничества. Quote Link to comment Share on other sites More sharing options...
Setras Posted September 2, 2013 Share Posted September 2, 2013 В принципе это всё реализуемо. Quote Link to comment Share on other sites More sharing options...
jedbez Posted September 2, 2013 Share Posted September 2, 2013 Что можно сделать средствами аддонов. ... Поэтому, сразу предупреждаю, что ничего не выйдет, если вы хотите сделать: - Автоатаку. - Автоматизировать (почти любые) действия персонажа. - Программно отправлять сообщения в чат. Или все таки можно? Quote Link to comment Share on other sites More sharing options...
logg Posted September 2, 2013 Share Posted September 2, 2013 ЕМНИП, отправлять без Энтера нельзя Quote Link to comment Share on other sites More sharing options...
Setras Posted September 2, 2013 Share Posted September 2, 2013 Или все таки можно? Условно. Quote Link to comment Share on other sites More sharing options...
VladAbushaev Posted September 3, 2013 Author Share Posted September 3, 2013 И все-таки, господа (и дамы) специалисты, кто-то в состоянии это реализовать или просто отмахнетесь, как от задачи якобы не имеющей решения? Возможно вам нужна какая-то дополнительная мотивация, так не стесняйтесь - скажите. Я готов сделать все, что в моих силах, чтобы вас заинтересовать. Quote Link to comment Share on other sites More sharing options...
CJloHuK Posted September 3, 2013 Share Posted September 3, 2013 Два раза Enter нажимать придется в любом случае. Для каждого сообщения Quote Link to comment Share on other sites More sharing options...
VladAbushaev Posted September 3, 2013 Author Share Posted September 3, 2013 (edited) Два раза Enter нажимать придется в любом случае. Для каждого сообщения А эмулировать нажатие клавиши Enter возможно? (к примеру, если выйти за рамки предлагаемых разработчиками методов взаимодействия с программой) Edited September 3, 2013 by VladAbushaev Quote Link to comment Share on other sites More sharing options...
xxxgoes Posted September 3, 2013 Share Posted September 3, 2013 А эмулировать нажатие клавиши Enter возможно? (к примеру, если выйти за рамки предлагаемых разработчиками методов взаимодействия с программой) 1)Для этого необходимо обойти защиту(либо программу написать в виде драйвера фиктивного устройства ввода) 2)Это грозит бананом(если узнают) Quote Link to comment Share on other sites More sharing options...
Setras Posted September 3, 2013 Share Posted September 3, 2013 И все-таки, господа (и дамы) специалисты, кто-то в состоянии это реализовать или просто отмахнетесь, как от задачи якобы не имеющей решения? Задача имеет решение, но нажимать ентер все равно придется. Quote Link to comment Share on other sites More sharing options...
VladAbushaev Posted September 4, 2013 Author Share Posted September 4, 2013 С сожалением констатирую, что решить задачу в том виде, как она поставлена (АВТОМАТИЧЕСКИ посылать сообщения в чат) пока никто не может. Если вдруг кто-то найдет способ решения, то лично от меня получит грант в размере 5.000 рублей. Связаться со мной проще всего почтой [email protected] или моб. +79222389535 Quote Link to comment Share on other sites More sharing options...
Setras Posted September 4, 2013 Share Posted September 4, 2013 В неактивном окне аллодов это невозможно в принципе. Каков резон здороваться со всеми подряд одними и теми же фразами, когда тебя даже за компьютером нет? Что будет если кто-то зайдет в игру когда ты уже набираешь какое-то сообщение кому-то? Quote Link to comment Share on other sites More sharing options...
VladAbushaev Posted September 4, 2013 Author Share Posted September 4, 2013 Каков резон здороваться со всеми подряд одними и теми же фразами, когда тебя даже за компьютером нет? Если вы внимательно читали ТЗ, то там одним из пунктов значилась настройка персональных фраз. А вот за дополнение про "нет за компьютером" спасибо. Можно дополнить ТЗ проверкой на афк и в случае бездействия персонажа добавить к сообщению префикс (или постфикс) указывающий на отсутствие за компьютером. А также добавить автоответ в случает лички при афк. Что будет если кто-то зайдет в игру когда ты уже набираешь какое-то сообщение кому-то? А вот этот вопрос просто вызывает сомнения в вашей профессиональности. Алгоритм прост: 1. Получить текущее содержимое строки ввода в чат и тип чата и сохранить их (как я успел заметить, реализуется стандартными средствами - mission.GetChatInput). 2. Отправить необходимое сообщение (пока вопрос открыт). 3. Восстановить тип чата и содержимое строки ввода (опять же стандартными средствами - mission.SetChatInputType и mission.SetChatInputText, а еще лучше mission.SetChatInputData). Закрадывается подозрение, что снова не удастся поделиться финансами, а придется делать все самому! Quote Link to comment Share on other sites More sharing options...
Setras Posted September 4, 2013 Share Posted September 4, 2013 Закрадывается подозрение, что снова не удастся поделиться финансами, а придется делать все самому! Начать советую с написания программы, которая будет парсить mods.txt и эмулировать нажатие ентера по команде, все остальное мелочи. Quote Link to comment Share on other sites More sharing options...
ramirez Posted September 4, 2013 Share Posted September 4, 2013 А вот этот вопрос просто вызывает сомнения в вашей профессиональности. Алгоритм прост: 1. Получить текущее содержимое строки ввода в чат и тип чата и сохранить их (как я успел заметить, реализуется стандартными средствами - mission.GetChatInput). 2. Отправить необходимое сообщение (пока вопрос открыт). 3. Восстановить тип чата и содержимое строки ввода (опять же стандартными средствами - mission.SetChatInputType и mission.SetChatInputText, а еще лучше mission.SetChatInputData). Закрадывается подозрение, что снова не удастся поделиться финансами, а придется делать все самому! mission.GetChatInput() отдает далеко не все. Так что восстанавливать содержимое без потерь не удастся. Что стоило проверить, прежде чем сомневаться в чьей-либо профессиональности. Quote Link to comment Share on other sites More sharing options...
jedbez Posted September 5, 2013 Share Posted September 5, 2013 А вот этот вопрос просто вызывает сомнения в вашей профессиональности. Закрадывается подозрение, что снова не удастся поделиться финансами, а придется делать все самому! Что мешает? Вперед и с песней, интересное мнение у человека, "Если я тут пАмАхАю одной купюрой, разработчики ИГРЫ резко прогнуться и включат все нужные МНЕ функции" В своё время тоже предлагал некоторые финансы на решение задач.. Но ЭТО НАДО ТОЛЬКО ВАМ и значит если нет интересной и нужной задачки - изучайте lua самостоятельно, это очень простой язык. И попробуйте найти решение самостоятельно. На этом форуме я думаю многие согласятся помочь в его освоении и решении некоторых вопросов. И еще, имейте в веду, человеки по своей природе ленивы, ну не хочу я писать программку из за которой меня потом забранят. Quote Link to comment Share on other sites More sharing options...
Recommended Posts