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

Переделать на Acis

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

Кто может помочь, переделать под acis ?

 

package net.sf.l2j.gameserver.model.actor.instance;

import net.sf.l2j.gameserver.data.ItemTable;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.base.ClassId;
import net.sf.l2j.gameserver.model.base.Experience;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
/**
* Rebirth Npc's Instance
*
* @author HanWikq
* @ Adapted for Lucera: Warframe.
*/
public class L2RebirthMasterInstance extends Folk
{
int itemId=57 ; // item ID which should be given, should be in this format: "int itemId= ???;"
int count=1 ; // how many of the item should be given?, should be in this format: "int count= ???;"
 int _maxRebirths=3; // how many rebirths are allowed?should be in this format: "int _maxRebirths= ???;"
public L2RebirthMasterInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}
@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
if (command.startsWith("Rebirth"))
{
ClassId classId = player.getClassId();
int jobLevel = classId.level();
if (player.getLevel() >= 80 && jobLevel == 3)
{
L2ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player);
player.getInventory().addItem("Rebirth Item", item.getItemId(), count, player, null);
long pXp = player.getExp();
long tXp = Experience.LEVEL[1];
player.removeExpAndSp(pXp - tXp, 0);
ClassId _baseClass = classId;
for (ClassId child : ClassId.values())
{
 if (classId.childOf(child))
 {
 _baseClass = child;
 for (ClassId child2 : ClassId.values())
 {
 if (_baseClass.childOf(child2))
 {
 _baseClass = child2;
 for (ClassId child3 : ClassId.values())
 {
	 if (_baseClass.childOf(child3))
	 _baseClass = child3;
 }
 }
 }
 }
}
for (L2Skill skill : player.getAllSkills())
 player.removeSkill(skill);
player.setClassId(_baseClass.getId());
if (player.isSubClassActive()) player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
else player.setBaseClass(player.getActiveClass());
player.broadcastUserInfo();
player.rewardSkills();
player.sendSkillList();
// system sound for 1st and 2nd occupation
player.sendPacket(new SystemMessage(SystemMessageId.CLASS_TRANSFER));
// Update the overloaded status of the L2PcInstance
player.refreshOverloaded();
// Update the expertise status of the L2PcInstance
player.refreshExpertisePenalty();
player.sendMessage("You have been reborn");
}
else
player.sendMessage("You are to low level, you need to be atleast be 85 with completed third class occupation");
}
}
}

 

Ошибка при компиле

Спойлер


clean:
   [delete] Deleting directory C:\aCis_gameserver\build

checkRequirements:
     [echo] Verification of your JDK version.

init:
    [mkdir] Created dir: C:\aCis_gameserver\build
    [mkdir] Created dir: C:\aCis_gameserver\build\classes
    [mkdir] Created dir: C:\aCis_gameserver\build\dist
    [mkdir] Created dir: C:\aCis_gameserver\build\dist\login
    [mkdir] Created dir: C:\aCis_gameserver\build\dist\gameserver

compile:
    [javac] Compiling 1677 source files to C:\aCis_gameserver\build\classes
    [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:4: error: cannot find symbol
    [javac] import net.sf.l2j.gameserver.model.L2ItemInstance;
    [javac]                                   ^
    [javac]   symbol:   class L2ItemInstance
    [javac]   location: package net.sf.l2j.gameserver.model
    [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:11: error: package net.sf.l2j.gameserver.templates.chars does not exist
    [javac] import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
    [javac]                                             ^
    [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:23: error: cannot find symbol
    [javac] public L2RebirthMasterInstance(int objectId, L2NpcTemplate template)
    [javac]                                              ^
    [javac]   symbol:   class L2NpcTemplate
    [javac]   location: class L2RebirthMasterInstance
    [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:28: error: cannot find symbol
    [javac] public void onBypassFeedback(L2PcInstance player, String command)
    [javac]                              ^
    [javac]   symbol:   class L2PcInstance
    [javac]   location: class L2RebirthMasterInstance
    [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:36: error: cannot find symbol
    [javac] L2ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player);
    [javac] ^
    [javac]   symbol:   class L2ItemInstance
    [javac]   location: class L2RebirthMasterInstance
    [javac] C:\aCis_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2RebirthMasterInstance.java:70: error: SystemMessage(SystemMessageId) has private access in SystemMessage
    [javac] player.sendPacket(new SystemMessage(SystemMessageId.CLASS_TRANSFER));
    [javac]                   ^
    [javac] 6 errors

BUILD FAILED
C:\aCis_gameserver\build.xml:89: Compile failed; see the compiler error output for details.

Total time: 15 seconds
 

 

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


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

Если на взаимовыгодной основе то риши в личку

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


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

Если на взаимовыгодной основе то риши в личку

капец ты скупердяй, сложно импорты поправить и чутка код?

package net.sf.l2j.gameserver.model.actor.instance;

import net.sf.l2j.gameserver.data.ItemTable;
import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
import net.sf.l2j.gameserver.model.base.ClassId;
import net.sf.l2j.gameserver.model.base.Experience;
import net.sf.l2j.gameserver.network.SystemMessageId;

public class L2RebirthMasterInstance extends Folk
{
	private int itemId = 57 ; // item ID which should be given, should be in this format: "int itemId= ???;"
	private int count = 1 ; // how many of the item should be given?, should be in this format: "int count= ???;"
	
	public L2RebirthMasterInstance(int objectId, NpcTemplate template)
	{
		super(objectId, template);
	}
	
	@Override
	public void onBypassFeedback(Player player, String command)
	{
		if (command.startsWith("Rebirth"))
		{
			ClassId classId = player.getClassId();
			int jobLevel = classId.level();
			if (player.getLevel() >= 80 && jobLevel == 3)
			{
				ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player, null);
				player.getInventory().addItem("Rebirth Item", item.getItemId(), count, player, null);
				long pXp = player.getExp();
				long tXp = Experience.LEVEL[1];
				player.removeExpAndSp(pXp - tXp, 0);
				ClassId _baseClass = classId;
				for (ClassId child : ClassId.values())
				{
					if (classId.childOf(child))
					{
						_baseClass = child;
						for (ClassId child2 : ClassId.values())
						{
							if (_baseClass.childOf(child2))
							{
								_baseClass = child2;
								for (ClassId child3 : ClassId.values())
								{
									if (_baseClass.childOf(child3))
										_baseClass = child3;
								}
							}
						}
					}
				}
			
				for (L2Skill skill : player.getSkills().values())
					player.removeSkill(skill.getId(), false);
				player.setClassId(_baseClass.getId());
				if (player.isSubClassActive()) 
					player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
				else 
					player.setBaseClass(player.getActiveClass());
				player.broadcastUserInfo();
				player.rewardSkills();
				player.sendSkillList();
				// system sound for 1st and 2nd occupation
				player.sendPacket(SystemMessageId.CLASS_TRANSFER);
				// Update the overloaded status of the L2PcInstance
				player.refreshOverloaded();
				// Update the expertise status of the L2PcInstance
				player.refreshExpertisePenalty();
				player.sendMessage("You have been reborn");
			}
			else
				player.sendMessage("You are to low level, you need to be atleast be 85 with completed third class occupation");
		}
	}
}

 

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


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, LordWinter сказал:

капец ты скупердяй, сложно импорты поправить и чутка код?


package net.sf.l2j.gameserver.model.actor.instance;

import net.sf.l2j.gameserver.data.ItemTable;
import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
import net.sf.l2j.gameserver.model.base.ClassId;
import net.sf.l2j.gameserver.model.base.Experience;
import net.sf.l2j.gameserver.network.SystemMessageId;

public class L2RebirthMasterInstance extends Folk
{
	private int itemId = 57 ; // item ID which should be given, should be in this format: "int itemId= ???;"
	private int count = 1 ; // how many of the item should be given?, should be in this format: "int count= ???;"
	
	public L2RebirthMasterInstance(int objectId, NpcTemplate template)
	{
		super(objectId, template);
	}
	
	@Override
	public void onBypassFeedback(Player player, String command)
	{
		if (command.startsWith("Rebirth"))
		{
			ClassId classId = player.getClassId();
			int jobLevel = classId.level();
			if (player.getLevel() >= 80 && jobLevel == 3)
			{
				ItemInstance item = ItemTable.getInstance().createItem("Rebirth Item", itemId, count, player, null);
				player.getInventory().addItem("Rebirth Item", item.getItemId(), count, player, null);
				long pXp = player.getExp();
				long tXp = Experience.LEVEL[1];
				player.removeExpAndSp(pXp - tXp, 0);
				ClassId _baseClass = classId;
				for (ClassId child : ClassId.values())
				{
					if (classId.childOf(child))
					{
						_baseClass = child;
						for (ClassId child2 : ClassId.values())
						{
							if (_baseClass.childOf(child2))
							{
								_baseClass = child2;
								for (ClassId child3 : ClassId.values())
								{
									if (_baseClass.childOf(child3))
										_baseClass = child3;
								}
							}
						}
					}
				}
			
				for (L2Skill skill : player.getSkills().values())
					player.removeSkill(skill.getId(), false);
				player.setClassId(_baseClass.getId());
				if (player.isSubClassActive()) 
					player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
				else 
					player.setBaseClass(player.getActiveClass());
				player.broadcastUserInfo();
				player.rewardSkills();
				player.sendSkillList();
				// system sound for 1st and 2nd occupation
				player.sendPacket(SystemMessageId.CLASS_TRANSFER);
				// Update the overloaded status of the L2PcInstance
				player.refreshOverloaded();
				// Update the expertise status of the L2PcInstance
				player.refreshExpertisePenalty();
				player.sendMessage("You have been reborn");
			}
			else
				player.sendMessage("You are to low level, you need to be atleast be 85 with completed third class occupation");
		}
	}
}

 

еще такой вопрос, все хорошо скомпилилось, только есть, количевство перерождений 3, а делает бесконечно, не подскажеш, как можно решить ? 

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


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, LetsVirt сказал:

еще такой вопрос, все хорошо скомпилилось, только есть, количество перерождений 3, а делает бесконечно, не подскажеш, как можно решить ? 

это уже сложнее, нужно сделать колонку в бд чаров для обновления количества перерождений и делать проверку при запросе на перерождение

if (player.getLevel() >= 80 && jobLevel == 3 && количество ваших перерождений < 3)

 

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


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

это уже сложнее, нужно сделать колонку в бд чаров для обновления количества перерождений и делать проверку при запросе на перерождение


if (player.getLevel() >= 80 && jobLevel == 3 && количество ваших перерождений < 3)

 

 

а если сделать исход из етих исходов, то никак не сделать через ядро ? 

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


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

моя аська есть в профиле пиши завтра если над сделаем, сейчас поздно спать хочу) + я не знаю какой ревы у тебя акисы, я тебе делал имея на руках 372 реву

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, LetsVirt сказал:

 

а если сделать исход из етих исходов, то никак не сделать через ядро ? 

можно сделать все что угодно имея на руках ядро и не важно какое, хоть с лыжи на феню хоть наоборот

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


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

моя аська есть в профиле пиши завтра если над сделаем, сейчас поздно спать хочу) + я не знаю какой ревы у тебя акисы, я тебе делал имея на руках 372 реву

пишу в вк ) ибо в аське нету меня) 

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


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

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

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

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

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

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

Войти

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

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

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

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

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