Скрипт — разработчикам

Если вы не нашли в этом материале нужную информацию, но сами докопались до истины - добавьте информацию для других разработчиков. Если не получилось разобратся - пишите мне Bick

Особенности JS кода

Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов:

  • Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа.
  • При сохранении скрипта используйте кодировку ANSI, а не UTF-8
  • В функцию-точку входа может передаватся один параметр с настройками скрипта. Но об этом ниже.
  • Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать - он не будет зарошен.

Правила для скриптов

Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и гарантированого добавления скрипта, он должен соблюдать такие правила:

  • Скрипт не должен нарушать текущие Правила игры, в особенности пункт касающийся использования автоматических скриптов. Если вы не уверены - проконсультируйтесь с представителями синдиката  #1321 GW - Полиция.
  • Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения пользоваеля).
  • С целью обезопасить пользователей от вредоносного кода старйтесь минимально исопльзовать подключение скриптов или других данных со сторонних сайтов. Если есть необходимость - пишите Bick и картинки/широкоиспользуемые js библиотеки будут размещены на сайте GanjaWiki (их список внизу этой страницы).
  • Описания, названия скриптов не должны содержать нецензурные выражения.
  • Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта.
  • Передавать на сторонние ресурсы или сторонним лицам закрытой информации пользователей строго запрещена и наказуема.

Добавление скриптов в каталог

В GanjaScripts существует 2 понятия - Скрипт и Версия. Однажды добавив скрипт, вы можете добавлять к нему новые версии.

Добавление скрипта

Зайдите на страничку Авторам и нажмите Добавить скрипт. Перед вами появятся 4 поля для заполнения.

  • Название - Название скрипта в котологе. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
  • Короткое описание - Описание которое будет видно в каталоге. Длина не должна превышать 90 символов,не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
  • Описание - Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов,не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
  • Статья в Вики - Название статьи в GanjaWiki, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. Внимание: не указывайте адрес. Только название. Вы сможете изменить это поле в будущем.

Добавив скрипт, вы сразу окажетесь на страничке добавления версии.

Добавление версии

Зайдите на страничку Авторам и нажмите Добавить версию. Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить:

  • Название версии - Например - 1.00 или 0.9 Beta. Длина до 10 символов. Вы не сможете изменить это поле в будущем.
  • Файл настроек - html-файл для настройки скрипта. Про него читайте ниже. Не обязательно указывать. Вы не сможете изменить это поле в будущем.
  • Файл скрипта - js-файл с кодом скрипта. Его вы тоже не сможете изменить. Обязательно для заполнения.
  • Работает на - Маска адресов страниц, на которых будет работать скрипт. Строка http://www.ganjawars.ru/info.php* означает что скрипт выполняется только на страничках информации персонажа. Обязательно для заполения. Не забывайте указывать префикс http://www. Невозможно изменить в будущем.
  • Название класа - Название функции-точки входа в скрипт. Обязательно для заполнения.
  • Функции - Список функций данной версии, разделённых ;. Не обязательно заполнять, можно изменить в будущем.

Заполнив эти поля и сохранив данные, вы отправите скрипт на модерацию. После проверки он будет добавлен в каталог. В случае, если скрипту откажут в добавлении, вы сможете посмотреть причину на страничке редактирования версий.

В будущем, при добавлении новых функций в скрипт - просто создайте новую версию.

Редактирование скриптов/версий

На страничку Авторам вы увидете список всех ваших скриптов. Нажав на название скрипта вы можете:

  • Отредактировать информацию о нём
  • Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях).
  • Просмотреть полный список версий этого скрипта с их статусами и комментариями проверившего скрипт.

Нажав в списке версий на какую-то из них вы попадёте на страницу редактирования версии, на которой можно

  • Изменить список функций
  • Полностью удалить версию из базы данных (будет отключена у всех пользователей).

Настройки скрипта

Создание файла настроек

Файл настроек - стандартный html-файл с куском таблицы. В этом файле разрешено использование JavaScript и стандартных стилей css из ганжаварс для более красивого/удобного управления настройками. Пример простого файла который принимает две переменные:

<tr><td class=wb colspan=2>Какая-то информация для пользователей</td></tr>

<tr><td class=wb>VarName1:</td><td class=wb><input type=text name=''var1'' value='MyDefaulValue'></td></tr>

<tr><td class=wb>VarName2:</td><td class=wb><input type=text name=''testvar2'' value='2000'></td></tr>

Получение настроек скриптом

Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр - настройки скрипта. Этот параметр представляет из себя обьект, свойства которого - переменные из файла настроек. Для примера файла настроек выше будет создан такой и передан в скрипт обьект со свойствами object.var1 и object.testvar2, а скрипт который будет принимать эти значения и выводить их alertom будет выглядеть так:

function EnterFunctionName(dat){

alert(dat.var1+"\n"+dat.testvar2);

}

При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие - повторите форму из Личных настроек ГВ с возможностью прослушивания выбраного звука.

Если вам надо как-то обрабатывать введеные пользователем данные прямо на страничке настроек - форма ввода настроек имеет name=settingsform.

Отладка скрипта перед добавлением в каталог

Рекомендую использовать user скрипт, который будет эмулировать возвращаемый пользователю код. Скачать шаблон.

Доступные на GanjaScripts Функции

Отправка сообщений в ICQ

Разработчики могут использовать в своих скриптах функцию отправки сообщений ICQ из скриптов. Вызывается функция так:

Send2ICQ ( UIN , MESSAGE );

Где UIN - номер ICQ на который отправлять сообщений, MESSAGE - текст сообщения (без исопльзования кириллицы, в ближайшее время это условие уберём).

Сообщение дойдёт пользователю через 0-15 секунд (100% не более чем через 15).

Не пытайтесь использовать эту возможность в сторонних скриптах используя интерфейс GanjaScripts, и не используйте для рассылок. Мы ведём подробные протоколы исопльзования.


Доступные на GanjaScripts сторонние библиотеки