Скрипт — разработчикам: различия между версиями
Yuretski>Bick Нет описания правки |
GW349581 (обсуждение | вклад) м (Замена ru на io.) Метки: с мобильного устройства из мобильной версии через расширенный мобильный режим |
||
(не показано 14 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
Если вы | {{TOC right}}Если вы имеете опыт и желаете внести свою лепту, вам необходимо ознакомиться с информацией для разработчиков. | ||
;Преимущества: | |||
* Единый разрекламированный ресурс для размещения своих творений — отпадает необходимость в оплате хостинга для сайта, выкладывании скриптов в фотоальбомах, информации персонажа. | |||
* Библиотека функций и регулярных выражений для работы с ГВ, которая сэкономит время написания и усилия. | |||
* Предоставление интерфейса для отправки сообщений в ICQ из скриптов. | |||
* Лёгкое создание странички настройки скрипта. | |||
* Статистика количества пользователей ваших скриптов ''(в стадии разработки)''. | |||
* Рейтинги скриптов и авторов ''(в стадии разработки)''. | |||
== Особенности JS кода == | == Особенности JS кода == | ||
Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов: | Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов: | ||
*Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа. | * Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа. | ||
*При сохранении скрипта используйте кодировку ANSI, а не UTF-8 | * При сохранении скрипта используйте кодировку ANSI, а не UTF-8. | ||
*В функцию-точку входа может | * В функцию-точку входа может передаваться один параметр с настройками скрипта. Но об этом ниже. | ||
*Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать | * Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать — он не будет запрошен. | ||
== Правила для скриптов == | == Правила для скриптов == | ||
Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и | Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и гарантированного добавления скрипта, он должен соблюдать такие правила: | ||
*Скрипт не должен нарушать текущие [ | * Скрипт не должен нарушать текущие [[ПИ|Правила игры]], в особенности касающийся [[ПИ#3.3.|пункта 3.3. Использования автоматических скриптов]]. Если вы не уверены — проконсультируйтесь с представителями синдиката <synd>1321 GW - Полиция</synd>. | ||
*Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения | * Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения пользователя). | ||
*С целью обезопасить пользователей от вредоносного кода | * С целью обезопасить пользователей от вредоносного кода старайтесь минимально использовать подключение скриптов или других данных со сторонних сайтов. Наиболее используемые js библиотеки будут размещены в [[Скрипт#Список скриптов|списке скриптов]]. | ||
*Описания, названия скриптов не должны содержать нецензурные выражения. | * Описания, названия скриптов не должны содержать нецензурные выражения. | ||
*Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта. | * Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта. | ||
*Передавать на сторонние ресурсы или сторонним лицам закрытой информации пользователей строго запрещена и наказуема. | * Передавать на сторонние ресурсы или сторонним лицам закрытой информации пользователей строго запрещена и наказуема. | ||
== Добавление скриптов в каталог == | == Добавление скриптов в каталог == | ||
В GanjaScripts существует 2 понятия | В GanjaScripts существует 2 понятия — скрипт и версия. Однажды добавив скрипт, вы можете добавлять к нему новые версии. | ||
=== Добавление скрипта === | === Добавление скрипта === | ||
Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите | Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите «Добавить скрипт». Перед вами появятся 4 поля для заполнения. | ||
*'''Название''' | * '''Название''' — Название скрипта в каталоге. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения. | ||
*'''Короткое описание''' | * '''Короткое описание''' — Описание которое будет видно в каталоге. Длина не должна превышать 90 символов, не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем. | ||
*'''Описание''' | * '''Описание''' — Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов, не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем. | ||
*'''Статья в | * '''Статья в ГВики''' — Название статьи в Ганджавики, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем. | ||
Добавив скрипт, вы сразу окажетесь на страничке добавления версии. | Добавив скрипт, вы сразу окажетесь на страничке добавления версии. | ||
Строка 35: | Строка 43: | ||
=== Добавление версии === | === Добавление версии === | ||
Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите | Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите «Добавить версию». Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить: | ||
*'''Название версии''' | * '''Название версии''' — Например — ''1.00'' или ''0.9 Beta''. Длина до 10 символов. Вы не сможете изменить это поле в будущем. | ||
*'''Файл настроек''' | * '''Файл настроек''' — html-файл для настройки скрипта. Про него читайте ниже. Не обязательно указывать. Вы не сможете изменить это поле в будущем. | ||
*''Файл скрипта'' | * ''Файл скрипта'' — js-файл с кодом скрипта. Его вы тоже не сможете изменить. Обязательно для заполнения. | ||
*''Работает на'' | * ''Работает на'' — Маска адресов страниц, на которых будет работать скрипт. Строка ''<nowiki>https://www.gwars.io/info.php*</nowiki>'' означает что скрипт выполняется только на страничках информации персонажа. Обязательно для заполнения. Не забывайте указывать префикс ''<nowiki>http://www</nowiki>''. Невозможно изменить в будущем. | ||
*'''Название | * '''Название класса''' — Название функции-точки входа в скрипт. Обязательно для заполнения. | ||
*'''Функции''' | * '''Функции''' — Список функций данной версии, разделённых '';''. Не обязательно заполнять, можно изменить в будущем. | ||
Заполнив эти поля и сохранив данные, вы отправите скрипт на модерацию. После проверки он будет добавлен в каталог. В случае, если скрипту откажут в добавлении, вы сможете посмотреть причину на страничке редактирования версий. | Заполнив эти поля и сохранив данные, вы отправите скрипт на модерацию. После проверки он будет добавлен в каталог. В случае, если скрипту откажут в добавлении, вы сможете посмотреть причину на страничке редактирования версий. | ||
В будущем, при добавлении новых функций в скрипт | В будущем, при добавлении новых функций в скрипт — просто создайте новую версию. | ||
== Редактирование скриптов/версий == | == Редактирование скриптов/версий == | ||
На страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] вы | На страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] вы увидите список всех ваших скриптов. Нажав на название скрипта вы можете: | ||
*Отредактировать информацию о нём | * Отредактировать информацию о нём. | ||
*Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях). | * Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях). | ||
*Просмотреть полный список версий этого скрипта с их статусами и комментариями проверившего скрипт. | * Просмотреть полный список версий этого скрипта с их статусами и комментариями проверившего скрипт. | ||
Нажав в списке версий на какую-то из них вы попадёте на страницу редактирования версии, на которой можно | Нажав в списке версий на какую-то из них вы попадёте на страницу редактирования версии, на которой можно | ||
*Изменить список функций | * Изменить список функций. | ||
*Полностью удалить версию из базы данных (будет отключена у всех пользователей). | * Полностью удалить версию из базы данных (будет отключена у всех пользователей). | ||
== Настройки скрипта == | == Настройки скрипта == | ||
Строка 72: | Строка 80: | ||
=== Получение настроек скриптом === | === Получение настроек скриптом === | ||
Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр | Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр — настройки скрипта. Этот параметр представляет из себя объект, свойства которого — переменные из файла настроек. Для примера файла настроек выше будет создан такой и передан в скрипт объект со свойствами ''object.var1'' и ''object.testvar2'', а скрипт который будет принимать эти значения и выводить их alertom будет выглядеть так: | ||
<nowiki>function EnterFunctionName(dat){</nowiki> | <nowiki>function EnterFunctionName(dat){</nowiki> | ||
Строка 80: | Строка 88: | ||
<nowiki>}</nowiki> | <nowiki>}</nowiki> | ||
При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие | При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие — повторите форму из [https://www.gwars.io/info.edit.php Личных настроек] ГВ с возможностью прослушивания выбранного звука. | ||
Если вам надо как-то обрабатывать | Если вам надо как-то обрабатывать введённые пользователем данные прямо на страничке настроек — форма ввода настроек имеет ''name=settingsform''. | ||
== Отладка скрипта перед добавлением в каталог == | == Отладка скрипта перед добавлением в каталог == | ||
Строка 96: | Строка 104: | ||
'''Send2ICQ ( UIN , MESSAGE );''' | '''Send2ICQ ( UIN , MESSAGE );''' | ||
Где UIN | Где UIN — номер ICQ на который отправлять сообщений, MESSAGE — текст сообщения (''без использования кириллицы, в ближайшее время это условие уберём''). | ||
Сообщение дойдёт пользователю через 0—15 секунд (100 % не более, чем через 15). | |||
''Не пытайтесь использовать эту возможность в сторонних скриптах используя интерфейс GanjaScripts, и не используйте для рассылок. Мы ведём подробные протоколы использования.'' | |||
== Доступные на GanjaScripts сторонние библиотеки == | == Доступные на GanjaScripts сторонние библиотеки == | ||
*[http://www.ganjawiki.ru/scripts/libs/prototype.js prototype.js] | * [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] | ||
[[Категория:Скрипты]] | [[Категория:Скрипты]] |
Текущая версия от 18:54, 12 мая 2022
Если вы имеете опыт и желаете внести свою лепту, вам необходимо ознакомиться с информацией для разработчиков.
- Преимущества
- Единый разрекламированный ресурс для размещения своих творений — отпадает необходимость в оплате хостинга для сайта, выкладывании скриптов в фотоальбомах, информации персонажа.
- Библиотека функций и регулярных выражений для работы с ГВ, которая сэкономит время написания и усилия.
- Предоставление интерфейса для отправки сообщений в ICQ из скриптов.
- Лёгкое создание странички настройки скрипта.
- Статистика количества пользователей ваших скриптов (в стадии разработки).
- Рейтинги скриптов и авторов (в стадии разработки).
Особенности JS кода
Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов:
- Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа.
- При сохранении скрипта используйте кодировку ANSI, а не UTF-8.
- В функцию-точку входа может передаваться один параметр с настройками скрипта. Но об этом ниже.
- Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать — он не будет запрошен.
Правила для скриптов
Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и гарантированного добавления скрипта, он должен соблюдать такие правила:
- Скрипт не должен нарушать текущие Правила игры, в особенности касающийся пункта 3.3. Использования автоматических скриптов. Если вы не уверены — проконсультируйтесь с представителями синдиката #1321 GW - Полиция.
- Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения пользователя).
- С целью обезопасить пользователей от вредоносного кода старайтесь минимально использовать подключение скриптов или других данных со сторонних сайтов. Наиболее используемые js библиотеки будут размещены в списке скриптов.
- Описания, названия скриптов не должны содержать нецензурные выражения.
- Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта.
- Передавать на сторонние ресурсы или сторонним лицам закрытой информации пользователей строго запрещена и наказуема.
Добавление скриптов в каталог
В GanjaScripts существует 2 понятия — скрипт и версия. Однажды добавив скрипт, вы можете добавлять к нему новые версии.
Добавление скрипта
Зайдите на страничку Авторам и нажмите «Добавить скрипт». Перед вами появятся 4 поля для заполнения.
- Название — Название скрипта в каталоге. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
- Короткое описание — Описание которое будет видно в каталоге. Длина не должна превышать 90 символов, не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
- Описание — Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов, не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
- Статья в ГВики — Название статьи в Ганджавики, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. Внимание: не указывайте адрес. Только название. Вы сможете изменить это поле в будущем.
Добавив скрипт, вы сразу окажетесь на страничке добавления версии.
Добавление версии
Зайдите на страничку Авторам и нажмите «Добавить версию». Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить:
- Название версии — Например — 1.00 или 0.9 Beta. Длина до 10 символов. Вы не сможете изменить это поле в будущем.
- Файл настроек — html-файл для настройки скрипта. Про него читайте ниже. Не обязательно указывать. Вы не сможете изменить это поле в будущем.
- Файл скрипта — js-файл с кодом скрипта. Его вы тоже не сможете изменить. Обязательно для заполнения.
- Работает на — Маска адресов страниц, на которых будет работать скрипт. Строка https://www.gwars.io/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, и не используйте для рассылок. Мы ведём подробные протоколы использования.