Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Анонс при PvP и Pk для L2jServer (https://forum.zone-game.info/showthread.php?t=3191)

SpeedFaer 08.03.2009 22:54

Анонс при PvP и Pk для L2jServer
 
Файл: L2jServer\L2_GameServer\java\net\sf\l2j\Config.jav a

Ищем:

Код:

public static boolean        L2JMOD_CHAMPION_ENABLE;
И перед этим добавляем:

Код:

    public static boolean  L2JMOD_SHOW_PVP;
    public static boolean  L2JMOD_SHOW_PK;
    public static String    L2JMOD_PK_KILL_YOU;
    public static String    L2JMOD_YOU_KILL_PK;
    public static String    L2JMOD_YOU_KILL_AND_STATE_PK;
    public static String    L2JMOD_PVP_KILL;

Ищём:
Код:

L2JMOD_CHAMPION_ENABLE                      = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionEnable", "false"));
И перед этим добавляем:
Код:

                    L2JMOD_SHOW_PVP                = Boolean.parseBoolean(L2JModSettings.getProperty("ShowPvp", "false"));
                    L2JMOD_SHOW_PK                  = Boolean.parseBoolean(L2JModSettings.getProperty("ShowPk", "false"));
                    L2JMOD_PK_KILL_YOU              = L2JModSettings.getProperty("PkKillYou", "kill");
                    L2JMOD_YOU_KILL_PK              = L2JModSettings.getProperty("YouKillPk", "kill");
                    L2JMOD_YOU_KILL_AND_STATE_PK    = L2JModSettings.getProperty("YouKillPkAndStatePk", "kill");
                    L2JMOD_PVP_KILL                = L2JModSettings.getProperty("PvpKill", "kill");

Сохраняем файл.

Файл: L2jServer\L2_GameServer\java\net\sf\l2j\gameserver \model\actor\instance\L2PcInstance.java

Идём на 5026 строку.

Так выглядит:
Код:

                                        else
                                        {
                                                if (!(isInsideZone(ZONE_PVP) && !isInsideZone(ZONE_SIEGE)) || pk == null)
                                                        onDieUpdateKarma(); // Update karma if delevel is not allowed
                                        }
                                }
                        }
                            #+++++ Сюда добавляем +++++#
                }
               
                // Untransforms character.
                if (isTransformed())
                        untransform();

Добавляем это:
Код:

            if (pk != null) {
                if (getName() != pk.getName() && pk.getAccessLevel().isGm() != true && getAccessLevel().isGm() != true) {
                    String announcetext = "";
                    if (Config.L2JMOD_SHOW_PK && getPvpFlag() == 0) {
                          if (pk.getKarma() > 0) {
                              announcetext = pk.getName() + " " + Config.L2JMOD_PK_KILL_YOU + " " + getName() + "!";
                          } else if (getKarma() > 0) {
                              announcetext = pk.getName() + " " + Config.L2JMOD_YOU_KILL_PK + " " + getName() + "!";
                          } else {
                              announcetext = pk.getName() + " " + Config.L2JMOD_YOU_KILL_AND_STATE_PK + " " + getName() + "!";
                          }
                    } else if (Config.L2JMOD_SHOW_PVP) {
                          announcetext = pk.getName() + " " + Config.L2JMOD_PVP_KILL + " " + getName() + "!";
                    }
                Announcements.getInstance().announceToAll(announcetext);
                }
            }

Сохраняем файл.

Теперь в конфигах в файл l2jmods.properties добавляем это:

Код:

# Показывать PvP
ShowPvp = True
# Показывать Pk
ShowPk = True
# Что показывать между никами, если Pk убивает кого-то
PkKillYou = \u0433\u043E\u043F\u043D\u0443\u043B(\u0430)
# Если кто-то убивает Pk
YouKillPk = \u043F\u043E\u043A\u0430\u0437\u0430\u043B(\u0430) \u0440\u043E\u0437\u043E\u0432\u043E\u0433\u043E \u0441\u043B\u043E\u043D\u0438\u043A\u0430
# Если убивает и становится пк
YouKillPkAndStatePk = \u0433\u043E\u043F\u043D\u0443\u043B(\u0430)
# При обычном пвп
PvpKill = \u043F\u043E\u0431\u0435\u0434\u0438\u043B(\u0430)

Сохраняем файл.

Если один из игроков ГМ, то обьявления не будет.

Не пугаемся этих "\uxxxx" строк в конфигах, это кодировка UTF, тоесть будет писать по русскому. Можете заменить на своё.

Kcapgac 10.03.2009 14:45

Ответ: Анонс при PvP и Pk для L2jServer
 
Это все конечно хорошо, но хотелось бы узнать как это все далать в сборках L2_Emu. Ответьте плз если кто-нить знает :)

DarkLoki 10.03.2009 16:03

Ответ: Анонс при PvP и Pk для L2jServer
 
