En este codigo os muestro como hacer que al matar un mob/npc nos de el nivel que queramos. En este caso he puesto que nos de nivel 40, y ademas he especificado que si ya tienes nivel 40 no te da el nivel. Solo da nivel 40 a aquellos que tengan menos de dicho nivel.
private static final int NPC_MOB = 666777;
private static final int NIVEL = 40;
if (this.getId() == NPC_MOB)
{
if (killer.getLevel() < NIVEL)
{
byte lvl = killer.getStat().getLevel();
byte lvlup = (byte) (lvl + NIVEL);
killer.getStat().setLevel(lvlup);
killer.broadcastStatusUpdate();
killer.broadcastUserInfo();
killer.sendPacket(new UserInfo(killer));
killer.sendPacket(new ExBrExtraUserInfo(killer));
killer.giveAvailableAutoGetSkills();
killer.giveAvailableSkills(true, true);
killer.sendSkillList();
killer.sendMessage("Congratulations! You are now " + lvlup + " level.");
}
else
{
killer.sendMessage("You've reached level 40!");
}
}
Debes de estar registrado para poder ver el contenido indicado.
Registrate o ConectateEn este codigo os muestro como hacer que al matar un mob/npc nos de el nivel que queramos. En este caso he puesto que nos de nivel 40, y ademas he especificado que si ya tienes nivel 40 no te da el nivel. Solo da nivel 40 a aquellos que tengan menos de dicho nivel.
private static final int NPC_MOB = 666777;
private static final int NIVEL = 40;
if (this.getId() == NPC_MOB)
{
if (killer.getLevel() < NIVEL)
{
byte lvl = killer.getStat().getLevel();
byte lvlup = (byte) (lvl + NIVEL);
killer.getStat().setLevel(lvlup);
killer.broadcastStatusUpdate();
killer.broadcastUserInfo();
killer.sendPacket(new UserInfo(killer));
killer.sendPacket(new ExBrExtraUserInfo(killer));
killer.giveAvailableAutoGetSkills();
killer.giveAvailableSkills(true, true);
killer.sendSkillList();
killer.sendMessage("Congratulations! You are now " + lvlup + " level.");
}
else
{
killer.sendMessage("You've reached level 40!");
}
}
Tengo una consulta, estos codigos donde van pegados? perdon por la ignorancia es que soy nuevo en esto, y quiero entender! .. gracias
Puedes crear una clase nueva y añadirlos.
Lo ideal seria añadir en la clase a todos los mobs.
* Recuerda luego cargar dicha clase en "Script", añadiendo la linea.
Aqui te dejo uno que acabo de hacer, adaptalo antes de compilar el servidor.
Posiblemente tengas que actualizar librerias y/o añadirlas; la clase esta creada desde el note :P
/*
* Copyright © 2004-2022 L2JDevs_Private_Data
*
* 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 <https://www.gnu.org/licenses/>.
*/
package custom;
import org.l2jdevs.gameserver.model.actor.L2Npc;
import org.l2jdevs.gameserver.model.actor.instance.L2PcInstance;
import org.l2jdevs.gameserver.model.quest.Quest;
import org.l2jdevs.gameserver.model.quest.QuestState;
/**
* U3Games - Test kill mob
* @author swarlog
*/
public class U3Games extends Quest
{
private final int NPC_MOB = 666777;
private final int NIVEL = 40;
private u3games ()
{
super(-1, U3Games.class.getSimpleName(), "custom");
for (L2NpcTemplate template : NpcData.getInstance().getAllNpcOfClassType("L2Monster"))
{
if (template != null)
{
addKillId(template.getId());
}
}
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
if (npc.getId() == NPC_MOB)
{
if (killer.getLevel() < NIVEL)
{
byte lvl = killer.getStat().getLevel();
byte lvlup = (byte) (lvl + NIVEL);
killer.getStat().setLevel(lvlup);
killer.broadcastStatusUpdate();
killer.broadcastUserInfo();
killer.sendPacket(new UserInfo(killer));
killer.sendPacket(new ExBrExtraUserInfo(killer));
killer.giveAvailableAutoGetSkills();
killer.giveAvailableSkills(true, true);
killer.sendSkillList();
killer.sendMessage("Congratulations! You are now " + lvlup + " level.");
}
else
{
killer.sendMessage("You've reached level 40!");
}
}
return super.onKill(npc, killer, isSummon);
}
public static void main(String[] args)
{
new U3Games();
}
}
Como dijo Debes de estar registrado para poder ver el contenido indicado.
Registrate o
Conectate, recuerda agregar la línea de esa nueva clase en el archivo Script.