Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Área L2J > [L2J] Dúvidas > [L2J] Dúvidas Solucionadas
Registrar Loteria VIPStaff SERegras do fórum Comunidade Arcade Postados Hoje Pesquisar Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

 
 
LinkBack Ferramentas do Tópico Modos de Exibição
Prev Post Anterior   Próximo Post Next
Antigo 31-01-2011, 12:36 PM   #1 (permalink)
Membro - Recruta
 
Avatar de thiishakete
 
Registrado em: Jan 2011
Posts: 1
Agradeceu: 2
Agradecido 0 Vezes em 0 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:

Inventório de thiishakete

Padrão [DUVIDAS] Problemas com Valakas

bom dia estou com um problema com o Valakas do projeto L2J-Brasil. eis o erro

[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

bom eu não consegui resolver, se alguem ja usou essa revisão e conseguiu e puder me ajudar obrigado..

eis aki também o arquivo do valakas no jogo..

/*
* 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 ai.individual;

import static net.sf.l2j.gameserver.ai.CtrlIntention.AI_INTENTIO N_FOLLOW;
import static net.sf.l2j.gameserver.ai.CtrlIntention.AI_INTENTIO N_IDLE;

import java.util.Collection;

import javolution.util.FastList;
import ai.group_template.L2AttackableAIScript;

import net.sf.l2j.ExternalConfig;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.instancemanager.GrandBossMan ager;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.L2Summon;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcIn stance;
import net.sf.l2j.gameserver.model.actor.instance.L2Grand BossInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcIns tance;
import net.sf.l2j.gameserver.model.quest.QuestTimer;
import net.sf.l2j.gameserver.model.zone.type.L2BossZone;
import net.sf.l2j.gameserver.network.serverpackets.PlaySo und;
import net.sf.l2j.gameserver.network.serverpackets.Social Action;
import net.sf.l2j.gameserver.network.serverpackets.Specia lCamera;
import net.sf.l2j.gameserver.templates.StatsSet;
import net.sf.l2j.gameserver.util.Util;
import net.sf.l2j.util.Rnd;

/**
* Valakas AI
* @author Kerberos
*/
public class Valakas extends L2AttackableAIScript
{
private int i_ai0 = 0;
private int i_ai1 = 0;
private int i_ai2 = 0;
private int i_ai3 = 0;
private int i_ai4 = 0;
private int i_quest0 = 0;
private long i_quest1 = 0; // time to tracking valakas when was last time attacked
private int i_quest2 = 0; // hate value for 1st player
private int i_quest3 = 0; // hate value for 2nd player
private int i_quest4 = 0; // hate value for 3rd player
private L2Character c_quest2 = null; // 1st most hated target
private L2Character c_quest3 = null; // 2nd most hated target
private L2Character c_quest4 = null; // 3rd most hated target

private static final int VALAKAS = 29028;

//Valakas Status Tracking :
private static final byte DORMANT = 0; //Valakas is spawned and no one has entered yet. Entry is unlocked
private static final byte WAITING = 1; //Valakas is spawend and someone has entered, triggering a 30 minute window for additional people to enter
//before he unleashes his attack. Entry is unlocked
private static final byte FIGHTING = 2; //Valakas is engaged in battle, annihilating his foes. Entry is locked
private static final byte DEAD = 3; //Valakas has been killed. Entry is locked

private static L2BossZone _Zone;

// Boss: Valakas
public Valakas(int id,String name,String descr)
{
super(id,name,descr);
int[] mob = {VALAKAS};
this.registerMobs(mob);
i_ai0 = 0;
i_ai1 = 0;
i_ai2 = 0;
i_ai3 = 0;
i_ai4 = 0;
i_quest0 = 0;
i_quest1 = System.currentTimeMillis();
_Zone = GrandBossManager.getInstance().getZone(212852,-114842,-1632);
StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS );
int status = GrandBossManager.getInstance().getBossStatus(VALAK AS);
if (status == DEAD)
{
// load the unlock date and time for valakas from DB
long temp = info.getLong("respawn_time") - System.currentTimeMillis();
// if valakas is locked until a certain time, mark it so and start the unlock timer
// the unlock time has not yet expired. Mark valakas as currently locked. Setup a timer
// to fire at the correct time (calculate the time between now and the unlock time,
// setup a timer to fire after that many msec)
if (temp > 0)
{
this.startQuestTimer("valakas_unlock", temp, null, null);
}
else
{
// the time has already expired while the server was offline. Immediately spawn valakas in his cave.
// also, the status needs to be changed to DORMANT
L2GrandBossInstance valakas = (L2GrandBossInstance) addSpawn(VALAKAS,-105200,-253104,-15264,0,false,0);
GrandBossManager.getInstance().setBossStatus(VALAK AS,DORMANT);
GrandBossManager.getInstance().addBoss(valakas);
final L2NpcInstance _valakas = valakas;
ThreadPoolManager.getInstance().scheduleGeneral(ne w Runnable() {
public void run()
{
try
{
_valakas.setIsInvul(true);
_valakas.setRunning();
}
catch (Throwable e)
{
}
}
},100L);
startQuestTimer("1003", 60000, valakas, null, true);
}
}
else
{
int loc_x = info.getInteger("loc_x");
int loc_y = info.getInteger("loc_y");
int loc_z = info.getInteger("loc_z");
int heading = info.getInteger("heading");
final int hp = info.getInteger("currentHP");
final int mp = info.getInteger("currentMP");
L2GrandBossInstance valakas = (L2GrandBossInstance) addSpawn(VALAKAS,loc_x,loc_y,loc_z,heading,false,0 );
GrandBossManager.getInstance().addBoss(valakas);
final L2NpcInstance _valakas = valakas;
final int _status = status;
ThreadPoolManager.getInstance().scheduleGeneral(ne w Runnable() {
public void run()
{
try
{
_valakas.setCurrentHpMp(hp,mp);
if (_status != FIGHTING) _valakas.setIsInvul(true);
_valakas.setRunning();
}
catch (Throwable e)
{
}
}
},100L);

startQuestTimer("1003", 60000, valakas, null, true);
if (status == WAITING)
{
// Start timer to lock entry after 30 minutes
startQuestTimer("1001",ExternalConfig.Valakas_Wait _Time, valakas, null);
}
else if (status == FIGHTING)
{
// Start repeating timer to check for inactivity
startQuestTimer("1002",60000, valakas, null, true);
valakas.setIsInvul(false);
}
}
}

public String onAdvEvent (String event, L2NpcInstance npc, L2PcInstance player)
{
if (npc != null)
{
long temp = 0;
if (event.equalsIgnoreCase("1001"))
{
npc.teleToLocation(212852,-114842,-1632);
// delete me once animations available
GrandBossManager.getInstance().setBossStatus(VALAK AS,FIGHTING);
//
i_quest1 = System.currentTimeMillis();
final L2NpcInstance _valakas = npc;
ThreadPoolManager.getInstance().scheduleGeneral(ne w Runnable() {
public void run()
{
try
{
broadcastSpawn(_valakas);
}
catch (Throwable e)
{
}
}
},1L);
startQuestTimer("1004",2000, npc, null);
}
else if (event.equalsIgnoreCase("1002"))
{
int lvl = 0;
int sk_4691 = 0;
L2Effect[] effects = npc.getAllEffects();
if (effects.length != 0 || effects != null)
{
for (L2Effect e : effects)
{
if (e.getSkill().getId() == 4629)
{
sk_4691 = 1;
lvl = e.getSkill().getLevel();
break;
}
}
}
if (GrandBossManager.getInstance().getBossStatus(VALA KAS) == FIGHTING)
{
temp = System.currentTimeMillis() - i_quest1;
if (temp > 900000)
{
npc.getAI().setIntention(AI_INTENTION_IDLE);
npc.teleToLocation(-105200,-253104,-15264);
GrandBossManager.getInstance().setBossStatus(VALAK AS,DORMANT);
npc.setCurrentHpMp(npc.getMaxHp(),npc.getMaxMp());
_Zone.oustAllPlayers();
cancelQuestTimer("1002", npc, null);
i_quest2 = 0;
i_quest3 = 0;
i_quest4 = 0;
}
}
else if (npc.getCurrentHp() > npc.getMaxHp() * 1 / 4 )
{
if (sk_4691 == 0 ||sk_4691 == 1 && lvl != 4)
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691,4 ));
}
}
else if (npc.getCurrentHp() > npc.getMaxHp() * 2 / 4 )
{
if (sk_4691 == 0 ||sk_4691 == 1 && lvl != 3)
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691,3 ));
}
}
else if (npc.getCurrentHp() > npc.getMaxHp() * 3 / 4 )
{
if (sk_4691 == 0 ||sk_4691 == 1 && lvl != 2)
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691,2 ));
}
}
else if (sk_4691 == 0 ||sk_4691 == 1 && lvl != 1)
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691,1 ));
}
}
else if (event.equalsIgnoreCase("1003") && npc != null)
{
if (!npc.isInvul())
getRandomSkill(npc);
else
npc.getAI().setIntention(AI_INTENTION_IDLE);
}
else if (event.equalsIgnoreCase("1004"))
{
startQuestTimer("1102",1500, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),180,-1,1500,15000,10000));
}
else if (event.equalsIgnoreCase("1102"))
{
startQuestTimer("1103",3300, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),180,-5,3000,15000,10000));
}
else if (event.equalsIgnoreCase("1103"))
{
startQuestTimer("1104",2900, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),180,-8,600,15000,10000));
}
else if (event.equalsIgnoreCase("1104"))
{
startQuestTimer("1105",2700, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),180,-8,2700,15000,10000));
}
else if (event.equalsIgnoreCase("1105"))
{
startQuestTimer("1106",1, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),250,70,0,15000,100 00));
}
else if (event.equalsIgnoreCase("1106"))
{
startQuestTimer("1107",3200, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),250,70,2500,15000, 10000));
}
else if (event.equalsIgnoreCase("1107"))
{
startQuestTimer("1108",1400, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),150,30,0,15000,100 00));
}
else if (event.equalsIgnoreCase("1108"))
{
startQuestTimer("1109",6700, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),150,20,2900,15000, 10000));
}
else if (event.equalsIgnoreCase("1109"))
{
startQuestTimer("1110",5700, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),170,-10,3400,15000,4000));
}
else if (event.equalsIgnoreCase("1110"))
{
// uncoment me once animations available
//GrandBossManager.getInstance().setBossStatus(VALAK AS,FIGHTING);
startQuestTimer("1002",60000, npc, null, true);
npc.setIsInvul(false);
getRandomSkill(npc);
}
else if (event.equalsIgnoreCase("1111"))
{
startQuestTimer("1112",3500, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),210,-5,3000,15000,10000));
}
else if (event.equalsIgnoreCase("1112"))
{
startQuestTimer("1113",4500, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),200,-8,3000,15000,10000));
}
else if (event.equalsIgnoreCase("1113"))
{
startQuestTimer("1114",500, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),190,0,500,15000,10 000));
}
else if (event.equalsIgnoreCase("1114"))
{
startQuestTimer("1115",4600, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),120,0,2500,15000,1 0000));
}
else if (event.equalsIgnoreCase("1115"))
{
startQuestTimer("1116",750, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),20,0,700,15000,100 00));
}
else if (event.equalsIgnoreCase("1116"))
{
startQuestTimer("1117",2500, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),10,0,1000,15000,10 000));
}
else if (event.equalsIgnoreCase("1117"))
{
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),10,0,300,15000,250 ));
addSpawn(31759,212852,-114842,-1632,0,false,900000);
int radius = 1500;
for (int i=0; i < 20; i++)
{
int x = (int) (radius*Math.cos(i*.331)); //.331~2pi/19
int y = (int) (radius*Math.sin(i*.331));
addSpawn(31759,212852+x,-114842+y,-1632,0,false,900000);
}
cancelQuestTimer("1002", npc, null);
startQuestTimer("remove_players",900000, null, null);
// delete me once animations available
GrandBossManager.getInstance().setBossStatus(VALAK AS,DEAD);
//
}
}
else
{
if (event.equalsIgnoreCase("valakas_unlock"))
{
L2GrandBossInstance valakas = (L2GrandBossInstance) addSpawn(VALAKAS,-105200,-253104,-15264,32768,false,0);
GrandBossManager.getInstance().addBoss(valakas);
GrandBossManager.getInstance().setBossStatus(VALAK AS,DORMANT);
}
else if (event.equalsIgnoreCase("remove_players"))
{
_Zone.oustAllPlayers();
}
}
return super.onAdvEvent(event, npc, player);
}