Точно так же в соответствующие файлы, только конфиги в другой файлик положить. В случае чего, следуя ошибкам компиляции сгладить неровности.

saduga 23.03.2009 19:35

Ответ: Анонс при PvP и Pk для L2jServer
 
Интересно было быузнать как реализовать такую вещь, что к примеру убивают гуарда в гиран кастл и он пишет что был убит гуард в гиран кастл. Если кто знает помогите плиз.

Tram 29.03.2009 20:51

Ответ: Анонс при PvP и Pk для L2jServer
 
как я понел это кодировка UTF как например мне саставить другие слова у каво словарик есть) ну типа буква (Пример- А это \u0433 )???
И как бы мадифицировать Этот скрипт например
игрок А кбил игрока Б в пвп написалось одно
а когда игрока А ибил игрока Б и В подрят написалось Другое
а какгда А убил Б В Г то другое как это сделать ???
Каму нужно под л2Ему магу выложить спрашивайте переделал все пашет Норм)

PROGRAMMATOR 30.03.2009 03:43

Ответ: Анонс при PvP и Pk для L2jServer
 
Цитата:

Сообщение от Tram (Сообщение 30041)
как я понел это кодировка UTF

Неужели?
Цитата:

Сообщение от SpeedFaer (Сообщение 29135)
это кодировка UTF

Можно написать свой конвертер, можно найти на форуме я выкладывал программу и можно использовать онлайновую версию UTF Converter.

Цитата:

Привет Зона!
Цитата:

\u041F \u0440 \u0438 \u0432 \u0435 \u0442 \u0020 \u0417 \u043E \u043D \u0430 \u0021

Tram 30.03.2009 07:33

Ответ: Анонс при PvP и Pk для L2jServer
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 30067)
Неужели?


Можно написать свой конвертер, можно найти на форуме я выкладывал программу и можно использовать онлайновую версию UTF Converter.

Спс биг помголо очень!

Добавлено через 52 минуты
Помогите даработать вот хачю чтобы было типа Когда игрок А убил Б и В подрят выписался анонс и так адали когда А убил Б и В и Г подярд если кто друго Убил Игрока Г или Б то сбиватеся и начинается все заного
Это под L2Emu Config.java
PHP код:

//=====================================================================================
    
public static final String    PVPANNOUNCE_FILE    "./config/mods/pvpannounce.properties";
//=====================================================================================
    
public static boolean       PVPANNOUNCE_SHOW_PVP//Показывать PvP
    
public static boolean       PVPANNOUNCE_SHOW_PK//Показывать Pk
    
public static String        PVPANNOUNCE_PK_KILL_YOU//Что показывать между никами, если Pk убивает кого-то
    
public static String        PVPANNOUNCE_YOU_KILL_PK//Если кто-то убивает Pk
    
public static String        PVPANNOUNCE_YOU_KILL_AND_STATE_PK//Если убивает и становится пк
    
public static String        PVPANNOUNCE_PVP_KILL//При обычном пвп Игрок А убил игрока Б
    
public static String        PVPANNOUNCE_PVP_KILL2//При пвп если игрок А убил игрока Б и В
    
public static String        PVPANNOUNCE_PVP_KILL3//При пвп если игрок А убил игрока Б и В и Г
    
    
public static void loadPvpAnnounceConfig()
    {
        
System.out.println("Loading: " PVPANNOUNCE_FILE);
        try
        {
            
Properties PvpAnnounceSettings = new L2Properties("./" PVPANNOUNCE_FILE);            
            
PVPANNOUNCE_SHOW_PVP                 Boolean.parseBoolean(PvpAnnounceSettings.getProperty("ShowPvp""false"));
            
PVPANNOUNCE_SHOW_PK                  Boolean.parseBoolean(PvpAnnounceSettings.getProperty("ShowPk""false"));
            
PVPANNOUNCE_PK_KILL_YOU              PvpAnnounceSettings.getProperty("PkKillYou""kill");
            
PVPANNOUNCE_YOU_KILL_PK              PvpAnnounceSettings.getProperty("YouKillPk""kill");
            
PVPANNOUNCE_YOU_KILL_AND_STATE_PK    PvpAnnounceSettings.getProperty("YouKillPkAndStatePk""kill");
            
PVPANNOUNCE_PVP_KILL                 PvpAnnounceSettings.getProperty("PvpKill""kill");
            
PVPANNOUNCE_PVP_KILL2                 PvpAnnounceSettings.getProperty("PvpKill2""kill");
            
PVPANNOUNCE_PVP_KILL3                 PvpAnnounceSettings.getProperty("PvpKill3""kill");
        }
        catch (
Exception e)
        {
            
_log.error(e.getMessage(), e);
            throw new 
Error("Failed to Load " PVPANNOUNCE_FILE " File.");

        }
    } 

pvpannounce.properties
PHP код:

