Перейти к содержанию
Авторизация  
1st©

Echo Crystals

Рекомендуемые сообщения

Лазил по инету, думаю что бы такое реализовать интерестное...наткнулся на

с очень интерестным содержимым...начал копать в инете...пытался открыть файлы *.uax разными прогами...безрезультатно.

Сосбтвенно сабж: как можно поменять музыку эхо-кристаллов?

Стопудово она лежит в папке саундс...в мьюзик не нашел, или плохо искал...

А чтото новенькое охота заиметь)

 

В датниках ничего нету...запуск мелодии с определенного эхо-кристалла быстрее всего скрывается в ядре...или...я х3 короче...) в яве я нуп)

 

Давайте думать вместе :):lol: ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

опаньки интересная шняга,я бы тоже себе такое замутил,Присоединяюсь к тебе)Добавь в скайп master33142 ,за сегодня-завтра замутим такое)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
опаньки интересная шняга,я бы тоже себе такое замутил,Присоединяюсь к тебе)Добавь в скайп master33142 ,за сегодня-завтра замутим такое)

Сейчас скайп качну - добавлю.

З.Ы микроф нету( ;)

 

 

 

З.З.Ы тема навеяна by admin_christmas_start B Frozen-ах) там кристаллы выдавало...вот и началось...

 

 

UP Уже добавил ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Реализовывал только через байпассы

но можно найти класс который отвечает за эти итемы и немного его переписать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Реализовывал только через байпассы

но можно найти класс который отвечает за эти итемы и немного его переписать)

Думаю лучше поплясать с бубном возле операционного стола, на котором будет размещен пациент-исходники, еже ли с байпассами ;)

 

Насчет байпассов можешь поделиться соображениями?)

 

+ в голове такая тема...музыка с кристаллов тянется не с папки мьюзик...а с саундс...и как бы перепаковать музон в *.uax или хотя бы открыть этот тип файлов...?)) ;) или как то сделать чтобы инит (при юзании кристалла) музло тянулось в формате *.ogg с папки мьюзик...?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как бы я писал байпассы в исходниках(фрозенов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ну как бы я писал байпассы в исходниках(фрозенов)

ууу...проблематично...) через...стоп..в папке скриптс\кастом\ есть какой то скрипт 3995_echo

 

 

судя по тому что там написано можно получать кристаллы эти...мб ккую либо инфу оттуда вытянуть можно?...у меня 892 рева...96 не ставится...(((

 

пока только вопросы...ответов пока что нету(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Я сделал xD

Ща сделаю мануал)

 

Давай,ждем!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все операции происходять с исходным кодом! Были взяты L2jFrozen)

В общем идём по пути

Скрытый текст
L2jFrozen_GameServer\head-src\com\l2jfrozen\gameserver\handler\itemhandlers

Создаём файл MusicItem.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 2, 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, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

* 02111-1307, USA.

*

* http://www.gnu.org/copyleft/gpl.html

*/

package com.l2jfrozen.gameserver.handler.itemhandlers;

 

import com.l2jfrozen.gameserver.handler.IItemHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance;

import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;

import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;

 

/**

* @author devScarlet & mrTJO

*/

public class MusicItem implements IItemHandler

{

private static int[] _itemIds =

{

50000

};

 

@Override

public void useItem(L2PlayableInstance playable, L2ItemInstance item)

{

if(!(playable instanceof L2PcInstance))

return;

 

L2PcInstance activeChar = (L2PcInstance) playable;

int itemId = item.getItemId();

 

if(activeChar.isParalyzed())

{

activeChar.sendMessage("Вы не можете использовать, когда вы парализованы!");

activeChar.sendPacket(ActionFailed.STATIC_PACKET);

return;

}

 

if(itemId == 50000) // Token of Love

{

PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);

activeChar.sendPacket(_snd3);

playable.destroyItem("Consume", item.getObjectId(), 1, null, false);

}

activeChar = null;

}

 

/**

* @see com.l2jfrozen.gameserver.handler.IItemHandler#getItemIds()

*/

@Override

public int[] getItemIds()

{

return _itemIds;

}

}

Так не забываем прописать наш MusicItem В ItemHandler.java

Скрытый текст
import com.l2jfrozen.gameserver.handler.itemhandlers.MusicItem;

После registerItemHandler(new ChristmasTree());

Ставим registerItemHandler(new MusicItem());

Теперь объясню

PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0); <----- воспроизводит OGG файл с названием triple_kil сам файл кидать в music с игрой, я взял звуки от Звуки

playable.destroyItem("Consume", item.getObjectId(), 1, null, false); <---- Забирает 1 предмет(Можно и без этой строчки тогда при использованиии предмета не будет забираться)

В общем ничего сложного

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ищите мануал на сайте

