[Мануал] Авто анонсы на Python - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 12.11.2008, 07:57   #1
Аватар для PROGRAMMATOR
Администратор

Автор темы (Топик Стартер) [Мануал] Авто анонсы на Python

Авто анонсы на Python

Будем создавать авто анонс ваших сообщений на Python. Конечно, это баян, но пусть новички учатся.

Что нам понадобится, для выполнения этого "урока":

1. Notepad++ (У меня он на все случаи жизни) качаем - http://notepad-plus.sourceforge.net/
2. Ява эмулятор L2jServer (Хотя подойдет и другой, если вы включите мозг) качаем - http://zone-game.info/la2/java/
3. Собственно ваш мозг и немного желания


И так, приступим. Создайте каталог announce в директории \gameserver\data\scripts\ и поместите в него файл auto_announce.py который вы можете создать с помощью Notepad++ или любого другого редактора. После этого, пишем в файле auto_announce.py следующие строки:

 
import sys
from net.sf.l2j.gameserver import Announcements
from net.sf.l2j.gameserver import ThreadPoolManager
from java.lang import Runnable
 
print "Auto Announce running."
 
# Ставим интервал в минутах.
INTERVAL = 10
 
# Наше сообщение
ANNOUNCE="I Love You www.zone-game.info"
 
class myTask( Runnable ): 
    def __init__( self ): 
        self.name = "autoAnnouncer" 
    def run( self ): 
        Announcements.getInstance().announceToAll(ANNOUNCE)
 
startInstance = myTask() 
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(startInstance,INTERVAL*60000,INTERVAL*60000)[/code]
Комментариями (#) я подчеркнул то, что вам нужно изменить под свои нужды. Как отредактируете, сохраните файл и пропишите его в загрузку. Для этого открываем файл [U]scripts.cfg[/U] находящийся в [U]\gameserver\data[/U] нашим текстовым редактором и в самом конце, пишем следующее:
 
[code]
# Announce
announce/auto_announce.py
[/code]
Все, теперь можете перезапускать\запускать сервер и тестировать.
 
[IMG]http://img.zone-game.info/pic_b/456ab69d44625f2227cad4f9a78e6ddf.jpg[/IMG]
 
Хочу добавить еще пару строк для понимания. Многие захотят создать еще пару строк и пойдут вопросы, "а как". Для этого нужно изменить и дописать в скрипт пару строк:
 
[code]
# Наше сообщение
ANNOUNCE_1="I Love You www.zone-game.info"
ANNOUNCE_2="Вторая строка"
ANNOUNCE_3="Третья строка"
ANNOUNCE_4="Четвертая строка"
Code: Python
И конечно вывод сообщений:

 
    def run( self ): 
        Announcements.getInstance().announceToAll(ANNOUNCE_1)
        Announcements.getInstance().announceToAll(ANNOUNCE_2)
        Announcements.getInstance().announceToAll(ANNOUNCE_3)
        Announcements.getInstance().announceToAll(ANNOUNCE_4)
Code: Python
На этом все, надеюсь вам пригодится данный мануал.
__________________
composer require laravel/framework
yarn add vue

Последний раз редактировалось Casper; 11.01.2012 в 20:58.
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 12.11.2008, 08:58   #2
Пользователь

По умолчанию Ответ: [Мануал] Авто анонсы на Python

если много лучше циклом =)

Код:
import sys
from net.sf.l2j.gameserver import Announcements
from net.sf.l2j.gameserver import ThreadPoolManager
from java.lang import Runnable

print "Auto Announce running."

# Ставим интервал в минутах.
INTERVAL = 10

# Наше сообщение
ANNOUNCEMENTS= ["announce #1", \
                "announce #2", \
                "announce #3"  ]

class myTask( Runnable ): 
    def __init__( self ): 
        self.name = "autoAnnouncer" 
    def run( self ):
        for ann  in ANNOUNCEMENTS:
            Announcements.getInstance().announceToAll(ann )

startInstance = myTask() 
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(startInstance,INTERVAL*60000,INTERVAL*60000)
В дополнение к этому - можно писать на питоне свои VoicedCommand UserCommand SkillHandler и т.д. путем реализации соответствующих интерфейсов и регистрации в нужном месте.
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Aquanox вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 12.11.2008, 09:24   #3
Аватар для PROGRAMMATOR
Администратор

Автор темы (Топик Стартер) Ответ: [Мануал] Авто анонсы на Python

Отличное дополнение, спасибо.

ps: Честно, я знал что первый пост будет именно от вас
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 19.06.2009, 11:11   #4
Пользователь

По умолчанию Ответ: [Мануал] Авто анонсы на Python

Русский возможно сделать в Announce?
ElectroMySty вне форума Ответить с цитированием
Непрочитано 23.07.2009, 19:30   #5
Пользователь

По умолчанию Ответ: [Мануал] Авто анонсы на Python

PROGRAMMATOR Благодарю за мануал.
Aquanox Благодарю за дополнение.
DrsDragon вне форума Ответить с цитированием
Непрочитано 26.07.2009, 15:38   #6
Аватар для Aargon
Пользователь

По умолчанию Ответ: [Мануал] Авто анонсы на Python

вы мне очень помогли но насколько я зная ингейм тоже можно сделать это
если не ощибаюсь команда //announce_menu на русском тоже можно сделать
Aargon вне форума Ответить с цитированием
Непрочитано 26.07.2009, 19:02   #7
Аватар для PROGRAMMATOR
Администратор

Автор темы (Топик Стартер) Ответ: [Мануал] Авто анонсы на Python

Дату статьи прочитайте, а потом посмотрите в истории Java серверов, наличие этой команды.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 10.03.2010, 11:27   #8
Аватар для Astend
Пользователь

По умолчанию Re: [Мануал] Авто анонсы на Python

Оо спасибки интересная инфа...
Astend вне форума Ответить с цитированием
Непрочитано 25.06.2010, 23:07   #9
Аватар для MROBAR
Постоялец

По умолчанию Re: [Мануал] Авто анонсы на Python

если у тебя серв-прога , то в ней есть настройка ... la2offline ... там есть такая функция ...
MROBAR вне форума Ответить с цитированием
Непрочитано 26.06.2010, 01:49   #10
Аватар для Devilop
Герой

По умолчанию Re: [Мануал] Авто анонсы на Python

la2offline это Java а тут разговор про питон
не путай
__________________
ЛЮДИ ВКЛЮЧИТЕ ВАШИ МОЗГИ
а то китайцы уже андроидов в телефоны пихают
Nokia N810

Devilop вне форума Отправить сообщение для Devilop с помощью ICQ Отправить сообщение для Devilop с помощью Skype™ Ответить с цитированием
Ответ

Метки
auto announce, уроки python


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:19. Часовой пояс GMT +3.

Вверх