# Показывать PvP
ShowPvp True
# Показывать Pk
ShowPk True
# Что показывать между никами, если Pk убивает кого-то
PkKillYou = \u0433\u043E\u043F\u043D\u0443\u043B(\u0430)
# Если кто-то убивает Pk
YouKillPk = \u043F\u043E\u043A\u0430\u0437\u0430\u043B(\u0430) \u0440\u043E\u0437\u043E\u0432\u043E\u0433\u043E \u0441\u043B\u043E\u043D\u0438\u043A\u0430
# Если убивает и становится пк
YouKillPkAndStatePk = \u0433\u043E\u043F\u043D\u0443\u043B(\u0430)
# При обычном пвп
PvpKill = \u043F\u043E\u0431\u0435\u0434\u0438\u043B(\u0430)
#
PvpKill2 = \u043F\u043E\u0431\u0435\u0434\u0438\u043B(\u0430)
#
PvpKill3 = \u043F\u043E\u0431\u0435\u0434\u0438\u043B(\u0430

а вот L2PcInstance.java Вызволо проблемы помогите даработать
PHP код:

                {
                if (
pk != null
                    {    
                if (
getName() != pk.getName() && pk.getAccessLevel().isGm() != true && getAccessLevel().isGm() != true
                        {
                        
String announcetext "";
                        if (
Config.PVPANNOUNCE_SHOW_PK && getPvpFlag() == 0) {
                            if (
pk.getKarma() > 0) {
                                
announcetext pk.getName() + " " Config.PVPANNOUNCE_PK_KILL_YOU " " getName() + "!";
                            } else if (
getKarma() > 0) { 
                                
announcetext pk.getName() + " " Config.PVPANNOUNCE_YOU_KILL_PK " " getName() + "!";
                            } else { 
                                
announcetext pk.getName() + " " Config.PVPANNOUNCE_YOU_KILL_AND_STATE_PK " " getName() + "!";
                            }
                            } else if (
Config.PVPANNOUNCE_SHOW_PVP) {
                            
announcetext pk.getName() + " " Config.PVPANNOUNCE_PVP_KILL " " getName() + "!";
                            }
                            
Announcements.getInstance().announceToAll(announcetext);
                        }
                    }
                } 

))))) ну как вам?!Разберемся в месте!

PROGRAMMATOR 31.03.2009 03:27

Ответ: Анонс при PvP и Pk для L2jServer
 
Вложений: 1
А что же вы попытались сделать? Я вижу только добавление пару строк в конфигурацию и все. Так помогать никто не будет, нужно хоть что-то набросать, что бы видно было, что пытались реализовать, а не просто попрошайничать.

Может пригодится, написал Converter to Unicode.
http://img.zone-game.info/thumb-F481_49D15F23.jpg

Tram 31.03.2009 07:33

Ответ: Анонс при PvP и Pk для L2jServer
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 30159)
А что же вы попытались сделать? Я вижу только добавление пару строк в конфигурацию и все. Так помогать никто не будет, нужно хоть что-то набросать, что бы видно было, что пытались реализовать, а не просто попрошайничать.

Может пригодится, написал Converter to Unicode.
http://img.zone-game.info/thumb-F481_49D15F23.jpg

Вот имено тошто соброзил то и сделал а вот с этим(проблема!

Tram 03.04.2009 20:42

Ответ: Анонс при PvP и Pk для L2jServer
 
PHP код:

  
                if (
pk != null)  
                    {     
                if (
getName() != pk.getName() && pk.getAccessLevel().isGm() != true && getAccessLevel().isGm() != true)  
                        { 
                        
String announcetext ""
                        if (
Config.PVPANNOUNCE_SHOW_PK && getPvpFlag() == 0) { 
                            if (
pk.getKarma() > 0) { 
                                
announcetext pk.getName() + " " Config.PVPANNOUNCE_PK_KILL_YOU " " getName() + "!"
                            } else if (
getKarma() > 0) {  
                                
announcetext pk.getName() + " " Config.PVPANNOUNCE_YOU_KILL_PK " " getName() + "!"
                            } else {  
                                
announcetext pk.getName() + " " Config.PVPANNOUNCE_YOU_KILL_AND_STATE_PK " " getName() + "!"
                            } 
                            } else if (
Config.PVPANNOUNCE_SHOW_PVP) { 
                            
announcetext pk.getName() + " " Config.PVPANNOUNCE_PVP_KILL " " getName() + "!"
                            } 
                            
Announcements.getInstance().announceToAll(announcetext); 
                        } 
                    } 
                } 

насчет Этока не кто не знает как реализовать про убийство игрока вот кстате есче есть вапросик
куда примкнуть кусок этого кода чтобы при убийстве игрока васпроизвелся звук
PHP код:

st.playSound("ItemSound.quest_tutorial"

вот есче кусочек)
PHP код:

st player.getQuestState(qn



Текущее время: 05:04. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot