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

нет описания правки
Yuretski>Bick
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
Если вы не нашли в этом материале нужную информацию, но сами докопались до истины - добавьте информацию для других разработчиков. Если не получилось разобратся - пишите <nick>Bick</nick>
Если вы не нашли в этом материале нужную информацию, но сами докопались до истины добавьте информацию для других разработчиков. Если не получилось разобраться — пишите <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 использования автоматических скриптов]. Если вы не уверены - проконсультируйтесь с представителями синдиката <synd>1321 GW - Полиция</synd>.
*Скрипт не должен нарушать текущие [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 (их список внизу этой страницы).
*С целью обезопасить пользователей от вредоносного кода старайтесь минимально использовать подключение скриптов или других данных со сторонних сайтов. Если есть необходимость пишите <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 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
*'''Название''' Название скрипта в котологе. Длина не должна превышать 50 символов, название должно быть уникальным и не содержать служебных конструкций языков программирования. Допускаются названия на русском языке. Обязательно для заполнения.
*'''Короткое описание''' - Описание которое будет видно в каталоге. Длина не должна превышать 90 символов,не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
*'''Короткое описание''' Описание которое будет видно в каталоге. Длина не должна превышать 90 символов,не должно содержать служебных конструкций языков программирования. Обязательно для заполнения. Вы сможете изменить это поле в будущем.
*'''Описание''' - Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов,не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
*'''Описание''' Полное описание, которое будет видно на страничке информации скрипта. Длина не должна превышать 600 символов,не должно содержать служебных конструкций языков программирования. Вы сможете изменить это поле в будущем.
*'''Статья в Вики''' - Название статьи в GanjaWiki, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем.
*'''Статья в Вики''' Название статьи в GanjaWiki, посвященной этому скрипту. Не обязательно, но крайне желательно для заполнения. ''Внимание: не указывайте адрес. Только название''. Вы сможете изменить это поле в будущем.


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


Зайдите на страничку [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''. Невозможно изменить в будущем.
*''Работает на'' Маска адресов страниц, на которых будет работать скрипт. Строка ''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 будет выглядеть так:
Где-то выше упоминалось о том, что в функцию-точку входа может быть передан один параметр настройки скрипта. Этот параметр представляет из себя объект, свойства которого переменные из файла настроек. Для примера файла настроек выше будет создан такой и передан в скрипт объект со свойствами ''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 Личных настроек] ГВ с возможностью прослушивания выбраного звука.
При создании файла настроек старайтесь сделать его максимально удобным для пользователя. Например если пользователь должен выбрать звук на какое-то событие повторите форму из [http://www.ganjawars.ru/info.edit.php Личных настроек] ГВ с возможностью прослушивания выбранного звука.


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


== Отладка скрипта перед добавлением в каталог ==
== Отладка скрипта перед добавлением в каталог ==
Строка 96: Строка 96:
'''Send2ICQ ( UIN , MESSAGE );'''
'''Send2ICQ ( UIN , MESSAGE );'''


Где UIN - номер ICQ на который отправлять сообщений, MESSAGE - текст сообщения ('''без исопльзования кириллицы''', в ближайшее время это условие уберём).
Где 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.prototypejs.org/assets/2007/1/18/prototype.js http://www.prototypejs.org/assets/2007/1/18/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]]
[[Категория:Скрипты]]
[[Категория:Скрипты]]