И где же мануал? тупо всю ветку мануалов излазил - не нашел(((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
И где же мануал? тупо всю ветку мануалов излазил - не нашел(((

Просто нету тех кто проверяет и добавляет новость!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Просто нету тех кто проверяет и добавляет новость!

спс за решение)) ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если у меня будет не 1 итем с которого нужен музон? как тогда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А если у меня будет не 1 итем с которого нужен музон? как тогда?

Тогда на помощь приходит else if

Скрытый текст
/* 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 2, 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, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

* 02111-1307, USA.

*

* http://www.gnu.org/copyleft/gpl.html

*/

package com.l2jfrozen.gameserver.handler.itemhandlers;

 

import com.l2jfrozen.gameserver.handler.IItemHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance;

import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;

import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;

 

/**

* @author devScarlet & mrTJO

*/

public class MusicItem implements IItemHandler

{

private static int[] _itemIds =

{

50000, ID

};

 

@Override

public void useItem(L2PlayableInstance playable, L2ItemInstance item)

{

if(!(playable instanceof L2PcInstance))

return;

 

L2PcInstance activeChar = (L2PcInstance) playable;

int itemId = item.getItemId();

 

if(activeChar.isParalyzed())

{

activeChar.sendMessage("Вы не можете использовать, когда вы парализованы!");

activeChar.sendPacket(ActionFailed.STATIC_PACKET);

return;

}

 

if(itemId == 50000) // Token of Love

{

{

PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);

activeChar.sendPacket(_snd3);

playable.destroyItem("Consume", item.getObjectId(), 1, null, false);

}

activeChar = null;

}

else if(itemId == ID) //Можно до бесконечности

{

{

PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);

activeChar.sendPacket(_snd3);

playable.destroyItem("Consume", item.getObjectId(), 1, null, false);

}

activeChar = null;

}

}

 

/**

* @see com.l2jfrozen.gameserver.handler.IItemHandler#getItemIds()

*/

@Override

public int[] getItemIds()

{

return _itemIds;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вариант 2

Добавил эффект как у оригинальных Echo Crystals

Скрытый текст
/* 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 2, 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, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

* 02111-1307, USA.

*

* http://www.gnu.org/copyleft/gpl.html

*/

package com.l2jfrozen.gameserver.handler.itemhandlers;

 

import com.l2jfrozen.gameserver.handler.IItemHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance;

import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;

import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;

import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;

 

/**

* @author devScarlet & mrTJO

*/

public class MusicItem implements IItemHandler

{

private static int[] _itemIds =

{

50000

};

 

@Override

public void useItem(L2PlayableInstance playable, L2ItemInstance item)

{

if(!(playable instanceof L2PcInstance))

return;

 

L2PcInstance activeChar = (L2PcInstance) playable;

int itemId = item.getItemId();

 

if(activeChar.isParalyzed())

{

activeChar.sendMessage("Вы не можете использовать, когда вы парализованы!");

activeChar.sendPacket(ActionFailed.STATIC_PACKET);

return;

}

 

if(itemId == 50000) // Token of Love

{

MagicSkillUser MSU = new MagicSkillUser(playable, activeChar, 2140, 1, 1, 0);

activeChar.broadcastPacket(MSU);

PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);

activeChar.sendPacket(_snd3);

playable.destroyItem("Consume", item.getObjectId(), 1, null, false);

}

activeChar = null;

}

 

/**

* @see com.l2jfrozen.gameserver.handler.IItemHandler#getItemIds()

*/

@Override

public int[] getItemIds()

{

return _itemIds;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Спасибо братуха)

Нужен смайлик FacePalm))

Вместо ID пишим свой ID Который хотим вверхней части через , в конце нету ,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шо тут скажешь) молодца))

спсссс ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Нужен смайлик FacePalm))

Вместо ID пишим свой ID Который хотим вверхней части через , в конце нету ,

 

Я не совсем понял последнее сообщение)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Скрытый текст
/* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.handler.itemhandlers;

import com.l2jfrozen.gameserver.handler.IItemHandler;
import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;
import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;

/**
* @author devScarlet & mrTJO
*/
public class MusicItem implements IItemHandler
{
private static int[] _itemIds =
{
50000,50001,50002
};

@Override
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
if(!(playable instanceof L2PcInstance))
return;

L2PcInstance activeChar = (L2PcInstance) playable;
int itemId = item.getItemId();

if(activeChar.isParalyzed())
{
activeChar.sendMessage("Вы не можете использовать, когда вы парализованы!");
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}

if(itemId == 50000) // Token of Love
{
{
MagicSkillUser MSU = new MagicSkillUser(playable, activeChar, 2140, 1, 1, 0);
activeChar.broadcastPacket(MSU);
PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);
activeChar.sendPacket(_snd3);
playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
activeChar = null;
}
else if(itemId == 50001) // Token of Love
{
{
MagicSkillUser MSU = new MagicSkillUser(playable, activeChar, 2140, 1, 1, 0);
activeChar.broadcastPacket(MSU);
PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);
activeChar.sendPacket(_snd3);
playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
activeChar = null;
}
else if(itemId == 50002) // Token of Love
{
{
MagicSkillUser MSU = new MagicSkillUser(playable, activeChar, 2140, 1, 1, 0);
activeChar.broadcastPacket(MSU);
PlaySound _snd3 = new PlaySound(1, "triple_kill", 0, 0, 0, 0, 0);
activeChar.sendPacket(_snd3);
playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
activeChar = null;
}
}

/**
* @see com.l2jfrozen.gameserver.handler.IItemHandler#getItemIds()
*/
@Override
public int[] getItemIds()
{
return _itemIds;
}
}

Сделал на 3 Item надеюсь поймете как больше делать!
Так же не забываем создать ID в Mysql Таблице etcitem

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо эту тему скрыть от народа)) ггг

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Надо эту тему скрыть от народа)) ггг

Ничего не надо закрывать!

Не многие могут работать с исходниками)

PS Знание програмирования 10-15%

Чисто методом сравнения и проб и ошибок)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно ещё if-else заменить на switch()

будет код по меньше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...