Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 19.10.2009, 18:23   #1
Аватар для _NEO_PK
Пользователь

Автор темы (Топик Стартер) Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

Свеженькая соборчка от команды разработчиков серверов Lineage II L2Open. Она является дополнением к 3.0.Что нового:
- фикс волка до 24 ур. по оффу;
- фикс волка до 25 уровня по оффу;
- фикс дюпа;
- немного перевода папки default;
- полный синх заточки скилов с CT2.2;
- доработка комьюнити;
- добавлен HB_Door скрипт;

Скачать
__________________

Получил шару - нажми СПАСИБО
А ищо я прашу банеть мобаф, ато они тоже убивают и я становлюсь расстроенным.
И исчо зобаньти Онтароса а то он не убеваеццо.
----------
Я настолько суров, что убегая от врагов использую не bsoe, а /unstuck.
_NEO_PK вне форума Отправить сообщение для _NEO_PK с помощью ICQ Ответить с цитированием
Непрочитано 20.10.2009, 20:55   #2
Аватар для FXAntiXrist
Пользователь

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

и все таки.....как сделать тыквы? там лежит файл SquishYourSquash.java, вот он
Код:
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package events.SquishYourSquash;

import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.L2Npc;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.quest.Quest;
import net.sf.l2j.gameserver.network.serverpackets.NpcSay;
import net.sf.l2j.gameserver.templates.item.L2Weapon;
import net.sf.l2j.util.Rnd;

public class SquishYourSquash extends Quest
{
   private static final int[] SKILL_NECTAR =
   {
      2005,1011,1013,1015
   };

   private static final int[] CHRONOWEAPONS =
   {
      4202,5133,5817,7058,8350
   };

   private static final int[] SQUASHLIST =
   {
      12774,12775,12776,12777,12778,12779
   };

   private static final int[] CANNOTGROW =
   {
      13016,13017
   };

   private static final String[] EAT_TEXT =
   {
      "More... I need more...",
      "Yummy, what a great nectar.",
      "I'm growing...",
      "Give me more!",
      "I need moooreee."
   };

   private static final String[] CHRONO_TEXT =
   {
      "Arghhh... You have chrono weapon.",
      "My end is coming...",
      "I feel chrono....",
      "No.. No.. please don't kill me."
   };

   private static final String[] NOCHRONO_TEXT =
   {
      "Haha, you can't kill me.",
      "It's impossible to kill mi without chrono weapon.",
      "I can be defeated only with special chrono weapon!",
      "Hahaha.... Keep trying..."
   };

   private int _numAtk = 0;
   private int _nectar = 0;

   public SquishYourSquash(int questId, String name, String descr)
   {
      super(questId, name, descr);
      for (int i : SQUASHLIST)
      {
         addSkillSeeId(i);
         addAttackId(i);
         addKillId(i);
         addSpawnId(i);
      }
   }

   public String onSpawn(L2Npc npc)
   {
      _numAtk = 0;
      _nectar = 0;

      return super.onSpawn(npc);
   }

   public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
   {
      _numAtk = 0;
      _nectar = 0;

      return super.onAdvEvent(event, npc, player);
   }

   public String onSkillSee (L2Npc npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isPet)
   {
      int npcId = npc.getNpcId();
      if (!contains(targets, npc)) return super.onSkillSee(npc, caster, skill, targets, isPet);
      if (!contains(SKILL_NECTAR, skill.getId())) return super.onSkillSee(npc, caster, skill, targets, isPet);
      if (!contains(CANNOTGROW, npc.getNpcId())) return super.onSkillSee(npc, caster, skill, targets, isPet);
      if (_nectar == 0 && _nectar <= 3)
      {
         npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), EAT_TEXT[Rnd.get(EAT_TEXT.length)]));
         _nectar++;
      }
      else if (_nectar == 4)
      {
         if (npcId == 12774)
         {
            addSpawn(12776, npc);
            npc.deleteMe();
            _nectar = 0;
         }
         else if (npcId == 12777)
         {
            addSpawn(12779, npc);
            npc.deleteMe();
            _nectar = 0;
         }
         else
            _nectar++;
      }
      else if (_nectar == 9)
      {
         if (npcId == 12776)
         {
            addSpawn(12775, npc);
            npc.deleteMe();
            _nectar = 0;
         }
         else if (npcId == 12779)
         {
            addSpawn(12778, npc);
            npc.deleteMe();
            _nectar = 0;
         }
         else
            _nectar++;
      }
      else if (_nectar == 19)
      {
         if (npcId == 12775)
         {
            addSpawn(13016, npc);
            npc.deleteMe();
            _nectar = 0;
         }
         else if (npcId == 12778)
         {
            addSpawn(13017, npc);
            npc.deleteMe();
            _nectar = 0;
         }
         else
            _nectar++;
      }

      return super.onSkillSee(npc,caster,skill,targets,isPet);
   }

   public String onAttack (L2Npc npc, L2PcInstance attacker, int damage, boolean isPet)
   {
      L2Weapon weapon = attacker.getActiveWeaponItem();
      if (weapon == null)
      {
         npc.setIsInvul(true);
         if (Rnd.get(4) == 1) npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NOCHRONO_TEXT[Rnd.get(NOCHRONO_TEXT.length)]));
      }
      else if (isPet)
      {
         npc.setIsInvul(true);
         if (Rnd.get(4) == 1) npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NOCHRONO_TEXT[Rnd.get(NOCHRONO_TEXT.length)]));
      }
      else
      {
         if (contains(SQUASHLIST, npc.getNpcId()))
         {
            if (contains(CHRONOWEAPONS, weapon.getItemId()))
            {
               npc.setIsInvul(false);
               if (_numAtk < 1) npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), CHRONO_TEXT[Rnd.get(CHRONO_TEXT.length)]));
               _numAtk++;
            }
            else
            {
               npc.setIsInvul(true);
               if (Rnd.get(4) == 1) npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NOCHRONO_TEXT[Rnd.get(NOCHRONO_TEXT.length)]));
            }
         }
         else
            npc.setIsInvul(false);
      }

      return super.onAttack(npc, attacker, damage, isPet);
   }

   public String onKill (L2Npc npc, L2PcInstance killer, boolean isPet)
   {
      npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Rewards !!"));
      _numAtk = 0;
      _nectar = 0;

      return super.onKill(npc,killer,isPet);
   }

   private static boolean contains(int[] array, int obj)
   {
      for (int i = 0; i < array.length; i++)
      {
         if (array[i] == obj)
            return true;
      }

      return false;
   }

   public static <T> boolean contains(T[] array, T obj)
   {
      for (int i = 0; i < array.length; i++)
      {
         if (array[i] == obj)
            return true;
      }

      return false;
   }

   public static void main(String[] args)
   {
      new SquishYourSquash(-1, "SquishYourSquash", "events");
   }
}
Нектар себе сунул в инвентарь, нажимаю ничего не происходит, тыквы спавнятся по id... И какой ид кота, который семена и пуху дает?...
Вот содержимое scripts.cfg (отрывок)
Код:
# Events
events/SquishYourSquash/SquishYourSquash.java
events/MasterOfEnchanting/MasterOfEnchanting.java
events/l2day/__init__.py
events/CharacterBirthday/CharacterBirthday.java
__________________

