Вход  •  Регистрация

Скрипты для IRC-игр

IRC-игры — игры, как сделанные по мотивам телешоу, так и собственные, как правило с денежными призами.

Сообщение » 22.06.2010, 14:16

Поскольку в разгаре межсезонье — время, когда каждый может потренироваться в ведении игр, мы решили сделать этот процесс чуть проще.

Предлагаю вашему вниманию небольшой универсальный скрипт для mIRC.

Он содержит:
  • Форму для интерактива
  • Алиасы выравнивания текста в рамках: по центру, по левому краю, по правому краю


Инсталляция

1. Разархивируйте скрипт в удобную для вас папку в каталоге mIRC.
2. Запустите mIRC
3. Нажмите ALT+R
4. Меню «Файл» — Загрузить (CTRL + L) и выберите файл скрипта.
5. Переключитесь на вкладку «Скрипты».
Если там открыт код другого скрипта, откройте файл через меню «Вид» — Ещё — gs_interactive.ini

Базовые инструкции там написаны.

Использование

Вы можете использовать скрипт как отдельной формой, так и встроив самостоятельно в свою игру.

Для отдельного использования введите в строке чата команду /inter, после чего должна появиться форма скрипта.
Изображение

1. При старте игры непременно обнулите данные кнопкой «Обнул.»
2. Введите верный ответ для интерактива: цифры 1, 2, 3 или 4. Если верный ответ имеет иной формат, то в этом случае ответ зрителей должен быть дословен (но без учёта регистра и цвета). Скрипт понимает разные форматы команд: !1, !2, а, б, a, b, c…
3. Если нужен таймер для ответа, введите интервал в секундах в левое текстовое поле.
4. Нажмите «Старт»
5. Если вы указали интервал для таймера, то интерактив остановится автоматически с выводом команды в активное окно. Иначе нажмите «Стоп».
6. Суммарные результаты интерактива можно вывести кнопкой «Вывести»

Какие-то нюансы использования вы можете узнать из кода скрипта (ровно как и внести изменения в его работу). Ну и встраивание его в свою игру также производится самостоятельно.




Алиасы выравнивания

Также в скрипт входят 4 алиаса, которые помогут вам делать красивые рамки для вопросов и ответов игры.

$leftal() — команда для выравнивания плашки по левому краю. Формат: $leftal(%строка, длина, код цвета текста, код цвета фона).
Например, $leftal(GameSHOWS, 15, 00, 01) — выведет слово на плашке в 15 символов белым текстом на чёрном фоне.

Аналогично используются и $central и $rightal.

НЕ ЗАБЫВАЙТЕ указывать коды цветов в двузначном формате: 00, 01, 02... во избежания слияния с текстом.
Примеры:
$leftal(GameSHOWS, 15, 01, 05)
$central(%khsm_question, 15, 01, 05)
$rightal(%khsm_question, 15, %font_color, %len)
Изображение

Алиасы будут работать и при использовании в иных скриптах, при условии, если этот будет оставаться загруженным.
Вложения
gs_interactive.rar
Скрипт для IRC-игр
(2.16 КБ) Скачиваний: 96
Последний раз редактировалось StereoMaster 22.06.2010, 16:24, всего редактировалось 1 раз.
Аватара пользователя
StereoMaster
Lord Woo Fak Fak
 
Репутация: +354/-2
Сообщения: 5653

Сообщение » 22.06.2010, 14:58

Ещё небольшое дополнение по скрипту:

При возникновении проблемы с неправильным выравниванием по левому-правому краю, нужно добавить больше точек в строку соответствующего алиаса:
Код: Выделить всё
set %script_dot ..................





Ну и ещё скрипт можно также использовать для отборочного тура: поскольку верно ответившие игроки в интерактиве выстраиваются в порядке от первого к последнему, то после первого вопроса можно наблюдать хронологический порядок ответов, хоть и без таймстампов.

Не забудьте только обнулять данные до и после отбора.
Аватара пользователя
StereoMaster
Lord Woo Fak Fak
 
Репутация: +354/-2
Сообщения: 5653

Сообщение » 22.06.2010, 15:48

Изображение

Продолжая тему скриптинга, вот шаблон для создания панелек для саундпаков, которые позволят проще управлять музыкой в игре:

Код: Выделить всё
dialog название {
  title "Саундпак"
  size -1 -1 100 390
  button "intro.mp3", 2, 10 10 90 20,
  button "intro2.mp3", 3, 10 30 90 20,
  button "beginning.mp3", 4, 10 50 90 20,
  button "gong.mp3", 5, 10 70 90 20,
...
}

on 1:dialog:название:sclick:*: {
  msg $active 0play префикс_ $+ $did($did)
  splay префикс_ $+ $did($did)
}

alias название {
  dialog -mots название название
}



Название — название алиаса, который будет запускать панельку. Используется в команде. Запуск — командой /название (например, /tower).

Префикс — префикс у названий саундов в саундпаке.

size -1 -1 100 390 — 3-е и 4-е числа обозначают ширину и высоту панели соответственно.

button "intro.mp3", 2, 10 10 90 20, — название файла, уникальный номер, коорд. X, коорд Y, ширина, высота.
Аватара пользователя
StereoMaster
Lord Woo Fak Fak
 
Репутация: +354/-2
Сообщения: 5653

Сообщение » 22.06.2010, 16:31

StereoMaster
а скриптов для проведения конкретных игр нет? :evil:
Аватара пользователя
Qwerty
Креативный продюсер
 
Репутация: +58/-42
Сообщения: 621
Награды: 2
Медаль им. Канделаки (II ст.) Клеймо флудера

Сообщение » 22.06.2010, 16:33

Qwerty пишет:а скриптов для проведения конкретных игр нет? :evil:
А лицо вареньем не помазать впридачу? :) Вам-то что проводить? Всё равно забанены. :P
Аватара пользователя
wwbm
Хранитель традиций
 
Репутация: +314/-7
Сообщения: 6428

Сообщение » 22.06.2010, 16:33

Qwerty пишет:а скриптов для проведения конкретных игр нет?

«На этой неделе в студенческом городке ожидаются перебои с горячей и холодной водой. Перебьются общежития NN 3, 5, 12.»
Аватара пользователя
StereoMaster
Lord Woo Fak Fak
 
Репутация: +354/-2
Сообщения: 5653

Сообщение » 01.07.2010, 15:58

StereoMaster
Спасибо. На основе этих скриптов, кстати, можно создавать простенькие для проведения каких-то конкретных игр.

Вот сейчас, кстати, этим и занимаюсь. Возник вопрос:
Предположим, я создаю форму "TestTable", которая появляется по команде /table. На ней две кнопки: "Тест1" и "Тест2".
Код: Выделить всё
dialog TestTable {
  title "TestTable"
  size -1 -1 110 75
  button "Тест1", 1, 10 10 90 20,
  button "Тест2", 2, 10 40 90 20,
}

alias table {
  dialog -mots TestTable TestTable
}

Мне нужно, чтобы при нажатии на кнопки выводился определённый текст:
Код: Выделить всё
Кнопка 1:
0,2 Вы нажали кнопку 1 0,0 0play pv_gong.mp3
Кнопка 2:
0,2 Вы нажали кнопку 2 0,0 0play pv_gong.mp3

Как это сделать? Подскажите пожалуйста! :cry:
Аватара пользователя
Qwerty
Креативный продюсер
 
Репутация: +58/-42
Сообщения: 621
Награды: 2
Медаль им. Канделаки (II ст.) Клеймо флудера

Сообщение » 01.07.2010, 16:04

Qwerty пишет:Как это сделать? Подскажите пожалуйста!

присмотритесь к 3-му посту. там же кусок:

Код: Выделить всё
on 1:dialog:название:sclick:*: {
  msg $active 0play префикс_ $+ $did($did)
  splay префикс_ $+ $did($did)
}


Условие на определение кнопки
Код: Выделить всё
if ($did == ... ) {

}


$did соответственно — ид нажатого элемента. Если взять его так $did(название, $did), то получим текст элемента. $did(название, $did).state — состояние для галочки или радиобокса.
название— ид самой формы. Если используется внутри on *:dialog:название…, то писать его не обязательно.

За этим делом крайне рекомендую мануал, там всё написано. По-русски.
Аватара пользователя
StereoMaster
Lord Woo Fak Fak
 
Репутация: +354/-2
Сообщения: 5653

Сообщение » 01.07.2010, 16:09

StereoMaster пишет:присмотритесь к 3-му посту. там же кусок:

Насчёт вызова события клика - это я увидел. Я просто не понял про if.
Аватара пользователя
Qwerty
Креативный продюсер
 
Репутация: +58/-42
Сообщения: 621
Награды: 2
Медаль им. Канделаки (II ст.) Клеймо флудера

Сообщение » 01.07.2010, 17:01

StereoMaster
Спасибо и +1. А какую IRC-игру делаю, не скажу :D
Аватара пользователя
Qwerty
Креативный продюсер
 
Репутация: +58/-42
Сообщения: 621
Награды: 2
Медаль им. Канделаки (II ст.) Клеймо флудера

Сообщение » 01.07.2010, 17:20

Qwerty пишет:А какую IRC-игру делаю, не скажу :D
Да больно надо. Всё равно все знают, что ничего вы не будете проводить.
Аватара пользователя
wwbm
Хранитель традиций
 
Репутация: +314/-7
Сообщения: 6428

Сообщение » 01.07.2010, 17:35

wwbm пишет:Да больно надо. Всё равно все знают, что ничего вы не будете проводить.
не-а. Будет. Не очень скоро, но будет.
Аватара пользователя
Qwerty
Креативный продюсер
 
Репутация: +58/-42
Сообщения: 621
Награды: 2
Медаль им. Канделаки (II ст.) Клеймо флудера

Сообщение » 04.07.2010, 17:49

Уважаемый, StereoMaster.

У меня есть вопрос. А он заключается так:

Дан скрипт:

Код: Выделить всё
dialog stop {
  title "STOP"
  size -1 -1 340 70
  button "СТАРТ", 1, 10 10 100 40
}
alias stop {
  dialog -mots  stop  stop
}


Нужно нажать на кнопку СТАРТ. После этого текст кнопки должен измениться на СТОП.

Прочитавший мануал, я нашел такую вещь: /did -o name id [n] [text | filename].

Поставив известные данные, получаится так: /did -o stop 1 [n] [text | filename]. А дальше ничего не понимаю. Помоги
Изображение
Изображение
Изображение
Аватара пользователя
STO
годами обещает обзоры
 
Репутация: +52/-3
Сообщения: 322
Награды: 1
Медаль им. Губерниева (III ст.)

Сообщение » 04.07.2010, 18:47

STO пишет:Нужно нажать на кнопку СТАРТ. После этого текст кнопки должен измениться на СТОП.

А не проще ли сделать 2 кнопки?
Аватара пользователя
StereoMaster
Lord Woo Fak Fak
 
Репутация: +354/-2
Сообщения: 5653

Сообщение » 04.07.2010, 18:51

StereoMaster пишет:
STO пишет:Нужно нажать на кнопку СТАРТ. После этого текст кнопки должен измениться на СТОП.

А не проще ли сделать 2 кнопки?


Тогда подобный вопрос:

Тот же скрипт(но с дополнениями):

Код: Выделить всё
dialog stop {
  title "STOP"
  size -1 -1 340 70
  button "СТАРТ", 1, 10 10 100 40
  text "СТАРТ", 2, 110 10 100 40
}
alias stop {
  dialog -mots  stop  stop
}


Дано изменить тескст текста(id = 2), нажав на кнопку(id = 1)
Изображение
Изображение
Изображение
Аватара пользователя
STO
годами обещает обзоры
 
Репутация: +52/-3
Сообщения: 322
Награды: 1
Медаль им. Губерниева (III ст.)

След.

Вернуться в IRC-игры и конкурсы



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей