Yuretski>LAS3 |
|
Строка 1: |
Строка 1: |
| {{TOC right}}Если вы имеете опыт и желаете внести свою лепту, вам необходимо ознакомиться с информацией для разработчиков.
| |
|
| |
|
| ;Преимущества:
| |
| Есть ряд плюсов для разработчиков:
| |
| * Единый разрекламированный ресурс для размещения своих творений — отпадает необходимость в оплате хостинга для сайта, выкладывании скриптов в фотоальбомах, информации персонажа.
| |
| * Библиотека функций и регулярных выражений для работы с ГВ, которая сэкономит время написания и усилия.
| |
| * Предоставление интерфейса для отправки сообщений в ICQ из скриптов.
| |
| * Лёгкое создание странички настройки скрипта.
| |
| * Статистика количества пользователей ваших скриптов ''(в стадии разработки)''.
| |
| * Рейтинги скриптов и авторов ''(в стадии разработки)''.
| |
|
| |
| == Особенности JS кода ==
| |
|
| |
| Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов:
| |
| * Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа.
| |
| * При сохранении скрипта используйте кодировку ANSI, а не UTF-8.
| |
| * В функцию-точку входа может передаваться один параметр с настройками скрипта. Но об этом ниже.
| |
| * Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать — он не будет запрошен.
| |
|
| |
| == Правила для скриптов ==
| |
|
| |
| Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и гарантированного добавления скрипта, он должен соблюдать такие правила:
| |
| * Скрипт не должен нарушать текущие [http://www.ganjawars.ru/help/index.php?sid=91&pid=2 Правила игры], в особенности пункт касающийся [http://www.ganjawars.ru/help/index.php?sid=91&pid=2#p33 использования автоматических скриптов]. Если вы не уверены — проконсультируйтесь с представителями синдиката <synd>1321 GW - Полиция</synd>.
| |
| * Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения пользователя).
| |
| * С целью обезопасить пользователей от вредоносного кода старайтесь минимально использовать подключение скриптов или других данных со сторонних сайтов. Если есть необходимость — пишите <nick>Bick</nick> и картинки/широко используемые js библиотеки будут размещены на сайте GanjaWiki (их список внизу этой страницы).
| |
| * Описания, названия скриптов не должны содержать нецензурные выражения.
| |
| * Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта.
| |
| * Передавать на сторонние ресурсы или сторонним лицам закрытой информации пользователей строго запрещена и наказуема.
| |
|
| |
| == Добавление скриптов в каталог ==
| |
|
| |
| В GanjaScripts существует 2 понятия — '''Скрипт''' и '''Версия'''. Однажды добавив скрипт, вы можете добавлять к нему новые версии.
| |
|
| |
| === Добавление скрипта ===
| |
|
| |
| Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить скрипт'''. Перед вами появятся 4 поля для заполнения.
| |
| * '''Название''' — Название скрипта в каталоге. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
| |
| * '''Короткое описание''' — Описание которое будет видно в каталоге. Длина не должна превышать 90 символов,не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
| |
| * '''Описание''' — Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов, не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
| |
| * '''Статья в Вики''' — Название статьи в GanjaWiki, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем.
| |
|
| |
| Добавив скрипт, вы сразу окажетесь на страничке добавления версии.
| |
|
| |
| === Добавление версии ===
| |
|
| |
| Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить версию'''. Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить:
| |
| * '''Название версии''' — Например — ''1.00'' или ''0.9 Beta''. Длина до 10 символов. Вы не сможете изменить это поле в будущем.
| |
| * '''Файл настроек''' — html-файл для настройки скрипта. Про него читайте ниже. Не обязательно указывать. Вы не сможете изменить это поле в будущем.
| |
| * ''Файл скрипта'' — js-файл с кодом скрипта. Его вы тоже не сможете изменить. Обязательно для заполнения.
| |
| * ''Работает на'' — Маска адресов страниц, на которых будет работать скрипт. Строка ''http://www.ganjawars.ru/info.php*'' означает что скрипт выполняется только на страничках информации персонажа. Обязательно для заполнения. Не забывайте указывать префикс ''http://www''. Невозможно изменить в будущем.
| |
| * '''Название класса''' — Название функции-точки входа в скрипт. Обязательно для заполнения.
| |
| * '''Функции''' — Список функций данной версии, разделённых '';''. Не обязательно заполнять, можно изменить в будущем.
| |
|
| |
| Заполнив эти поля и сохранив данные, вы отправите скрипт на модерацию. После проверки он будет добавлен в каталог. В случае, если скрипту откажут в добавлении, вы сможете посмотреть причину на страничке редактирования версий.
| |
|
| |
| В будущем, при добавлении новых функций в скрипт — просто создайте новую версию.
| |
|
| |
| == Редактирование скриптов/версий ==
| |
|
| |
| На страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] вы увидите список всех ваших скриптов. Нажав на название скрипта вы можете:
| |
| * Отредактировать информацию о нём.
| |
| * Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях).
| |
| * Просмотреть полный список версий этого скрипта с их статусами и комментариями проверившего скрипт.
| |
|
| |
| Нажав в списке версий на какую-то из них вы попадёте на страницу редактирования версии, на которой можно
| |
| * Изменить список функций.
| |
| * Полностью удалить версию из базы данных (будет отключена у всех пользователей).
| |
|
| |
| == Настройки скрипта ==
| |
|
| |
| === Создание файла настроек ===
| |
|
| |
| Файл настроек - стандартный html-файл с куском таблицы. В этом файле разрешено использование JavaScript и стандартных стилей css из ганжаварс для более красивого/удобного управления настройками. Пример простого файла который принимает две переменные:
| |
|
| |
| <nowiki><tr><td class=wb colspan=2>Какая-то информация для пользователей</td></tr></nowiki>
| |
|
| |
| <nowiki><tr><td class=wb>VarName1:</td><td class=wb><input type=text name=''var1'' value='MyDefaulValue'></td></tr></nowiki>
| |
|
| |
| <nowiki><tr><td class=wb>VarName2:</td><td class=wb><input type=text name=''testvar2'' value='2000'></td></tr></nowiki>
| |
|
| |
| === Получение настроек скриптом ===
| |
|
| |
| Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр — настройки скрипта. Этот параметр представляет из себя объект, свойства которого — переменные из файла настроек. Для примера файла настроек выше будет создан такой и передан в скрипт объект со свойствами ''object.var1'' и ''object.testvar2'', а скрипт который будет принимать эти значения и выводить их alertom будет выглядеть так:
| |
|
| |
| <nowiki>function EnterFunctionName(dat){</nowiki>
| |
|
| |
| <nowiki>alert(dat.var1+"\n"+dat.testvar2);</nowiki>
| |
|
| |
| <nowiki>}</nowiki>
| |
|
| |
| При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие — повторите форму из [http://www.ganjawars.ru/info.edit.php Личных настроек] ГВ с возможностью прослушивания выбранного звука.
| |
|
| |
| Если вам надо как-то обрабатывать введённые пользователем данные прямо на страничке настроек — форма ввода настроек имеет ''name=settingsform''.
| |
|
| |
| == Отладка скрипта перед добавлением в каталог ==
| |
|
| |
| Рекомендую использовать user скрипт, который будет эмулировать возвращаемый пользователю код. [http://www.ganjawiki.ru/scripts/example.user.js Скачать шаблон].
| |
|
| |
| == Доступные на GanjaScripts Функции ==
| |
|
| |
| === Отправка сообщений в ICQ ===
| |
|
| |
| Разработчики могут использовать в своих скриптах функцию отправки сообщений ICQ из скриптов. Вызывается функция так:
| |
|
| |
| '''Send2ICQ ( UIN , MESSAGE );'''
| |
|
| |
| Где UIN — номер ICQ на который отправлять сообщений, MESSAGE — текст сообщения (''без использования кириллицы, в ближайшее время это условие уберём'').
| |
|
| |
| Сообщение дойдёт пользователю через 0—15 секунд (100 % не более, чем через 15).
| |
|
| |
| ''Не пытайтесь использовать эту возможность в сторонних скриптах используя интерфейс GanjaScripts, и не используйте для рассылок. Мы ведём подробные протоколы использования.''
| |
|
| |
| == Доступные на GanjaScripts сторонние библиотеки ==
| |
|
| |
| * [http://www.ganjawiki.ru/scripts/libs/prototype.js prototype.js] — взят с [http://www.prototypejs.org/assets/2007/1/18/prototype.js http://www.prototypejs.org/assets/2007/1/18/prototype.js]
| |
|
| |
| [[Категория:Скрипты]]
| |