Последний раз редактировалось FXAntiXrist; 20.10.2009 в 21:20.
FXAntiXrist вне форума Ответить с цитированием
Непрочитано 24.10.2009, 19:54   #3
Изгнанные

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

Они реализовали Mail в комуните или еще не нашли от куда скопипастить?
ZaiMen вне форума Ответить с цитированием
Непрочитано 12.11.2009, 21:38   #4
Пользователь

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

У меня такой вопрос. Поставили сервер, а там не работает чат. При крафте Спиритшотов А грейда выдаёт "you are missing -1640 spirit ore required to create that" (Вы пропускаете-1640 руд духа, требуемых создать это) Поидее с крафтом остального таже проблема.
Или хотя бы назовите файлы отвечающие за крафт и чат.
Стоит эта сборка.
Заранее благодарен.
luka-leon вне форума Ответить с цитированием
Непрочитано 29.01.2010, 21:36   #5
Изгнанные

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

В сборке реализовано то что при пвп убийстве даётся итем, хотелось бы узнать где это прописано (с custom.ini знаком), хотелось бы понять само место в скриптах, что за чем следует, нужно поставить условие что предмет даётся только если уровень персонажа скажем 70 и выше.

# -------------------
# Система награда за PvP
# -------------------
# Включить награды за PvP?
# По умолчанию: False
AllowPvpReward = True

# ID предмета, даваемого в качестве награды.
# По умолчанию: 57 (адена)
PvpRewardItemId = 6393 << Мне нужно тут условие что даётся только при 70+ лвле и выше, как релизовать это не могу понять(((

Не как не могу найти(( Помогите пожайлуста!

Последний раз редактировалось FerryCorsten; 29.01.2010 в 21:37. Причина: Добавлено сообщение
FerryCorsten вне форума Ответить с цитированием
Непрочитано 29.01.2010, 21:55   #6
Герой

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

ну исходниках нада смотреть где переменная конфига употребляется и дописывать условия if ..... && player.getlevel >=70 && target.getlevel >= 70
incognito вне форума Ответить с цитированием
Непрочитано 29.01.2010, 22:10   #7
Изгнанные

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

Подскажите плз SVN URL Адрес где можно по данным сборкам L2Open получить исходник
FerryCorsten вне форума Ответить с цитированием
Непрочитано 30.01.2010, 12:51   #8
Пользователь

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

Кто ставил - скажите пожалуйста, есть ли у вас проблема с заточкой скила Curse Fear (книги исчезают, скил на месте даже при удачной заточке) и Bleed у ТХ (сразу на +30 подымается)? И совет по устранению хотелось бы получить.
GoTH вне форума Ответить с цитированием
Непрочитано 30.01.2010, 13:01   #9
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

FerryCorsten, http://my-svn.assembla.com/svn/l2open-free/trunk
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 31.01.2010, 05:01   #10
Изгнанные

По умолчанию Re: Ява сервер от команды L2Open Gracia Final (CT2.3) ревизия 3.5

Подумав немного добился чтоб поставилось условие при котором сам игрок должен быть 70 лвла, но со 2 условием так и бьюсь головой об стенку, нужно сделать так чтоб у игрока был в таргете другой игрок с 70+ лвлом. Компилятор говорит неверная строка. Подскажите как написать 2 условие плзззззззз
Кусок кода из файла L2PcInstance.java
Цитата:
int PvpRewardItemId = (Config.PVP_REWARD_ITEM_ID);
String PvpRewardItemName = (Config.PVP_REWARD_ITEM_NAME);
int PvpRewardItemAmmount = (Config.PVP_REWARD_ITEM_AMOUNT);
if (getLevel() > 70)
if (target.getLevel() > 70)
addItem("Loot", PvpRewardItemId, PvpRewardItemAmmount, this, true);
sendMessage("You have earned " + PvpRewardItemAmmount + " item(s) of " + PvpRewardItemName + ".");

Последний раз редактировалось FerryCorsten; 01.02.2010 в 02:39. Причина: Добавлено сообщение
FerryCorsten вне форума Ответить с цитированием
Ответ


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

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

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

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


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

Вверх