[help] Скрипт для автоанонсов на русском
Писал маленький скриптик на автоанонс каждые Н количество минут
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 = 15
ANNOUNCE="Бла бла бла бла бла"
class myTask( Runnable ):
def __init__( self ):
self.name = "autoAnnouncer"
def run( self ):
Announcements.getInstance().announceToAll(ANNOUNCE)
startInstance = myTask()
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(startInstance,INTERVA
L*60000,INTERVAL*60000)
но дело в том что он принемает только английский язык( если написать на русском и сохранить с кодировкой УТФ8 то скрипт просто не принемает(
Как сделать чтоб на русском принемало аннонс?
читай пост внимательно !!! я написал вверху ...
если написать на русском и сохранить с кодировкой УТФ8 то скрипт просто не принемает(
Если у тебя сборка ла2бейс, то ничго у тебяне получится... Ибо у ла2бейс сборок нт поддержки русского языка в квестах!..
— 48
На яву это все дело перепиши. типо как в папке \Data\scripts\ai\group_template...
Я у себя отредактировал Monastery.java, итеперь мобы в монастыре кричат:
Вот с грции эвент автоанонсы:
import l2p.extensions.scripts.Functions;
import l2p.extensions.scripts.ScriptFile;
import l2p.gameserver.Announcements;
import l2p.gameserver.instancemanager.ServerVariables;
import l2p.gameserver.model.L2Player;
import l2p.util.Files;
public class Announcer extends Functions implements ScriptFile
{
private static boolean _active = false;
private static String[][] text = { { "Test announce 1", "120000" }, { "Test anounce 2", "60000" } };
private static boolean isActive()
{
return ServerVariables.getString("event_Announcer", "off").equalsIgnoreCase("on");
}
public void startEvent()
{
L2Player player = (L2Player) getSelf();
if(!player.getPlayerAccess().IsEventGm)
return;
if(!isActive())
{
ServerVariables.set("event_Announcer", "on");
announce_run();
System.out.println("Event: AutoAnnouncer started.");
}
else
player.sendMessage("Event 'AutoAnnouncer' already started.");
_active = true;
show(Files.read("data/html/admin/events.htm", player), player);
}
public void stopEvent()
{
L2Player player = (L2Player) getSelf();
if(!player.getPlayerAccess().IsEventGm)
return;
if(isActive())
{
ServerVariables.unset("event_Announcer");
System.out.println("Event: AutoAnnouncer stopped.");
}
else
player.sendMessage("Event 'AutoAnnouncer' not started.");
_active = false;
show(Files.read("data/html/admin/events.htm", player), player);
}
public static void announce_run()
{
if(_active)
for(String[] element : text)
executeTask("events.AutoAnnouncer.Announcer", "announce", new Object[] { element[0], Integer.valueOf(element[1]) }, Integer.valueOf(element[1]));
}
public static void announce(String text, Integer inter)
{
if(_active)
{
Announcements.getInstance().announceToAll(text);
executeTask("events.AutoAnnouncer.Announcer", "announce", new Object[] { text, inter }, inter);
}
}
public void onLoad()
{
if(isActive())
{
_active = true;
announce_run();
System.out.println("Loaded Event: AutoAnnouncer [state: activated]");
}
else
System.out.println("Loaded Event: AutoAnnouncer [state: deactivated]");
}
public void onReload()
{}
public void onShutdown()
{}
}
Разбирайся