public String onAttack (L2NpcInstance npc, L2PcInstance attacker, int damage, boolean isPet)
{
if (npc.isInvul())
{
return null;
}
i_quest1 = System.currentTimeMillis();
/*if (GrandBossManager.getInstance().getBossStatus(VALA KAS) != FIGHTING)
{
attacker.teleToLocation(150037,-57255,-2976);
}*/
if (attacker.getMountType() == 1)
{
int sk_4258 = 0;
L2Effect[] effects = attacker.getAllEffects();
if (effects.length != 0 || effects != null)
{
for (L2Effect e : effects)
{
if (e.getSkill().getId() == 4258)
{
sk_4258 = 1;
}
}
}
if (sk_4258 == 0)
{
npc.setTarget(attacker);
npc.doCast(SkillTable.getInstance().getInfo(4258,1 ));
}
}
if( attacker.getZ() < npc.getZ() + 200 )
{
if( i_ai2 == 0 )
{
i_ai1 = i_ai1 + damage;
}
if( i_quest0 == 0 )
{
i_ai4 = i_ai4 + damage;
}
if( i_quest0 == 0 )
{
i_ai3 = i_ai3 + damage;
}
else if(i_ai2 == 0 )
{
i_ai0 = i_ai0 + damage;
}
if( i_quest0 == 0 )
{
if(i_ai4 / npc.getMaxHp() * 100 > 1)
{
if( i_ai3 > i_ai4 - i_ai3 )
{
i_ai3 = 0;
i_ai4 = 0;
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4687,1 ));
i_quest0 = 1;
}
}
}

}
L2Skill skill = null; // TODO: attack handler require skill
int i1 = 0;
if (skill == null)
{
if (attacker == c_quest2)
{
if (damage * 1000 + 1000 > i_quest2)
{
i_quest2 = damage * 1000 + Rnd.get(3000);
}
}
else if (attacker == c_quest3)
{
if (damage * 1000 + 1000 > i_quest3)
{
i_quest3 = damage * 1000 + Rnd.get(3000);
}
}
else if (attacker == c_quest4)
{
if (damage * 1000 + 1000 > i_quest4)
{
i_quest4 = damage * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if(i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = damage * 1000 + Rnd.get(3000);
c_quest2 = attacker;
}
else if (i1 == 3)
{
i_quest3 = damage * 1000 + Rnd.get(3000);
c_quest3 = attacker;
}
else if (i1 == 4)
{
i_quest4 = damage * 1000 + Rnd.get(3000);
c_quest4 = attacker;
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 1 / 4)
{
if( attacker == c_quest2 )
{
if( damage / 30 * 1000 + 1000 > i_quest2 )
{
i_quest2 = damage / 30 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest3 )
{
if( damage / 30 * 1000 + 1000 > i_quest3 )
{
i_quest3 = damage / 30 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest4 )
{
if( damage / 30 * 1000 + 1000 > i_quest4 )
{
i_quest4 = damage / 30 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = damage / 30 * 1000 + Rnd.get(3000);
c_quest2 = attacker;
}
else if (i1 == 3)
{
i_quest3 = damage / 30 * 1000 + Rnd.get(3000);
c_quest3 = attacker;
}
else if (i1 == 4)
{
i_quest4 = damage / 30 * 1000 + Rnd.get(3000);
c_quest4 = attacker;
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 2 / 4)
{
if( attacker == c_quest2 )
{
if( damage / 50 * 1000 + 1000 > i_quest2 )
{
i_quest2 = damage / 50 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest3 )
{
if( damage / 50 * 1000 + 1000 > i_quest3 )
{
i_quest3 = damage / 50 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest4 )
{
if( damage / 50 * 1000 + 1000 > i_quest4 )
{
i_quest4 = damage / 50 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = damage / 50 * 1000 + Rnd.get(3000);
c_quest2 = attacker;
}
else if (i1 == 3)
{
i_quest3 = damage / 50 * 1000 + Rnd.get(3000);
c_quest3 = attacker;
}
else if (i1 == 4)
{
i_quest4 = damage / 50 * 1000 + Rnd.get(3000);
c_quest4 = attacker;
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 3 / 4)
{
if( attacker == c_quest2 )
{
if( damage / 100 * 1000 + 1000 > i_quest2 )
{
i_quest2 = damage / 100 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest3 )
{
if( damage / 100 * 1000 + 1000 > i_quest3 )
{
i_quest3 = damage / 100 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest4 )
{
if( damage / 100 * 1000 + 1000 > i_quest4 )
{
i_quest4 = damage / 100 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
if (i1 == 2)
{
i_quest2 = damage / 100 * 1000 + Rnd.get(3000);
c_quest2 = attacker;
}
else if (i1 == 3)
{
i_quest3 = damage / 100 * 1000 + Rnd.get(3000);
c_quest3 = attacker;
}
else if (i1 == 4)
{
i_quest4 = damage / 100 * 1000 + Rnd.get(3000);
c_quest4 = attacker;
}
}
}
else if( attacker == c_quest2 )
{
if( damage / 150 * 1000 + 1000 > i_quest2 )
{
i_quest2 = damage / 150 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest3 )
{
if( damage / 150 * 1000 + 1000 > i_quest3 )
{
i_quest3 = damage / 150 * 1000 + Rnd.get(3000);
}
}
else if( attacker == c_quest4 )
{
if( damage / 150 * 1000 + 1000 > i_quest4 )
{
i_quest4 = damage / 150 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = damage / 150 * 1000 + Rnd.get(3000);
c_quest2 = attacker;
}
else if (i1 == 3)
{
i_quest3 = damage / 150 * 1000 + Rnd.get(3000);
c_quest3 = attacker;
}
else if (i1 == 4)
{
i_quest4 = damage / 150 * 1000 + Rnd.get(3000);
c_quest4 = attacker;
}
getRandomSkill(npc);
return super.onAttack(npc, attacker, damage, isPet);
}

public String onKill (L2NpcInstance npc, L2PcInstance killer, boolean isPet)
{
startQuestTimer("1111",500, npc, null);
npc.broadcastPacket(new SpecialCamera(npc.getObjectId(),2000,130,-1,0,10000));
npc.broadcastPacket(new PlaySound(1, "B03_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
// uncoment me once animations available
//GrandBossManager.getInstance().setBossStatus(VALAK AS,DEAD);
long respawnTime = (long)ExternalConfig.Interval_Of_Valakas_Spawn + Rnd.get(ExternalConfig.Random_Of_Valakas_Spawn);
this.startQuestTimer("valakas_unlock", respawnTime, null, null);
// also save the respawn time so that the info is maintained past reboots
StatsSet info = GrandBossManager.getInstance().getStatsSet(VALAKAS );
info.set("respawn_time",(System.currentTimeMillis( ) + respawnTime));
GrandBossManager.getInstance().setStatsSet(VALAKAS ,info);
return super.onKill(npc,killer,isPet);
}

public void getRandomSkill(L2NpcInstance npc)
{
if (npc.isInvul() || npc.isCastingNow())
{
return;
}
L2Skill skill = null;
int i0 = 0;
int i1 = 0;
int i2 = 0;
L2Character c2 = null;
if (c_quest2 == null)
i_quest2 = 0;
else if (!Util.checkIfInRange(5000, npc, c_quest2, true) || c_quest2.isDead())
i_quest2 = 0;
if (c_quest3 == null)
i_quest3 = 0;
else if (!Util.checkIfInRange(5000, npc, c_quest3, true) || c_quest3.isDead())
i_quest3 = 0;
if (c_quest4 == null)
i_quest4 = 0;
else if (!Util.checkIfInRange(5000, npc, c_quest4, true) || c_quest4.isDead())
i_quest4 = 0;
if (i_quest2 > i_quest3)
{
i1 = 2;
i2 = i_quest2;
c2 = c_quest2;
}
else
{
i1 = 3;
i2 = i_quest3;
c2 = c_quest3;
}
if( i_quest4 > i2 )
{
i1 = 4;
i2 = i_quest4;
c2 = c_quest4;
}
if (i2 == 0)
c2 = getRandomTarget(npc);
if( i2 > 0 )
{
if( Rnd.get(100) < 70)
{
if (i1 == 2)
i_quest2 = 500;
else if (i1 == 3)
i_quest3 = 500;
else if (i1 == 4)
i_quest4 = 500;
}
if( npc.getCurrentHp() > npc.getMaxHp() * 1 / 4 )
{
i0 = 0;
i1 = 0;
if (Util.checkIfInRange(1423, npc, c2, true))
{
i0 = 1;
i1 = 1;
}
if (c2.getZ() < npc.getZ() + 200)
{
if( Rnd.get(100) < 20)
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 15)
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else if( Rnd.get(100) < 15 && i0 == 1 && i_quest0 == 1 )
{
skill = SkillTable.getInstance().getInfo(4685,1);
i_quest0 = 0;
}
else if( Rnd.get(100) < 10 && i1 == 1 )
{
skill = SkillTable.getInstance().getInfo(4688,1);
}
else if( Rnd.get(100) < 35)
{
skill = SkillTable.getInstance().getInfo(4683,1);
}
else
{
if( Rnd.get(2) == 0) // TODO: replace me with direction, to check if player standing on left or right side of valakas
skill = SkillTable.getInstance().getInfo(4681,1); // left hand
else
skill = SkillTable.getInstance().getInfo(4682,1); // right hand
}
}
else if( Rnd.get(100) < 20)
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 15)
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else
{
skill = SkillTable.getInstance().getInfo(4684,1);
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 2 / 4 )
{
i0 = 0;
i1 = 0;
if (Util.checkIfInRange(1423, npc, c2, true))
{
i0 = 1;
i1 = 1;
}
if (c2.getZ() < npc.getZ() + 200)
{
if( Rnd.get(100) < 5 )
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 10 )
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else if( Rnd.get(100) < 10 && i0 == 1 && i_quest0 == 1 )
{
skill = SkillTable.getInstance().getInfo(4685,1);
i_quest0 = 0;
}
else if( Rnd.get(100) < 10 && i1 == 1 )
{
skill = SkillTable.getInstance().getInfo(4688,1);
}
else if( Rnd.get(100) < 20 )
{
skill = SkillTable.getInstance().getInfo(4683,1);
}
else
{
if( Rnd.get(2) == 0) // TODO: replace me with direction, to check if player standing on left or right side of valakas
skill = SkillTable.getInstance().getInfo(4681,1); // left hand
else
skill = SkillTable.getInstance().getInfo(4682,1); // right hand
}
}
else if( Rnd.get(100) < 5)
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 10)
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else
{
skill = SkillTable.getInstance().getInfo(4684,1);
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 3 / 4 )
{
i0 = 0;
i1 = 0;
if (Util.checkIfInRange(1423, npc, c2, true))
{
i0 = 1;
i1 = 1;
}
if (c2.getZ() < npc.getZ() + 200)
{
if( Rnd.get(100) < 0 )
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 5 )
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else if( Rnd.get(100) < 5 && i0 == 1 && i_quest0 == 1 )
{
skill = SkillTable.getInstance().getInfo(4685,1);
i_quest0 = 0;
}
else if( Rnd.get(100) < 10 && i1 == 1 )
{
skill = SkillTable.getInstance().getInfo(4688,1);
}
else if( Rnd.get(100) < 15 )
{
skill = SkillTable.getInstance().getInfo(4683,1);
}
else
{
if( Rnd.get(2) == 0) // TODO: replace me with direction, to check if player standing on left or right side of valakas
skill = SkillTable.getInstance().getInfo(4681,1); // left hand
else
skill = SkillTable.getInstance().getInfo(4682,1); // right hand
}
}
else if( Rnd.get(100) < 0)
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 5)
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else
{
skill = SkillTable.getInstance().getInfo(4684,1);
}
}
else
{
i0 = 0;
i1 = 0;
if (Util.checkIfInRange(1423, npc, c2, true))
{
i0 = 1;
i1 = 1;
}
if (c2.getZ() < npc.getZ() + 200)
{
if( Rnd.get(100) < 0 )
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 10 )
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else if( Rnd.get(100) < 5 && i0 == 1 && i_quest0 == 1 )
{
skill = SkillTable.getInstance().getInfo(4685,1);
i_quest0 = 0;
}
else if( Rnd.get(100) < 10 && i1 == 1 )
{
skill = SkillTable.getInstance().getInfo(4688,1);
}
else if( Rnd.get(100) < 15 )
{
skill = SkillTable.getInstance().getInfo(4683,1);
}
else
{
if( Rnd.get(2) == 0) // TODO: replace me with direction, to check if player standing on left or right side of valakas
skill = SkillTable.getInstance().getInfo(4681,1); // left hand
else
skill = SkillTable.getInstance().getInfo(4682,1); // right hand
}
}
else if( Rnd.get(100) < 0)
{
skill = SkillTable.getInstance().getInfo(4690,1);
}
else if( Rnd.get(100) < 10)
{
skill = SkillTable.getInstance().getInfo(4689,1);
}
else
{
skill = SkillTable.getInstance().getInfo(4684,1);
}
}
}
if (skill != null)
callSkillAI(npc,c2,skill);
}

public void callSkillAI(L2NpcInstance npc, L2Character c2, L2Skill skill)
{
if (npc.isInvul())
return;
QuestTimer timer = getQuestTimer("1003", npc, null);

if (npc == null)
{
if (timer != null)
timer.cancel();
return;
}

if (c2 == null || c2.isDead() || timer == null)
{
c2 = getRandomTarget(npc); // just in case if hate AI fail
if (timer == null)
{
startQuestTimer("1003", 500, npc, null, true);
return;
}
}
L2Character target = c2;
if (target == null || target.isDead())
{
if (timer == null)
startQuestTimer("1003", 500, npc, null, true);
return;
}

if (Util.checkIfInRange(skill.getCastRange(), npc, target, true))
{
if (timer != null)
timer.cancel();
npc.getAI().setIntention(AI_INTENTION_IDLE);
npc.setIsCastingNow(true);
npc.setTarget(target);
npc.doCast(skill);

}
else
{
if (timer == null)
startQuestTimer("1003", 500, npc, null, true);
npc.getAI().setIntention(AI_INTENTION_FOLLOW, target, null);
npc.setIsCastingNow(false);
}
}
public void broadcastSpawn(L2NpcInstance npc)
{
Collection<L2Object> objs = npc.getKnownList().getKnownObjects().values();
{
for (L2Object obj : objs)
{
if (obj instanceof L2PcInstance)
{
if (Util.checkIfInRange(10000, npc, obj, true))
{
((L2Character) obj).sendPacket(new PlaySound(1, "B03_A", 1, npc.getObjectId(), 212852,-114842,-1632));
((L2Character) obj).sendPacket(new SocialAction(npc.getObjectId(),3));
}
}
}
}
return;
}

public L2Character getRandomTarget(L2NpcInstance npc)
{
FastList<L2Character> result = new FastList<L2Character>();
Collection<L2Object> objs = npc.getKnownList().getKnownObjects().values();
{
for (L2Object obj : objs)
{
if (obj instanceof L2PcInstance || obj instanceof L2Summon)
{
if (Util.checkIfInRange(5000, npc, obj, true) && !((L2Character) obj).isDead() && !((L2Character) obj).isAlikeDead())
result.add((L2Character) obj);
}
}
}
if (!result.isEmpty() && result.size() != 0)
{
Object[] characters = result.toArray();
return (L2Character) characters[Rnd.get(characters.length)];
}
return null;
}

public String onSpellFinished(L2NpcInstance npc, L2PcInstance player, L2Skill skill)
{
if (npc.isInvul())
{
return null;
}
else if (npc.getNpcId() == VALAKAS && !npc.isInvul())
{
getRandomSkill(npc);
}
return super.onSpellFinished(npc, player, skill);
}

public String onAggroRangeEnter (L2NpcInstance npc, L2PcInstance player, boolean isPet)
{
int i1 = 0;
if (GrandBossManager.getInstance().getBossStatus(VALA KAS) == FIGHTING)
{
if( npc.getCurrentHp() > npc.getMaxHp() * 1 / 4)
{
if( player == c_quest2 )
{
if( 10 * 1000 + 1000 > i_quest2 )
{
i_quest2 = 10 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest3 )
{
if( 10 * 1000 + 1000 > i_quest3 )
{
i_quest3 = 10 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest4 )
{
if( 10 * 1000 + 1000 > i_quest4 )
{
i_quest4 = 10 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = 10 * 1000 + Rnd.get(3000);
c_quest2 = player;
}
else if (i1 == 3)
{
i_quest3 = 10 * 1000 + Rnd.get(3000);
c_quest3 = player;
}
else if (i1 == 4)
{
i_quest4 = 10 * 1000 + Rnd.get(3000);
c_quest4 = player;
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 2 / 4)
{
if( player == c_quest2 )
{
if( 6 * 1000 + 1000 > i_quest2 )
{
i_quest2 = 6 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest3 )
{
if( 6 * 1000 + 1000 > i_quest3 )
{
i_quest3 = 6 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest4 )
{
if( 6 * 1000 + 1000 > i_quest4 )
{
i_quest4 = 6 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = 6 * 1000 + Rnd.get(3000);
c_quest2 = player;
}
else if (i1 == 3)
{
i_quest3 = 6 * 1000 + Rnd.get(3000);
c_quest3 = player;
}
else if (i1 == 4)
{
i_quest4 = 6 * 1000 + Rnd.get(3000);
c_quest4 = player;
}
}
else if( npc.getCurrentHp() > npc.getMaxHp() * 3 / 4)
{
if( player == c_quest2 )
{
if( 3 * 1000 + 1000 > i_quest2 )
{
i_quest2 = 3 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest3 )
{
if( 3 * 1000 + 1000 > i_quest3 )
{
i_quest3 = 3 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest4 )
{
if( 3 * 1000 + 1000 > i_quest4 )
{
i_quest4 = 3 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = 3 * 1000 + Rnd.get(3000);
c_quest2 = player;
}
else if (i1 == 3)
{
i_quest3 = 3 * 1000 + Rnd.get(3000);
c_quest3 = player;
}
else if (i1 == 4)
{
i_quest4 = 3 * 1000 + Rnd.get(3000);
c_quest4 = player;
}
}
else if( player == c_quest2 )
{
if( 2 * 1000 + 1000 > i_quest2 )
{
i_quest2 = 2 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest3 )
{
if( 2 * 1000 + 1000 > i_quest3 )
{
i_quest3 = 2 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest4 )
{
if( 2 * 1000 + 1000 > i_quest4 )
{
i_quest4 = 2 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = 2 * 1000 + Rnd.get(3000);
c_quest2 = player;
}
else if (i1 == 3)
{
i_quest3 = 2 * 1000 + Rnd.get(3000);
c_quest3 = player;
}
else if (i1 == 4)
{
i_quest4 = 2 * 1000 + Rnd.get(3000);
c_quest4 = player;
}
}
else if( player == c_quest2 )
{
if( 1 * 1000 + 1000 > i_quest2 )
{
i_quest2 = 1 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest3 )
{
if( 1 * 1000 + 1000 > i_quest3 )
{
i_quest3 = 1 * 1000 + Rnd.get(3000);
}
}
else if( player == c_quest4 )
{
if( 1 * 1000 + 1000 > i_quest4 )
{
i_quest4 = 1 * 1000 + Rnd.get(3000);
}
}
else if( i_quest2 > i_quest3 )
{
i1 = 3;
}
else if( i_quest2 == i_quest3 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 3;
}
}
else if( i_quest2 < i_quest3 )
{
i1 = 2;
}
if( i1 == 2 )
{
if( i_quest2 > i_quest4 )
{
i1 = 4;
}
else if( i_quest2 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 2;
}
else
{
i1 = 4;
}
}
else if( i_quest2 < i_quest4 )
{
i1 = 2;
}
}
else if( i1 == 3 )
{
if( i_quest3 > i_quest4 )
{
i1 = 4;
}
else if( i_quest3 == i_quest4 )
{
if( Rnd.get(100) < 50 )
{
i1 = 3;
}
else
{
i1 = 4;
}
}
else if( i_quest3 < i_quest4 )
{
i1 = 3;
}
}
if (i1 == 2)
{
i_quest2 = 1 * 1000 + Rnd.get(3000);
c_quest2 = player;
}
else if (i1 == 3)
{
i_quest3 = 1 * 1000 + Rnd.get(3000);
c_quest3 = player;
}
else if (i1 == 4)
{
i_quest4 = 1 * 1000 + Rnd.get(3000);
c_quest4 = player;
}
if (GrandBossManager.getInstance().getBossStatus(VALA KAS) == FIGHTING && !npc.isInvul())
{
getRandomSkill(npc);
}
else
return null;
return super.onAggroRangeEnter(npc, player, isPet);
}

public String onSkillSee (L2NpcInstance npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isPet)
{
if (npc.isInvul())
{
return null;
}
npc.setTarget(caster);
return super.onSkillSee(npc, caster, skill, targets, isPet);
}

public static void main(String[] args)
{
// now call the constructor (starts up the ai)
new Valakas(-1,"valakas","ai");
}
}



Desde já muitissimo obrigado!

thiishakete está offline   Responder com Citação
Links Patrocinados
 


Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim



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



Search Engine Optimization by vBSEO 3.3.0