Index: datapack/data/scripts/events/tesouro perdido/TesouroPerdido.java
===================================================================
--- /datapack/data/scripts/events/tesouro perdido/TesouroPerdido.java (revision 1035)
+++ /datapack/data/scripts/events/tesouro perdido/TesouroPerdido.java (revision 2532)
@@ -00,0 +13891,23 @@
/**
* 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 events.TesouroPerdido;
import java.util.List;
import java.util.Map;
import javolution.util.FastList;
import javolution.util.FastMap;
import com.l2jfrozen.gameserver.model.entity.Announcements;
import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.quest.Quest;
import com.l2jfrozen.util.random.Rnd;
/**
* @author TheOne
* @version Over12 - Configurado , e Fixados erros.
*/
public class TesouroPerdido extends Quest
{
private static final String qn = "TesouroPerdido";
private static final int _eventInterval = 4 * 60 * 60 * 1000; // Intervalo do Evento em 4 em 4 horas.
private static final int _firstStart = 2 * 60 * 1000; //Apos religar o servidor inicia o evento automaticamente 10 minuto.
private static final int _mobInterval = 1 * 60 * 60 * 1000;//1 Hora ate matar o Mob.
private static L2NpcInstance RbSpawn = null;
private static final String[][] Mobs = {
{ "Tesouro Perdido", "20629" }, //Npc para usar
};
private static final String[][] RbCoords = { // Valores aleatorios.
{ "Primeval Isle", "10724,-23729,-3650" }, // Coordenadas de onde pode aparecer o mob ou tesouro , pegar Coordenadas no game e adicionar.
{ "Primeval Isle", "10724,-23729,-3650" },
};
private static final int MOUNT = 5;
private static final int[][] REWARD = {//id,amount,chance
{ 5592, Rnd.get(1, MOUNT), 90 },//Greater CP Potion
{ 57, Rnd.get(2000000000, MOUNT), 90 },//2kkk deAdena
};
private static Map<Integer, String> Mobs_ = new FastMap<Integer, String>();
private static List<Integer> MobsId = new FastList<Integer>();
private static List<String> MobsLocName = new FastList<String>();
private static List<Integer> MobsX = new FastList<Integer>();
private static List<Integer> MobsY = new FastList<Integer>();
private static List<Integer> MobsZ = new FastList<Integer>();
static
{
for (String[] monster : Mobs)
{
Mobs_.put(Integer.valueOf(monster[1]), monster[0]);
MobsId.add(Integer.valueOf(monster[1]));
}
for (String[] mobCoords : RbCoords)
{
String[] coords = mobCoords[1].split(",");
MobsLocName.add(mobCoords[0]);
MobsX.add(Integer.valueOf(coords[0]));
MobsY.add(Integer.valueOf(coords[1]));
MobsZ.add(Integer.valueOf(coords[2]));
}
}
public TesouroPerdido(int questId, String name, String descr)
{
super(questId, name, descr);
for (int mobsid : MobsId)
{
addKillId(mobsid);
}
this.startQuestTimer("raidSpawn", _firstStart, null, null);
}
@Override
public String onAdvEvent(String event, L2NpcInstance npc, L2PcInstance player)
{
if (event.equalsIgnoreCase("raidSpawn"))
{
int rbId = Rnd.get(MobsId.size());//id
int rbLoc = Rnd.get(RbCoords.length);//loc
String mob = Mobs_.get(MobsId.get(rbId));
Announcements.getInstance().announceToAll("Mob Apareceu use o comando /loc para localizar o mob: " + MobsX + " | " + MobsY + " | " + MobsZ + ".");
System.out.println("# Mob Evento Iniciado (" + mob + ")!");
RbSpawn = this.addSpawn(MobsId.get(rbId), MobsX.get(rbLoc), MobsY.get(rbLoc), MobsZ.get(rbLoc), 0, false, 0);
this.startQuestTimer("RbDespawn", _mobInterval, null, null);
}
if (event.equalsIgnoreCase("RbDespawn"))
{
this.startQuestTimer("raidSpawn", _eventInterval, null, null);
RbSpawn.deleteMe();
Announcements.getInstance().announceToAll("Ninguem derrotou o Mob.");
System.out.println("# Evento desapareu.!");
}
return null;
}
@Override
public String onKill(L2NpcInstance npc, L2PcInstance player, boolean isPet)
{
if (npc == RbSpawn)
{
if (npc.getObjectId() == RbSpawn.getObjectId())
{
for (L2PcInstance p : npc.getKnownList().getKnownPlayersInRadius(300))
{
if (!p.isDead())
{
p.sendMessage("Recompensa por ter Vencido!");
for (int[] item : REWARD)
{
switch (item[0])
{
default:
{
if (Rnd.get(100) <= item[2])
p.addItem(qn, item[0], item[1], player, true);
}
break;
}
}
}
}
}
}
this.startQuestTimer("raidSpawn", _eventInterval, null, null);
this.cancelQuestTimer("RbDespawn", null, null);
String name = player.getName();
Announcements.getInstance().announceToAll("Parabens " + name + " .");
Announcements.getInstance().announceToAll("Parabens derrotaram o Mob!");
System.out.println("# Mob Morto !!");
return null;
}
public static void main(String[] args)
{
new TesouroPerdido(-1, qn, "events");
System.out.println(qn + " - ON");
}
}
SELLING AN ANNOUNCER SCRIPT! SIMILAR TO L2OOPS / L2HOP. THE SCRIPT HAS BEEN A LITTLE REDONE, VISUALLY SIMILAR TO THESE ANNOUNCERS, THE PRICE IS VERY GOOD. WE SHOW EVERYTHING HOW TO USE IT, ETC.
DISCORD - adver745645
TELEGRAM - MMOPROMO
WE SELL ADEN, GAME ITEMS AT VERY GOOD PRICES. DISCORD - MMOPROMOOO / TELEGRAM - MMOPROMO
АА
WE SELL ADEN, GAME ITEMS AT VERY GOOD PRICES.
DISCORD - MMOPROMOOO
TELEGRAM - MMOPROMO
I ment interface.u file it self not the code. I can view the file and code inside, but I was unable to edit interface.u file to add the code u shared, could u please share the compiled interface.u file it self?
Sorry my bad, I was compiling incorrectly, I looked up for correct compiler, works nicely! Both, Celestine and your version, works nicely! Ty
Question: what's the reason for disallowing songs/dances to be removed? I'm asking as some1 who has full buff npc buffer, with available option to throw on and off any buffs any time, would this block still makes usage?
// Dance-like skill effect can't be dispelled
if ( skill. isDance ( ) )
{
return ;
}
Question
axcel2
adpat for l2jfrozen current 936 pleasee
2 answers to this question
Recommended Posts