Скрипт — разработчикам: различия между версиями
нет описания правки
Yuretski>Bick Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
Если вы не нашли в этом материале нужную информацию, но сами докопались до истины | Если вы не нашли в этом материале нужную информацию, но сами докопались до истины — добавьте информацию для других разработчиков. Если не получилось разобраться — пишите <nick>Bick</nick> | ||
== Особенности JS кода == | == Особенности JS кода == | ||
Строка 6: | Строка 6: | ||
*Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа. | *Весь скрипт должен быть оформлен внутри одной функции, которая будет точкой входа. | ||
*При сохранении скрипта используйте кодировку ANSI, а не UTF-8 | *При сохранении скрипта используйте кодировку 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 использования автоматических скриптов]. Если вы не уверены | *Скрипт не должен нарушать текущие [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 (их список внизу этой страницы). | ||
*Описания, названия скриптов не должны содержать нецензурные выражения. | *Описания, названия скриптов не должны содержать нецензурные выражения. | ||
*Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта. | *Скрипт не должен передавать информацию о пользователе на сторонние ресурсы без упоминания об этом в описании скрипта. | ||
Строка 21: | Строка 21: | ||
== Добавление скриптов в каталог == | == Добавление скриптов в каталог == | ||
В GanjaScripts существует 2 понятия | В GanjaScripts существует 2 понятия — '''Скрипт''' и '''Версия'''. Однажды добавив скрипт, вы можете добавлять к нему новые версии. | ||
=== Добавление скрипта === | === Добавление скрипта === | ||
Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить скрипт'''. Перед вами появятся 4 поля для заполнения. | Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить скрипт'''. Перед вами появятся 4 поля для заполнения. | ||
*'''Название''' | *'''Название''' — Название скрипта в котологе. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения. | ||
*'''Короткое описание''' | *'''Короткое описание''' — Описание которое будет видно в каталоге. Длина не должна превышать 90 символов,не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем. | ||
*'''Описание''' | *'''Описание''' — Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов,не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем. | ||
*'''Статья в Вики''' | *'''Статья в Вики''' — Название статьи в GanjaWiki, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем. | ||
Добавив скрипт, вы сразу окажетесь на страничке добавления версии. | Добавив скрипт, вы сразу окажетесь на страничке добавления версии. | ||
Строка 36: | Строка 36: | ||
Зайдите на страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] и нажмите '''Добавить версию'''. Выберите скрипт, версию которого вы собираетесь добавлять. Теперь вам надо заполнить: | Зайдите на страничку [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 Авторам] вы | На страничку [http://www.ganjawiki.ru/scripts/author.php Авторам] вы увидите список всех ваших скриптов. Нажав на название скрипта вы можете: | ||
*Отредактировать информацию о нём | *Отредактировать информацию о нём | ||
*Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях). | *Выключить или включить скрипт (при выключении, скрипт перестанет работать у всех пользователей, которые его используют, так что используйте эту возможность только в крайних случаях). | ||
Строка 72: | Строка 72: | ||
=== Получение настроек скриптом === | === Получение настроек скриптом === | ||
Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр | Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр — настройки скрипта. Этот параметр представляет из себя объект, свойства которого — переменные из файла настроек. Для примера файла настроек выше будет создан такой и передан в скрипт объект со свойствами ''object.var1'' и ''object.testvar2'', а скрипт который будет принимать эти значения и выводить их alertom будет выглядеть так: | ||
<nowiki>function EnterFunctionName(dat){</nowiki> | <nowiki>function EnterFunctionName(dat){</nowiki> | ||
Строка 80: | Строка 80: | ||
<nowiki>}</nowiki> | <nowiki>}</nowiki> | ||
При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие | При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие — повторите форму из [http://www.ganjawars.ru/info.edit.php Личных настроек] ГВ с возможностью прослушивания выбранного звука. | ||
Если вам надо как-то обрабатывать | Если вам надо как-то обрабатывать введённые пользователем данные прямо на страничке настроек — форма ввода настроек имеет ''name=settingsform''. | ||
== Отладка скрипта перед добавлением в каталог == | == Отладка скрипта перед добавлением в каталог == | ||
Строка 96: | Строка 96: | ||
'''Send2ICQ ( UIN , MESSAGE );''' | '''Send2ICQ ( UIN , MESSAGE );''' | ||
Где UIN | Где UIN — номер ICQ на который отправлять сообщений, MESSAGE — текст сообщения ('''без использования кириллицы''', в ближайшее время это условие уберём). | ||
Сообщение дойдёт пользователю через 0-15 секунд (100% не более чем через 15). | Сообщение дойдёт пользователю через 0-15 секунд (100 % не более, чем через 15). | ||
''Не пытайтесь использовать эту возможность в сторонних скриптах используя интерфейс GanjaScripts, и не используйте для рассылок. Мы ведём подробные протоколы | ''Не пытайтесь использовать эту возможность в сторонних скриптах используя интерфейс 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]] | ||
[[Категория:GanjaScripts]] | [[Категория:GanjaScripts]] | ||
[[Категория:Скрипты]] | [[Категория:Скрипты]] |