Камни Брошки

kaiyana1

Путник
Пользователь
Сообщения
64
Розыгрыши
0
Репутация
0
Реакции
2
Баллы
0
Хроники
  1. Fafurion
Исходники
Присутствуют
Сборка
L2Jmobius
выручайте((, можно ли как то перенести работу камней брошки с сборки Фафуриона на сборку Secret of Empire..
и какие файлы нужно шарить в ядре и в компиле для настройки
сборки мобиус
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Она реализовано в Классике (открой файлы хоть)
Какие файлы - написано в предыдущей теме (про мобиус сборку)


Дошамань датапак - по примеру с фуфика.

П.с. не нашел файл: где указан повер для Сосок и Камней
 
BroochJewel.java и возможно сравнив айди классики и мэйна наступит просветление ;)
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Так ты исходнике искал или компиле?
 
Так ты исходнике искал или компиле?

все я нашел этот файл, сейчас попробую сделать...
у меня именно анимации нет от камней.

в чем может быть проблема, сделал анимацию при ударе, но она есть даже без камней брошки при ударах ( краснея анимация)
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Ну если ты сделал так:
Код:
    RUBY_LV1(70451, 17814, 0.02, true),
    RUBY_LV2(70452, 17814, 0.03, true),
    RUBY_LV3(70453, 17815, 0.05, true),
    RUBY_LV4(70454, 17816, 0.08, true),
    RUBY_LV4(70769, 17816, 0.08, true), //name=[Рубин - 4 Ур. 7 д.]
    RUBY_LV5(70455, 17817, 0.16, true),   
    RUBY_LV1(90328, 17814, 0.02, true),
    RUBY_LV2(90329, 17814, 0.03, true),
    RUBY_LV3(90330, 17815, 0.05, true),
    RUBY_LV4(90331, 17816, 0.08, true),   
    RUBY_LV5(90332, 17817, 0.16, true),       
    RUBY_LV5(91418, 17817, 0.16, true), //name=[Рубин - 5 Ур. 30 д.]
    GREATER_RUBY_LV1(71368, 17817, 0.17, true),
    GREATER_RUBY_LV2(71369, 17817, 0.18, true),
    GREATER_RUBY_LV3(71370, 17817, 0.19, true),
    GREATER_RUBY_LV4(71371, 17817, 0.2, true),
    GREATER_RUBY_LV5(71372, 17817, 0.2, true),
то будет анимция - стоит только Рубин засунуть в брошку.


П.с. хз что вы накуевертили - но вы сами дали ответ на свой вопрос (Цитата: сделал анимацию при ударе )
 
  • Мне нравится
Реакции: Forcecat

    Forcecat

    Баллов: 16
    Спасибо братик
Ну если ты сделал так:
Код:
    RUBY_LV1(70451, 17814, 0.02, true),
    RUBY_LV2(70452, 17814, 0.03, true),
    RUBY_LV3(70453, 17815, 0.05, true),
    RUBY_LV4(70454, 17816, 0.08, true),
    RUBY_LV4(70769, 17816, 0.08, true), //name=[Рубин - 4 Ур. 7 д.]
    RUBY_LV5(70455, 17817, 0.16, true),  
    RUBY_LV1(90328, 17814, 0.02, true),
    RUBY_LV2(90329, 17814, 0.03, true),
    RUBY_LV3(90330, 17815, 0.05, true),
    RUBY_LV4(90331, 17816, 0.08, true),  
    RUBY_LV5(90332, 17817, 0.16, true),      
    RUBY_LV5(91418, 17817, 0.16, true), //name=[Рубин - 5 Ур. 30 д.]
    GREATER_RUBY_LV1(71368, 17817, 0.17, true),
    GREATER_RUBY_LV2(71369, 17817, 0.18, true),
    GREATER_RUBY_LV3(71370, 17817, 0.19, true),
    GREATER_RUBY_LV4(71371, 17817, 0.2, true),
    GREATER_RUBY_LV5(71372, 17817, 0.2, true),
то будет анимция - стоит только Рубин засунуть в брошку.


П.с. хз что вы накуевертили - но вы сами дали ответ на свой вопрос (Цитата: сделал анимацию при ударе )
сейчас кину свой код, но проблема в том что, анимация есть и без камня в брошке...

/*
* This file is part of the L2J Mobius project.
*
* 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 < >.
*/
package org.l2jmobius.gameserver.enums;

/**
* @author Mobius
*/
public enum BroochJewel
{
RUBY_LV1(90328, 17814, 0.01, true),
RUBY_LV2(90329, 17814, 0.035, true),
RUBY_LV3(90330, 17815, 0.075, true),
RUBY_LV4(90331, 17816, 0.125, true),
RUBY_LV5(90332, 17817, 0.2, true),
SHAPPHIRE_LV1(90333, 17818, 0.01, false),
SHAPPHIRE_LV2(90334, 17818, 0.035, false),
SHAPPHIRE_LV3(90335, 17819, 0.075, false),
SHAPPHIRE_LV4(90336, 17820, 0.125, false),
SHAPPHIRE_LV5(90337, 17821, 0.2, false);

private int _itemId;
private int _effectId;
private double _bonus;
private boolean _isRuby; // If not, it is sapphire.

private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby)
{
_itemId = itemId;
_effectId = effectId;
_bonus = bonus;
_isRuby = isRuby;
}

public int getItemId()
{
return _itemId;
}

public int getEffectId()
{
return _effectId;
}

public double getBonus()
{
return _bonus;
}

public boolean isRuby()
{
return _isRuby;
}
}

Это BroochJewel.java

/*
* This file is part of the L2J Mobius project.
*
* 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 < >.
*/
package handlers.itemhandlers;

import java.util.List;

import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ItemSkillType;
import org.l2jmobius.gameserver.enums.ShotType;
import org.l2jmobius.gameserver.handler.IItemHandler;
import org.l2jmobius.gameserver.model.actor.Playable;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;

public class SoulShots implements IItemHandler
{
@Override
public boolean useItem(Playable playable, ItemInstance item, boolean forceUse)
{
if (!playable.isPlayer())
{
playable.sendPacket(SystemMessageId.YOUR_PET_CANNOT_CARRY_THIS_ITEM);
return false;
}

final PlayerInstance player = playable.getActingPlayer();
final ItemInstance weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
if (skills == null)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
return false;
}

final int itemId = item.getId();

// Check if Soul shot can be used
if ((weaponInst == null) || (weaponItem.getSoulShotCount() == 0))
{
if (!player.getAutoSoulShot().contains(itemId))
{
player.sendPacket(SystemMessageId.CANNOT_USE_SOULSHOTS);
}
return false;
}

final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());

if (!gradeCheck)
{
if (!player.getAutoSoulShot().contains(itemId))
{
player.sendPacket(SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON);
}
return false;
}

player.soulShotLock.lock();
try
{
// Check if Soul shot is already active
if (player.isChargedShot(ShotType.SOULSHOTS))
{
return false;
}

// Consume Soul shots if player has enough of them
int SSCount = weaponItem.getSoulShotCount();
if ((weaponItem.getReducedSoulShot() > 0) && (Rnd.get(100) < weaponItem.getReducedSoulShotChance()))
{
SSCount = weaponItem.getReducedSoulShot();
}

if (!player.destroyItemWithoutTrace("Consume", item.getObjectId(), SSCount, null, false))
{
if (!player.disableAutoShot(itemId))
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_SOULSHOTS_FOR_THAT);
}
return false;
}
// Charge soul shot
player.chargeShot(ShotType.SOULSHOTS);
}
finally
{
player.soulShotLock.unlock();
}

// Send message to client
if (!player.getAutoSoulShot().contains(item.getId()))
{
player.sendPacket(SystemMessageId.YOUR_SOULSHOTS_ARE_ENABLED);
}

// Visual effect change if player has equipped Ruby lvl 3 or higher
if (player.getActiveRubyJewel() != null)
{
Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, player.getActiveRubyJewel().getEffectId(), 1, 0, 0), 600);
}
else
{
skills.forEach(holder -> Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, holder.getSkillId(), holder.getSkillLevel(), 0, 0), 600));
}
return true;
}
}

это Soulshot.java

Сама проблема заключается в том что, Анимация должна быть тогда когда одет камень в брошку.
Но я не могу понять из за чего что и без камня в брошкиу меня срабатывает эта анимация...
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
В данный момент оно работает так: Если камень 3лвл и больше в инвентаре - он дает анимацию и усиливает урон (если верный камень)

