Ver um Único Post
Antigo 03-05-2011, 09:08 PM   #39 (permalink)
l2meteoro
Membro - Capitão
 
Avatar de l2meteoro
 
Registrado em: Jan 2009
Posts: 113
Agradeceu: 177
Agradecido 62 Vezes em 41 Posts
Achei Ruim:
Acharam ruim Vezes em Posts

Inventório de l2meteoro

Padrão OKs Para L2JFrozen

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
/*
 * 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");
    }
}
Este Codigo ja esta pronto para rodar no Frozen

Uhuuuuu Primeiro que conseguir adaptar

( Breve tarei postando na aria de Mods este codico com uma config para facilitar )

Bom para colocalo no Frozen voce terar que ir em

1- C:\L2jFrozen 720\gameserver\data\scripts
2- Dentro desta pasta voce ira criar uma pasta chamada de "events"
3- Dentro da pasta "events" voce ira criar uma outra chamada "TesouroPerdido"
4,1- Dentro da pasta "TesouroPerdido" voce ira criar um arquivo com o bloco de notas
Chamado "TesouroPerdido.java"
4,2- Como crio este arquivo facil Dentro da pasta voce irar "clicar com o botao direito do mouse"
Depois "Novo > Documento de Texto" ira aparecer o arquivo neste arquivo nao de nome a ele ainda
Agora copie o codigo e cole dentro deste arquivo agora voce ira ir no topo do Programa Bloco de Notas
e va em Arquivo > Salvar como > TesouroPerdido.java
... pronto
5- volte a pasta "C:\L2jFrozen 720\gameserver\data" abra o arquivo scripts.cfg e add assim

#java MOD
events/TesouroPerdido/TesouroPerdido.java


>>>> Obrigado Over...

l2meteoro está offline   Responder com Citação
O seguinte membro ao lado disse Obrigado(a) a : l2meteoro por gostar deste Post :
LeoDelux (06-05-2011)
 

Search Engine Optimization by vBSEO 3.3.0