Рейтинг темы:
  • 2 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
(Бесплатно) Мелкие доработки ядра или java-скриптов L2j-подобных сборок.
#1
Уважаемые гости и завсегдатаи форума Zone-Game.

Открываю эту тему с целью набить руку и получить опыт работы с L2j-сборками.

Что я могу вам предложить:
  • Исправление мелких багов в L2j-подобных сборках, на которые не хватает ваших знаний.
  • Написание хендлеров, войс-команд, расширение функционала
  • Разработка и внедрение custom-AI для мобов, РБ и т.п.

Работаю за спасибо.


Заявки можно формировать в этой теме по-образцу:

Код:
Название сборки.
Хроники
Что нужно сделать. Описание максимально подробно.(Чем подробнее описание, тем быстрее и точнее будет выполнена работа)

PS: Контакты для связи - ICQ: 324-888-423

-----------------------------------------------------
За прошедший год скилы апнуты ощутимо. Могу взяться за более широкую работу. Прежнее условие в силе - четкое и понятное ТЗ. Без него за работу скорее всего не возьмусь.
Ответ
#2
Тут можно?
Войс команду для открытия пустого html диалога.
Ответ
#3
Работу вам тоже сюда или куда-то в другое место?


PHP код:
<?php 
package handlers
.voicedcommandhandlers;

import javolution.text.TextBuilder;
import *.gameserver.handler.IVoicedCommandHandler;
import *.gameserver.model.actor.instance.L2PcInstance;
import *.gameserver.network.gameclientcon.send.NpcHtmlMessage;

/**
*
* @author Aristo
*/
public class showHTML implements IVoicedCommandHandler {

private static
String[] _voicedCommands = {
"showHtml"
};

@
Override
public String[] getVoicedCommandList() {
return
_voicedCommands;
}

@
Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String x) {

if (
command.startsWith("showHtml")) {
NpcHtmlMessage reply = new NpcHtmlMessage(8);
TextBuilder dialog = new TextBuilder("<html><body>");

dialog.append("<table>");
dialog.append("<tr>");
dialog.append("<td>");
dialog.append("</td>");
dialog.append("</tr>");
dialog.append("</table>");

dialog.append("</body></html>");

reply.setHtml(dialog.toString());
activeChar.sendPacket(reply);
}
return
false;
}
}

Если будет более подробное ТЗ, могу сделать любые проверки и уточнения. Формирование HTML контента вручную через append

Разумеется, если вам нужно, чтобы это запускалось у вас, неплохо бы назвать хотя бы версию и авторов сборки)Wink
Ответ
#4
Aristocrat Написал:Работу вам тоже сюда или куда-то в другое место?


PHP код:
<?php 
package handlers
.voicedcommandhandlers;

import javolution.text.TextBuilder;
import *.gameserver.handler.IVoicedCommandHandler;
import *.gameserver.model.actor.instance.L2PcInstance;
import *.gameserver.network.gameclientcon.send.NpcHtmlMessage;

/**
*
* @author Aristo
*/
public class showHTML implements IVoicedCommandHandler {

private static
String[] _voicedCommands = {
"showHtml"
};

@
Override
public String[] getVoicedCommandList() {
return
_voicedCommands;
}

@
Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String x) {

if (
command.startsWith("showHtml")) {
NpcHtmlMessage reply = new NpcHtmlMessage(8);
TextBuilder dialog = new TextBuilder("<html><body>");

dialog.append("<table>");
dialog.append("<tr>");
dialog.append("<td>");
dialog.append("</td>");
dialog.append("</tr>");
dialog.append("</table>");

dialog.append("</body></html>");

reply.setHtml(dialog.toString());
activeChar.sendPacket(reply);
}
return
false;
}
}

Если будет более подробное ТЗ, могу сделать любые проверки и уточнения. Формирование HTML контента вручную через append

Разумеется, если вам нужно, чтобы это запускалось у вас, неплохо бы назвать хотя бы версию и авторов сборки)WinkСпасибо, в ближайшее время, хотел бы поковырятся не много в ядре, посмотреть, что где и как работает, для написание мини-евентика.

Вот и, что бы не копаться будет уже инфа)

Добавлено через 5 минут
Как время будет, то спавн моба в нужную координату. А так же хотел бы пример(а так же не много теории), как осуществляется постоянная проверка на жив/мерт.
Допустим имеем 3 моба и 1го босса.
Пока 3и моба живы, у босса хп х5. (вот как этот момент проверяется постоянно?)
P.S. И еще заюз скила мобом.

В общих чертах:
1. Спавн 3х мобов и 1го рб.
2. Проверка, если живы 3и моба у рб любые статы, например х5 хп.
3. 1н моб кастует скил на босса постоянно, пока жив (название не помню, но на ИТ использовался у магов для заряда овера под али уд(луч энергии)).

Буду очень признателен.

P.S.S. Работу можно прямо сюда, думаю многим будет полезна.
Ответ
#5
В общих чертах:
1. Спавн 3х мобов и 1го рб.
2. Проверка, если живы 3и моба у рб любые статы, например х5 хп.
3. 1н моб кастует скил на босса постоянно, пока жив (название не помню, но на ИТ использовался у магов для заряда овера под али уд(луч энергии)).


PHP код:
<?php 
/*
* 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 ai.individual;

import ai.group_template.L2AttackableAIScript;
import com.l2jserver.gameserver.model.L2Object;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;

public class
ZoneGameAI extends L2AttackableAIScript {

private static final
int RB = 99999;
private static final
int MINION = 99998;
private
L2Object RB_O = null;
private
L2Object MINION_O = null;
private
boolean MINION_DEAD = false;
int[] mob = {
RB, MINION
};

public
ZoneGameAI( int questId, String name, String descr ) {
super( questId, name, descr );
this.registerMobs( mob );
}

@
Override
public String onSpawn( L2Npc npc ) {
if (
npc.getNpcId() == RB ) {
RB_O = npc;
} else if (
npc.getNpcId() == MINION ) {
MINION_O = npc;
}

return
super.onSpawn( npc );
}

@
Override
public String onAttack( L2Npc npc, L2PcInstance attacker, int damage, boolean isPet ) {
if (
npc.getNpcId() == MINION && npc.isDead() ) { //Проверка ИД. Если MINION и мертв,
MINION_DEAD = true; // то ставим true для переменной MINION_DEAD
} else if ( npc.getNpcId() == MINION && !npc.isDead() ) { //Проверка ИД. Если MINION и НЕмертв,
npc.broadcastPacket( new MagicSkillUse( (L2Character) MINION_O, (L2Character) RB_O, 100500, 1, 1000, 0 ) ); //Используем скил
}
if (
npc.getNpcId() == RB && MINION_DEAD ) { //Проверка ИД и переменной MINION_DEAD. Если выполняется условие, то выполняем произвольный метод.
customMethod(); //Исполнение произвольного кода.
}
return
super.onAttack( npc, attacker, damage, isPet );
}

public static
void main( String[] args ) {
// Quest class and state definition
new ZoneGameAI( -1, "RB", "ai" );
}

public
void customMethod() {
//Произвольный код. Могут быть, например, множители статов для этого NpcID где-то в L2Npc)
}
}


Вроде ничего не забыл) В самых общих чертах.

PS: Сделал для одного моба, т.к разница только в количестве переменных)

PPS: Ява гуру прошу не принимать этот код близко к сердцу и помнить, что корвалол можно найти в аптечке)
Ответ
#6
сборка L2JTeon можно добавить StrictHeroSystem Запрещает/Разрешает простым игрокам носить HERO WEAPON
Ответ
#7
OnReal, Дайте линк на SVN, если есть.
Ответ
#8
http://my-svn.assembla.com/svn/L2JTeon/trunk/
Ответ
#9
Впервые за долгое время вижу, что кто-то бесплатно делает фиксы для народа. Респект. (:
Ответ
#10
OnReal, Файл: http://my-svn.assembla.com/svn/L2JTeon/t...ntory.java

Строка 992

Код:
Код:
if (!player.isHero())

Изменить на
Код:
if (!player.isHero() || Config.ALL_PLAYER_CAN_EQUIP_HERO_ITEM)

Строка 1229 сделать тоже самое.

Как вставить переменную в конфиг разберетесь или тоже написать?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
Photo ТОП-сервис для продвижения и раскрутки в социальных сетях бесплатно и платно Nastai 1 70 10-01-2024, 01:58 PM
Последний пост: Nastai
  Требуется Java программист FaintSmile 1 1,042 10-22-2023, 11:34 PM
Последний пост: FaintSmile
  Услуги Java кодера partyzan 0 648 05-26-2022, 08:52 AM
Последний пост: partyzan
  Java delevop partyzan 1 980 08-20-2021, 05:02 PM
Последний пост: Map
  Создание сайтов и скриптов AION Pantera2018 0 2,596 11-22-2020, 11:08 AM
Последний пост: Pantera2018
  Java Кодер Ищет работу Mangol 11 5,778 12-14-2019, 09:18 PM
Последний пост: n3k0nation
  Ищу работу, java разработчик FaintSmile 8 3,517 12-01-2019, 07:36 AM
Последний пост: lacoster
  Предлагаю работу по Java Коду ла2 Lord_Gothic 12 3,405 03-27-2019, 11:03 PM
Последний пост: Rolfer
  Ищу програмиста java сервера 500 рублей/час Lord_Gothic 19 4,047 01-29-2019, 03:09 PM
Последний пост: dantalles
  Геймдизайн/Разработка на Java finfan 1 2,107 12-17-2018, 10:47 PM
Последний пост: OneThunder

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)