Скрипт — разработчикам: различия между версиями

м
Замена ru на io.
Yuretski>LAS3
м (Исправлена опечатка.)
м (Замена ru на io.)
Метки: с мобильного устройства из мобильной версии через расширенный мобильный режим
 
(не показано 8 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{TOC right}}Если вы имеете опыт и желаете внести свою лепту, вам необходимо ознакомиться с информацией для разработчика.
{{TOC right}}Если вы имеете опыт и желаете внести свою лепту, вам необходимо ознакомиться с информацией для разработчиков.


;Преимущества:
;Преимущества:
Есть ряд плюсов для разработчиков:
* Единый разрекламированный ресурс для размещения своих творений — отпадает необходимость в оплате хостинга для сайта, выкладывании скриптов в фотоальбомах, информации персонажа.
* Единый разрекламированный ресурс для размещения своих творений — отпадает необходимость в оплате хостинга для сайта, выкладывании скриптов в фотоальбомах, информации персонажа.
* Библиотека функций и регулярных выражений для работы с ГВ, которая сэкономит время написания и усилия.
* Библиотека функций и регулярных выражений для работы с ГВ, которая сэкономит время написания и усилия.
* Предоставление интерфейса для отправки сообщений в ICQ из скриптов
* Предоставление интерфейса для отправки сообщений в ICQ из скриптов.
* Лёгкое создание странички настройки скрипта.
* Лёгкое создание странички настройки скрипта.
* Статистика количества пользователей ваших скриптов. ''(в стадии разработки)''
* Статистика количества пользователей ваших скриптов ''(в стадии разработки)''.
* Рейтинги скриптов и авторов ''(в стадии разработки)''
* Рейтинги скриптов и авторов ''(в стадии разработки)''.