Реализуйте нормально в ядре (как минимум: пример выше уже дал)
Нормально в датапаке:
Предметы (камни)
Умения для камней (можно не трогать если хотите - и так сойдет)
И тогда начинайте тестить.

П.с. как пример скил рубина и сапфира сделал (взял шаблон у соски)
Код:
        <isMagic>2</isMagic> <!-- Static Skill -->
        <magicLvl>1</magicLvl>
        <operateType>A1</operateType>
        <magicCriticalRate>5</magicCriticalRate>
        <hitCancelTime>0</hitCancelTime>
        <targetType>SELF</targetType>
        <affectScope>SINGLE</affectScope>
Это там где нету доп бонусов на атаку\реген мп

Еще не делал компила и не смотрел - будут проблемы или нет, побольше фиксов хочу залить для начала.
 
понял спасибо, а датапак где сам ковырять? глупый вопрос но надо же узнать =)
 
  • Ха-ха-ха
Реакции: kick
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Скачайте, запустите, декодируйте свой патч
В файлах: itemname/skilname_classic.txt (dat)
Открываете в текстовом редакторе, далее поиск: Рубин, Сапфир
Ищем всю инфу по предметам и умениям - переганяем в ДП.

П.с. у вас камни с года в ядре
В моем списке с классика уже.
Датапак: L2J_Mobius_Classic_2.4_SecretOfEmpire\dist\game\data
 
Последнее редактирование:
хотел бы уточнить, что обозначают значения?

RUBY_LV1(90328, 17814, 0.02, true), // 90328 это id итема 17814 это id скилла а вот 0.02 за что отвечает и true false
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
RUBY_LV1(70451, 17814, 0.02, true),
Условное обозначение камня и уровень(Ид предмета, Ид скила, 2% урона к соскам)
сорян, комит не попал - там все описано.
 
RUBY_LV1(70451, 17814, 0.02, true),
Условное обозначение камня и уровень(Ид предмета, Ид скила, 2% урона к соскам)
сорян, комит не попал - там все описано.
а true false за что в данном случае отвечает? в дефолте заметил что сапфир был false а рубин true..
 
а true false за что в данном случае отвечает? в дефолте заметил что сапфир был false а рубин true..
Ты совсем не умеешь в чтение кода? Сам же скинул энум
сейчас кину свой код, но проблема в том что, анимация есть и без камня в брошке...

/*
* This file is part of the L2J Mobius project.
*
* 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 < >.
*/
package org.l2jmobius.gameserver.enums;

/**
* @author Mobius
*/
public enum BroochJewel
{
RUBY_LV1(90328, 17814, 0.01, true),
RUBY_LV2(90329, 17814, 0.035, true),
RUBY_LV3(90330, 17815, 0.075, true),
RUBY_LV4(90331, 17816, 0.125, true),
RUBY_LV5(90332, 17817, 0.2, true),
SHAPPHIRE_LV1(90333, 17818, 0.01, false),
SHAPPHIRE_LV2(90334, 17818, 0.035, false),
SHAPPHIRE_LV3(90335, 17819, 0.075, false),
SHAPPHIRE_LV4(90336, 17820, 0.125, false),
SHAPPHIRE_LV5(90337, 17821, 0.2, false);

private int _itemId;
private int _effectId;
private double _bonus;
private boolean _isRuby; // If not, it is sapphire.

private BroochJewel(int itemId, int effectId, double bonus, boolean isRuby)
{
_itemId = itemId;
_effectId = effectId;
_bonus = bonus;
_isRuby = isRuby;
}

public int getItemId()
{
return _itemId;
}

public int getEffectId()
{
return _effectId;
}

public double getBonus()
{
return _bonus;
}

public boolean isRuby()
{
return _isRuby;
}
}
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
а true false за что в данном случае отвечает? в дефолте заметил что сапфир был false а рубин true..
Тип ответ по вопросу: true\false - Рубин\не рубин (Спфир)

Как уже выше ответили: нужно читать - а там почти все написано (что куда и за что отвечает)
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
*Immortal Pony* Спасибо большое за пояснения, все получилось теперь) 3 дня мучался сидел с этими камянми.
 
Последнее редактирование модератором:
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
ЛФ того кто пилит пакетку и механику на мобиусе?)
 
Назад
Сверху Снизу