Secret Experience

Secret Experience (https://secretexperience.net/)
-   [L2J] Pedidos (https://secretexperience.net/l2j-pedidos/)
-   -   [Java] Um novo evento - painel de voto website (https://secretexperience.net/l2j-pedidos/28292-um-novo-evento-painel-de-voto-website.html)

luisa 12-12-2010 04:40 PM

Um novo evento - painel de voto website
 
BOM, TENHO 2 PEDIDOS
PRIMEIRO
Um evendo igual do L2 IMPERIUM onde é assim: o evento é aleatorio, do nada aparece no announceaments que foi dado spawn em um TAL NPC (mob, ou npc mesmo) e no annouceaments tem la o premio do evento (no caso, qnd o cara mata o mob dropa esse item) a localidade (onde o npc esta) e o tempo para o povo achar o npc

achei muito bacana e queria saber se alguem tem o mod desse evento, chama Treasure Box no L2 IMPERIUM

SEGUNDO
Como eu vi que tem 2 sistema de voto aki no forum pra website (sistema onde voce da um voto, junta pontos e troca pelo proprio site por itens especiais) mais os paineis que tem no forum nao funcionam, ou os donos nao dao suporte, me pergunto PORQUE POSTARAM ENTAO? :s tenso
bom queria saber se alguem tem um painel de voto deste para disponibilizar


CONCLUSAO
Se alguem tiver um destes 2 pedidos ai, manda PM ou fala por aqui mesmo, ou posta o link aqui em baixo


agradecida

LeoDelux 14-12-2010 03:30 AM

Sobre o Evento,Duvido do ADM do Imperium postar,pois já que não tem aqui no Forum e exclusivo dele,meio dificil alguem ter mas não impossivel.

Os Paineis de votos aqui do Forum funciona todos s 2,basta vc configurar de acordo com sua database Ex : Tabela characters ( na config do painel pede para colocar como na tabela characters, se é ObjID ou CharId . )

lordvenancio 14-12-2010 09:04 AM

Negativo nenhum dos dois eu conseguir fazer funcionar mas deve ser pq to usando gracia freya !

luisa 14-12-2010 09:28 AM

Nenhum dos dois eu consegui fazer funcionar
uso l2jteon , mechi mechi e nada, eu até adicionei o dono do painel, o cara que fez e pedi ajuda a ele, nem ele conseguiu fazer funcionar

B1Z4R0 14-12-2010 12:14 PM

sobre o event o adm do l2 ufs acho que tem, se vc falar com ele talves ele vende!
sobre o painel, aki no forum vc acha mas nao sei se funcionar ou tem bug! se quiser um bom tera que gastar R$$!! como o do meu [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

luisa 14-12-2010 12:55 PM

bizarro
vc tem o contato desse dono do l2 ufs ?

e vc pagou quanto nesse painel de voto?

xadresz 14-12-2010 02:19 PM

@luisa,
Sobre o Painel você terá que contatar algum cara que entenda, eu aconselho o "mend3", ele entende muito disto, entre em contato com ele.
Sobre o evento Caça ao tesouro, creio que quem criou foi o ADMIN do UFS, aqui no forum chamado como VslDream, entre em contato com ele também.

.Over12 14-12-2010 02:35 PM

Tá ai em java o evento para fazer com tesouro..
Deverá pegar as LOC do game e adicionar ai , e o sistema irá pegar de forma aleatorio as coordenadas..
Sistema era de Evento de Boss porém a um tempo atrás fiz modificações para que seje de matar um certo Mob, porém no caso aqui você pode por uma baú ou qualquer coisa que seje para suprir suas necessidades.
Só muda os Dizeres..

Código:

/*
 * 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.l2jserver.gameserver.Announcements;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.util.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 = 10 * 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 L2Npc RbSpawn = null;
    private static final String[][] Mobs = {
        { "Tesouro Perdido", "60001" }, //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
    { 9546, Rnd.get(1, MOUNT), 90 },//Fire Stone
    { 9552, Rnd.get(1, MOUNT), 7 },//Fire crystal
    { 9558, Rnd.get(1, MOUNT), 1 },//Fire jewel
   
    { 9547, Rnd.get(1, MOUNT), 90 },//Water Stone
    { 9553, Rnd.get(1, MOUNT), 7 },//Water crystal
    { 9559, Rnd.get(1, MOUNT), 1 },//Water jewel
   
    { 9548, Rnd.get(1, MOUNT), 90 },//Earth Stone
    { 9554, Rnd.get(1, MOUNT), 7 },//Earth crystal
    { 9560, Rnd.get(1, MOUNT), 1 },//Earth jewel
   
    { 9549, Rnd.get(1, MOUNT), 90 },//Wind Stone
    { 9555, Rnd.get(1, MOUNT), 7 },//Wind crystal
    { 9561, Rnd.get(1, MOUNT), 1 },//Wind jewel
   
    { 9550, Rnd.get(1, MOUNT), 90 },//Dark Stone
    { 9556, Rnd.get(1, MOUNT), 7 },//Dark crystal
    { 9562, Rnd.get(1, MOUNT), 1 },//Wind jewel
   
    { 9551, Rnd.get(1, MOUNT), 90 },//Divine Stone
    { 9557, Rnd.get(1, MOUNT), 7 },//Divine crystal
    { 9563, Rnd.get(1, MOUNT), 1 },//Divine jewel
       
        { 6393, Rnd.get(10, MOUNT), 90 },
        { 60020, Rnd.get(1, MOUNT), 90 },
   
    { 60021, Rnd.get(1, MOUNT), 40 },//Festival Adena
    { 14169, 1, 33 },//Top-Grade Life Stone - level 84
    };
    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, L2Npc 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));
            String location = MobsLocName.get(rbLoc);
            Announcements.getInstance().announceToAll("Mob Apareceu: " + mob + " em : " + location + ", Corra para mata-lo , em 1 hora ele sumira");
            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(L2Npc npc, L2PcInstance player, boolean isPet)
    {
        if (npc == RbSpawn)
        {
            if (npc.getObjectId() == RbSpawn.getObjectId())
            {
                for (L2PcInstance p : npc.getKnownList().getKnownPlayersInRadius(1300))
                {
                    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);
        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");
    }
}


L2 DF 14-12-2010 02:42 PM

Show de bola Over12, obrigado.

.Over12 14-12-2010 04:18 PM

@L2DF; respondendo o seu ERRO que você enviou pelo MP..

Se você da uma olhada nessa linha:
package events.TesouroPerdido // Quer dizer que o arquivo tem que ser Salvo com o nome TesouroPerdido.java e colocado dentro da pasta do Gameserver/scripts/events/TesouroPerdido/ e aqui dentro o arquivo Java.

e ir no arquivo Scripts.cfg e adicionar a linha..

events/TesouroPerdido/TesouroPerdido.java

Depois so reiniciar o servidor e esperar 10 minutos que iniciará o evento.

Simples né.. ^^

L2 DF 14-12-2010 04:21 PM

kkkkk', nossa que rata minha, cara.
Obrigadão aí. :D

luisa 14-12-2010 04:31 PM

OVER12 *-------------*
EU TE AMO moço


OVER12

esse mod ja ta editado certinho? só ligar?

ah otra cisa, no codigo nao aparece os arquivos que devo editar no mmcore
qual a localizacao?

L2 DF 14-12-2010 04:55 PM

Over12, consegui fazer funcionar, foi tudo de boa deu spawn e tudo. Mas, quando fui matar ela e pegar o premio, apareceu uma janela dizendo "script error".
No gameserver apareceu este error. Estou usando ele no Interlude.

Código:

...\data\scripts\events\TesouroPerdido\Te
souroPerdido.java
java.lang.NullPointerException
        at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.addItem(L2PcI
nstance.java:2691)
        at events.TesouroPerdido.TesouroPerdido.onKill(Unknown Source)
        at net.sf.l2j.gameserver.model.quest.Quest.notifyKill(Quest.java:513)
        at net.sf.l2j.gameserver.model.L2Attackable$OnKillNotifyTask.run(L2Attac
kable.java:520)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$301(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)


.Over12 14-12-2010 04:55 PM

Tá editado pro meu servidor..
Você tem que configurar para o seu agora..

Locais importante para editar, pelo que vi você quer por algo para turma achar tesouro certo?

Cria uma Npc Custom( Aparencia de Bau ) pega o ID dessa npc e adicione nessa linha:

Código:

{ "Tesouro Perdido", "60001" }
// Já ta alto explicativa o 60001 é o Id da npc, e o nome da Npc que será o Baú..

Se voce quiser adicionar várias areas.. para turma procurar , deverá ir no Game e digitar loc dos locais ( Principais ) e adicionar nessa linha:

Código:

{ "Primeval Isle", "10724,-23729,-3650" },
// Adiciona o Nome do Local ou adicionar alguma dica pra turma acha o Bau em uma area.. e o restant é o X, Y, e Z das coordenads do game. se for adicinar vários locais apenas copie a linha e vai adicinonando uma abaixo da outra.

Aqui você configura o que o seu Bau pode dar de item..

Código:

private static final int[][] REWARD = {//id,amount,chance
    { 9546, Rnd.get(1, MOUNT), 90 },//Fire Stone

Já ta meio explicando como que é .. [/code]

Por fim mude os Dizeres que irá surgir no Anuncio do Game..

Código:

l("Mob Apareceu: " + mob + " em : " + location + ", Corra para mata-lo , em 1 hora ele sumira");
O que tá de vermelho , não é bom tirar por que fiz umas concatenações que indica o Nome do Npc , ou Mob ou que for, e o Local que iráa aparecer ( Nao as coordenadas mais sim a area que vc por, Exemplo: Dica: Proximo a Hunter village e bla bla ) ..
Modifica apenas entre " "

Creio que deu pra entender.. ;)


---------------------------------------------

@L2DF; Eu fiz esse Script para Freya, provavelmente tem algumas incompatibilidades para a versão Interlude na hora de Add o item no iventorio deve ser algo antigo que o Interlude não foi atualizado, pra mim pode corrigir somente se eu tivesse Interlude aqui pra mexer porém não mexo no Interlude já tem um Long time.. rss
Creio que funfe na versão Gracia pra cima essa sistema ai.

Ou se você conseguir modificar para IL , ai será possivel também.. ;P

att..

xadresz 14-12-2010 05:12 PM

Aoooooooooonde que o over deu esse evento pra galera *----------* cara vo testa tudo aqui depois, agora não da pois tenho muitas skills para editar. O mais breve possível estarei testando.
Obrigado!


@EDIT

Bom comigo deu este error:
Código:

----------
1. ERROR in \TesouroPerdido.java (at line 40)
        private static L2Npc RbSpawn = null;
                      ^^^^^
L2Npc cannot be resolved to a type
----------
2. ERROR in \TesouroPerdido.java (at line 118)
        public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
                                              ^^^^^
L2Npc cannot be resolved to a type
----------
3. ERROR in \TesouroPerdido.java (at line 128)
        RbSpawn = this.addSpawn(MobsId.get(rbId), MobsX.get(rbLoc), MobsY.get(rb
Loc), MobsZ.get(rbLoc), 0, false, 0);
        ^^^^^^^
RbSpawn cannot be resolved
----------
4. ERROR in \TesouroPerdido.java (at line 135)
        RbSpawn.deleteMe();
        ^^^^^^^
RbSpawn cannot be resolved
----------
5. ERROR in \TesouroPerdido.java (at line 143)
        public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
                            ^^^^^
L2Npc cannot be resolved to a type
----------
6. ERROR in \TesouroPerdido.java (at line 145)
        if (npc == RbSpawn)
                  ^^^^^^^
RbSpawn cannot be resolved
----------
7. ERROR in \TesouroPerdido.java (at line 147)
        if (npc.getObjectId() == RbSpawn.getObjectId())
                                ^^^^^^^
RbSpawn cannot be resolved
----------
7 problems (7 errors)L2Npc cannot be resolved to a type
L2Npc cannot be resolved to a type
L2Npc cannot be resolved to a type
RbSpawn cannot be resolved
RbSpawn cannot be resolved
RbSpawn cannot be resolved
RbSpawn cannot be resolved
Failed executing script: C:\Server\Server\Elite Game_Server\data\scripts\custom\
TesouroPerdido\TesouroPerdido.java. See TesouroPerdido.java.error.log for detail
s.

e no error.log deu isto:
Código:

Error on: C:\Server\Server\Elite Game_Server\data\scripts\custom\TesouroPerdido\TesouroPerdido.java.error.log
Line: -1 - Column: -1

compilation failed

Obs: Eu mudei os import e fiquei em dúvida sobre o L2Npc.java, no caso o meu é jteon então seria L2NpcInstance.java certo?
Código:

import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.quest.Quest;
import net.sf.l2j.util.Rnd;

Vlw!

L2 DF 14-12-2010 11:22 PM

Mude todo o L2Npc para L2NpcInstance.

jpsmaster16 15-12-2010 12:28 AM

@
Antes de mais nada, confirmo que ela entrou em contato comigo sobre o meu painel de voto, solicitei o DB dela e disse que não poderia dar suporte logo nesses dias pois estou com problema em meu server e também estou de viajem.

E por favor , so pq o meu painel não esta funcionando com você, não ouse em falar que nenhum painel do fórum funciona, a rpova do funcionamento são os agradecimentos e posts disendo que o mesmo funciona.

xadresz 15-12-2010 12:25 PM

Tenho uma dúvida sobre o evento, no caso eu testei e funcionou, quando cliquei ele entregou os itens porém da script error.
Gostaria de saber como faço para ele Dizer no All as Coordenadas X,Y,Z e próximo a qual cidade, porque ele fala assim "o tesouro está em Dark Elven Village", queria q falasse por exemplo: "O tesouro está em: X: 123456, Y: 1234, Z: -9563, Próxima a Dark Elven Village" Entenderam? Acho que é fácil mas como sou leigo em java ainda, gostaria que me ajudassem :twitcy:

@EDIT
Antes que me digam, já consegui :D
Vlw!

.Over12 15-12-2010 01:01 PM

@xadresz; 2 formas..

adiciona dentro das linhas:

Antes:
{ "Primeval Isle", "10724,-23729,-3650" },
Depois:
{ "Primeval Isle Coord: X=10724,Y=-23729,Z=-3650", "10724,-23729,-3650" },

Ou fazer uma concatenação com os dados, porém to sem o eclipse nessa maquina para montar com a concatenaçaão, porém o que falei acima é mais facil e rapido tambem..

xadresz 15-12-2010 01:10 PM

@.Over12
Eu fiz pela concatenação dos dados... fiz assim:
Código:

Announcements.getInstance().announceToAll("O tesouro esta em : " + MobsX + " | " + MobsY + " | " + MobsZ + ".");
^^

L2 DF 15-12-2010 01:20 PM

Cara, tô quebrando a cabeça pra conseguir arrumar esse negócio de script error, mais até agora nada. :X

xadresz 15-12-2010 02:08 PM

Eu consegui arrumar ^^
Quer uma dica? Mude os Prêmios lá em cima, igual eu ex:
Código:

        private static final int MOUNT = 5;
    private static final int[][] REWARD = {//id,amount,chance
    { 21000, Rnd.get(10, MOUNT), 100 },//Donator Pass
    };

Comigo Funcionou ;D
Flw!

L2 DF 15-12-2010 02:21 PM

Opa, deu certo. Obrigadão. :D

xadresz 15-12-2010 02:29 PM

Bom tenho uma outra dúvida sobre quando o evento acaba, eu gostaria de colocar para aparecer qual player venceu, tipo "Tesouro encontrado, "ADMIN" foi o vencedor, até a proxima." Tipo esse ^^ no caso aqui:
Código:

if (!p.isDead())
                    {
                        p.sendMessage("Parabens, voce encontrou o tesouro, pegue sua recompensa!");
                        for (int[] item : REWARD)
                        {

O que eu colocaria?
Vlw!

L2 DF 15-12-2010 02:56 PM

Código:

        String name = player.getName();
        Announcements.getInstance().announceToAll("Parabens derrotaram o Mob! " + name + " .");

Tá aí. (:

JohnScott 15-12-2010 03:09 PM

@luisa
Eu testei e intalei os paineis de voto, assim tb como os de troca de pvp,pk e etc por prémios no servidor que tem aqui no fórum e todos tão funcionando perfeitamente. Procure seguir as intruções que vem junto dos downloads passo a passo e com bastante paciência, dependendo do projeto que vc está usando vc terá ou não que alterar alguns dados nos scripts dos painéis para que funcionem perfeitamente. Se precisar ou quiser me fala o projeto q vc ta usando e o painel que ta tentando add que deixo ele pronto pra vc blz...Flw! :GEEK:

.Over12 15-12-2010 03:29 PM

Isso ai galera , poem a cabeça pra roda que jaá sai as ajuda..
rss
Até +!

xadresz 15-12-2010 03:38 PM

Ok, agora tenho uma dúvida sobre os Prêmios, ele ta entregando TUDO o que tem na lista, gostaria de saber se eu colocando a variável aleatória ele entrega o premio aleatório igual os locais onde ela aparece.
Código:

        private static final int MOUNT = 5;
    private static final int[][] REWARD = {//id,amount,chance
    { 21000, Rnd.get(5, MOUNT), 30 }, //Donator Pass
    { 21005, Rnd.get(15000, MOUNT), 80 }, //Skull Coin
    { 3470, Rnd.get(25000, MOUNT), 75 }, //Gold Bar
    { 4674, Rnd.get(9000, MOUNT), 85 }, //Nucleos Medal
    { 4676, Rnd.get(10000, MOUNT), 80 }, //Dragon Medal
    { 961, Rnd.get(3, MOUNT), 40 }, //Crystal Scroll Enchant (S)
    { 962, Rnd.get(4, MOUNT), 45 }, //Crystal Scroll Enchant (S)
    { 21004, Rnd.get(65, MOUNT), 60 }, //Adena Event L2 Elite
    };

Colocar esta variavel:
Código:

private static final String[][] RbCoords = {  // Valores aleatorios.
Ficaria como??
Vlw!

L2 DF 15-12-2010 03:58 PM

É só você mudar a chance de receber o item. Já tentou? :D

xadresz 15-12-2010 04:01 PM

Sim ja tentei, não tem nada 100%, está tudo misturado.
Gostaria que ele entregasse 1 Item somente desta lista :S

.Over12 15-12-2010 04:05 PM

private static final int[][] REWARD ... isso aqui int [][] significa que ele ta criando uma Array que no caso é a lista que temos ai , porém já ta fazendo uma forma aleatorio..
No caso voce devera por a Chance menor para que ele entregue os itens "aleatorios"

erickzinho 17-12-2010 09:23 PM

Over12, esse evento por acaso da item para todos que esta logado ou só para quem matou, pq o mob deu spawn normal, matei ele e veio item para um cara que tava na mesma area, ele nen chego perto do mob

----- Edit-----

estava vendo aqui o script, no caso Todas pessoas no Raio de 1300 Ganha o Item ?

xadresz 17-12-2010 09:58 PM

Comigo também da isto.

erickzinho 18-12-2010 01:03 AM

Tipo
aqui eu configurei o mob para nao dar Muito Dano, mais ele demora para matar, para dar tempo de uma galera chegar, oque vc pode fazer

apagar a linha do script que da o Item para todos os Chars no raio de 1300
e no proprio Mob add um Drop Normal, ai quem der o ultimo Hit vai ganhar os itens
intendeu ?

se deixar assim é perigoso os cara levar uns 4 char e ficar perto do mob

fasterkill 18-01-2011 01:39 AM

alguem ai poderia postar o mod completo funcionando pra mim , se possivel.. grato ,é q n sei mexer muiito ai n consegui fazer ele copiando as partes q vcs postaram .... se der pra fazer um com um bau q drope 5k d Fa ...grato d novo =P:notworthy:

isacasj91 21-01-2011 10:34 AM


@LUISA

Bom os 2 Eventos não tenho certeza.
Mais o de voto a Rev L2jFrozen possui 2 tipos de mod de voto [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

Aproveitando que olhei alguns posts seus e você está a procura de uma rev estavel, Até agorea ninguem reclamou da Frozen e o projeto anda bem com atualizações a todo momento.

LineageIII 05-04-2011 12:49 PM

esse evento e interlude?

allanalcantara 05-04-2011 01:50 PM

@luisa ...
o melhor vote daqui que eu DIGO E RECOMENDO que está funcionando 100%
testei e tudo mais ...
é o do JP . ele fez um ótimo trabalho . e postou pra negada
link:[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

e sobre o mod, over12 parabéns ... gostei do mod, vou postalo lá em java mods, pra ajudar quem precisar dele. ^^ abraços!

l2meteoro 03-05-2011 09:08 PM

OKs Para L2JFrozen
 
Código:

/*
 * 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...

L2 DF 03-05-2011 10:13 PM

Certeza que isso funciona na Frozen?


Horários baseados na GMT -3. Agora são 03:13 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0