== Особенности JS кода ==
== Особенности JS кода ==
Строка 14: Строка 13:
Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов:
Основные отличия в оформлении скриптов для GanjaScripts от обычных пользовательских скриптов:
* Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа.
* Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа.
* При сохранении скрипта используйте кодировку ANSI, а не UTF-8
* При сохранении скрипта используйте кодировку ANSI, а не UTF-8.
* В функцию-точку входа может передаваться один параметр с настройками скрипта. Но об этом ниже.
* В функцию-точку входа может передаваться один параметр с настройками скрипта. Но об этом ниже.
* Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать — он не будет запрошен.
* Не добавляйте проверку адреса странички. Если на странице, которую открыл пользователь ваш скрипт не должен работать — он не будет запрошен.
Строка 21: Строка 20:


Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и гарантированного добавления скрипта, он должен соблюдать такие правила:
Чтобы гарантировать игрокам безопасность, перед добавлением в каталог все скрипты проверяются модераторами скриптов. Для безболезненной проверки и гарантированного добавления скрипта, он должен соблюдать такие правила:
* Скрипт не должен нарушать текущие [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>.
* Скрипт не должен нарушать текущие [[ПИ|Правила игры]], в особенности касающийся [[ПИ#3.3.|пункта 3.3. Использования автоматических скриптов]]. Если вы не уверены — проконсультируйтесь с представителями синдиката <synd>1321 GW - Полиция</synd>.
* Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения пользователя).
* Скрипт не должен вредить его пользователям (продавать вещи,выполнять рассылку писем, переводить деньги и другое без подтверждения пользователя).
* С целью обезопасить пользователей от вредоносного кода старайтесь минимально использовать подключение скриптов или других данных со сторонних сайтов. Если есть необходимость — пишите <nick>Bick</nick> и картинки/широко используемые js библиотеки будут размещены на сайте GanjaWiki (их список внизу этой страницы).
* С целью обезопасить пользователей от вредоносного кода старайтесь минимально использовать подключение скриптов или других данных со сторонних сайтов. Наиболее используемые js библиотеки будут размещены в [[Скрипт#Список скриптов|списке скриптов]].
* Описания, названия скриптов не должны содержать нецензурные выражения.
* Описания, названия скриптов не должны содержать нецензурные выражения.
* Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта.
* Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта.
Строка 30: Строка 29:
== Добавление скриптов в каталог ==
== Добавление скриптов в каталог ==


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


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


Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить скрипт'''. Перед вами появятся 4 поля для заполнения.
Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите «Добавить скрипт». Перед вами появятся 4 поля для заполнения.
* '''Название''' — Название скрипта в котологе. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
* '''Название''' — Название скрипта в каталоге. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
* '''Короткое описание''' — Описание которое будет видно в каталоге. Длина не должна превышать 90 символов,не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
* '''Короткое описание''' — Описание которое будет видно в каталоге. Длина не должна превышать 90 символов, не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
* '''Описание''' — Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов,не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
* '''Описание''' — Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов, не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
* '''Статья в Вики''' — Название статьи в GanjaWiki, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем.
* '''Статья в ГВики''' — Название статьи в Ганджавики, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем.


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


Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить версию'''. Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить:
Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите «Добавить версию». Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить:
* '''Название версии''' — Например — ''1.00'' или ''0.9 Beta''. Длина до 10 символов. Вы не сможете изменить это поле в будущем.
* '''Название версии''' — Например — ''1.00'' или ''0.9 Beta''. Длина до 10 символов. Вы не сможете изменить это поле в будущем.
* '''Файл настроек''' — html-файл для настройки скрипта. Про него читайте ниже. Не обязательно указывать. Вы не сможете изменить это поле в будущем.
* '''Файл настроек''' — html-файл для настройки скрипта. Про него читайте ниже. Не обязательно указывать. Вы не сможете изменить это поле в будущем.
* ''Файл скрипта'' — js-файл с кодом скрипта. Его вы тоже не сможете изменить. Обязательно для заполнения.
* ''Файл скрипта'' — js-файл с кодом скрипта. Его вы тоже не сможете изменить. Обязательно для заполнения.
* ''Работает на'' — Маска адресов страниц, на которых будет работать скрипт. Строка ''http://www.ganjawars.ru/info.php*'' означает что скрипт выполняется только на страничках информации персонажа. Обязательно для заполнения. Не забывайте указывать префикс ''http://www''. Невозможно изменить в будущем.
* ''Работает на'' — Маска адресов страниц, на которых будет работать скрипт. Строка ''<nowiki>https://www.gwars.io/info.php*</nowiki>'' означает что скрипт выполняется только на страничках информации персонажа. Обязательно для заполнения. Не забывайте указывать префикс ''<nowiki>http://www</nowiki>''. Невозможно изменить в будущем.
* '''Название класа''' — Название функции-точки входа в скрипт. Обязательно для заполнения.
* '''Название класса''' — Название функции-точки входа в скрипт. Обязательно для заполнения.
* '''Функции''' — Список функций данной версии, разделённых '';''. Не обязательно заполнять, можно изменить в будущем.
* '''Функции''' — Список функций данной версии, разделённых '';''. Не обязательно заполнять, можно изменить в будущем.


Строка 59: Строка 58:


На страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] вы увидите список всех ваших скриптов. Нажав на название скрипта вы можете:
На страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] вы увидите список всех ваших скриптов. Нажав на название скрипта вы можете:
* Отредактировать информацию о нём
* Отредактировать информацию о нём.
* Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях).
* Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях).
* Просмотреть полный список версий этого скрипта с их статусами и комментариями проверившего скрипт.
* Просмотреть полный список версий этого скрипта с их статусами и комментариями проверившего скрипт.


Нажав в списке версий на какую-то из них вы попадёте на страницу редактирования версии, на которой можно
Нажав в списке версий на какую-то из них вы попадёте на страницу редактирования версии, на которой можно
* Изменить список функций
* Изменить список функций.
* Полностью удалить версию из базы данных (будет отключена у всех пользователей).
* Полностью удалить версию из базы данных (будет отключена у всех пользователей).


Строка 89: Строка 88:
<nowiki>}</nowiki>
<nowiki>}</nowiki>


При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие — повторите форму из [http://www.ganjawars.ru/info.edit.php Личных настроек] ГВ с возможностью прослушивания выбранного звука.
При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие — повторите форму из [https://www.gwars.io/info.edit.php Личных настроек] ГВ с возможностью прослушивания выбранного звука.


Если вам надо как-то обрабатывать введённые пользователем данные прямо на страничке настроек — форма ввода настроек имеет ''name=settingsform''.
Если вам надо как-то обрабатывать введённые пользователем данные прямо на страничке настроек — форма ввода настроек имеет ''name=settingsform''.
Строка 105: Строка 104:
'''Send2ICQ ( UIN , MESSAGE );'''
'''Send2ICQ ( UIN , MESSAGE );'''


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


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


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