Ir para conteúdo
  • Cadastre-se

Chaazy

Membro
  • Total de itens

    110
  • Registro em

  • Última visita

  • Prêmios recebidos

    1

Chaazy last won the day on Fevereiro 23 2019

Chaazy had the most liked content!

Sobre Chaazy

  • Data de Nascimento 02/08/1997

Profile Information

  • Gênero
    Masculino

Últimos Visitantes

3181 visualizações

Chaazy's Achievements

Aprendiz de Novato

Aprendiz de Novato (1/14)

17

Reputação

  1. Amigo, já tem um dress.me adaptado pra frozen aqui no fórum. https://www.l2jbrasil.com/topic/119189-dressme-interlude-acis-l2jfrozen/
  2. Chaazy

    Baium Bugado

    no caso da frozen, options.properties # Delete dropped reward items from world after a specified amount of seconds. Disabled = 0. AutoDestroyDroppedItemAfter = 360 <- Tempo em segundos, que o drop fica no chão.
  3. Deixa eu ver se entendi, você quer usar um item como moeda no jogo com a aparência do ticket? Se for isso é mais fácil você criar um novo item. Fazendo isso você pode colocar o nome que deseja, se pode ser comercializado, dropado etc...
  4. Amigo você já procurou nas sua configs? head/other.preperties. Geralmente fica lá, caso realmente não encontre nada eu aconselho você fazer como Zeron disse. Migre seus arquivos para uma revisão com source. A maioria das compiladas aqui do fórum possuem muitos bugs que ainda não foram corrigidos, outras são versões antigas. Abraço.
  5. Mais uma fix pra 1132 .
  6. Correção para as skills da frozen.
  7. Acho que deve ser isso que esta procurando.
  8. Meu amigo você é demais! Problema resolvido! Vou postar a correção no tópico dos fixes da Frozen 1132. Muito Obrigado KhayrusS. Abraço
  9. Vou postar todos os códigos. StoreEffect @SuppressWarnings("null") private synchronized void storeEffect() { if (!Config.STORE_SKILL_COOLTIME) return; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement statement; // Delete all current stored effects for char to avoid dupe statement = con.prepareStatement(DELETE_SKILL_SAVE); statement.setInt(1, getObjectId()); statement.setInt(2, getClassIndex()); statement.execute(); DatabaseUtils.close(statement); // Store all effect data along with calulated remaining // reuse delays for matching skills. 'restore_type'= 0. final L2Effect[] effects = getAllEffects(); statement = con.prepareStatement(ADD_SKILL_SAVE); final List<Integer> storedSkills = new FastList<>(); int buff_index = 0; for (final L2Effect effect : effects) { final int skillId = effect.getSkill().getId(); if (storedSkills.contains(skillId)) continue; storedSkills.add(skillId); if (effect != null && effect.getInUse() && !effect.getSkill().isToggle() && !effect.getStackType().equals("BattleForce") && !effect.getStackType().equals("SpellForce") && effect.getSkill().getSkillType() != SkillType.FORCE_BUFF) { statement.setInt(1, getObjectId()); statement.setInt(2, skillId); statement.setInt(3, effect.getSkill().getLevel()); statement.setInt(4, effect.getCount()); statement.setInt(5, effect.getTime()); if (ReuseTimeStamps.containsKey(effect.getSkill().getReuseHashCode())) { final TimeStamp t = ReuseTimeStamps.get(effect.getSkill().getReuseHashCode()); statement.setLong(6, t.hasNotPassed() ? t.getReuse() : 0); statement.setLong(7, t.hasNotPassed() ? t.getStamp() : 0); } else { statement.setLong(6, 0); statement.setLong(7, 0); } statement.setInt(8, 0); statement.setInt(9, getClassIndex()); statement.setInt(10, ++buff_index); statement.execute(); } } // Store the reuse delays of remaining skills which // lost effect but still under reuse delay. 'restore_type' 1. for (final TimeStamp t : ReuseTimeStamps.values()) { if (t.hasNotPassed()) { final int skillId = t.getSkill().getId(); final int skillLvl = t.getSkill().getLevel(); if (storedSkills.contains(skillId)) continue; storedSkills.add(skillId); statement.setInt(1, getObjectId()); statement.setInt(2, skillId); statement.setInt(3, skillLvl); statement.setInt(4, -1); statement.setInt(5, -1); statement.setLong(6, t.getReuse()); statement.setLong(7, t.getStamp()); statement.setInt(8, 1); statement.setInt(9, getClassIndex()); statement.setInt(10, ++buff_index); statement.execute(); } } DatabaseUtils.close(statement); } catch (final Exception e) { LOGGER.warn("Could not store char effect data: "); e.printStackTrace(); } finally { CloseUtil.close(con); } } restoreEffect public void restoreEffects(final boolean activateEffects) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement statement; ResultSet rset; /** * Restore Type 0 These skill were still in effect on the character upon logout. Some of which were self casted and might still have had a long reuse delay which also is restored. */ statement = con.prepareStatement(RESTORE_SKILL_SAVE); statement.setInt(1, getObjectId()); statement.setInt(2, getClassIndex()); statement.setInt(3, 0); rset = statement.executeQuery(); while (rset.next()) { final int skillId = rset.getInt("skill_id"); final int skillLvl = rset.getInt("skill_level"); final int effectCount = rset.getInt("effect_count"); final int effectCurTime = rset.getInt("effect_cur_time"); final long reuseDelay = rset.getLong("reuse_delay"); final long systime = rset.getLong("systime"); // Just incase the admin minipulated this table incorrectly :x if (skillId == -1 || effectCount == -1 || effectCurTime == -1 || reuseDelay < 0) { continue; } if (activateEffects) { L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLvl); skill.getEffects(this, this, false, false, false); skill = null; for (final L2Effect effect : getAllEffects()) { if (effect.getSkill().getId() == skillId) { effect.setCount(effectCount); effect.setFirstTime(effectCurTime); } } } final long remainingTime = systime - System.currentTimeMillis(); if (remainingTime > 10) { final L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLvl); if (skill == null) continue; disableSkill(skill, remainingTime); addTimeStamp(new TimeStamp(skill, reuseDelay, systime)); } } DatabaseUtils.close(rset); DatabaseUtils.close(statement); rset = null; statement = null; /** * Restore Type 1 The remaning skills lost effect upon logout but were still under a high reuse delay. */ statement = con.prepareStatement(RESTORE_SKILL_SAVE); statement.setInt(1, getObjectId()); statement.setInt(2, getClassIndex()); statement.setInt(3, 1); rset = statement.executeQuery(); while (rset.next()) { final int skillId = rset.getInt("skill_id"); final int skillLvl = rset.getInt("skill_level"); final long reuseDelay = rset.getLong("reuse_delay"); final long systime = rset.getLong("systime"); final long remainingTime = systime - System.currentTimeMillis(); if (remainingTime > 0) { final L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLvl); if (skill == null) continue; disableSkill(skill, remainingTime); addTimeStamp(new TimeStamp(skill, reuseDelay, systime)); } } DatabaseUtils.close(rset); DatabaseUtils.close(statement); rset = null; statement = con.prepareStatement(DELETE_SKILL_SAVE); statement.setInt(1, getObjectId()); statement.setInt(2, getClassIndex()); statement.executeUpdate(); DatabaseUtils.close(statement); statement = null; } catch (final Exception e) { if (Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); LOGGER.warn("Could not restore active effect data: " + e); } finally { CloseUtil.close(con); } updateEffectIcons(); } TimeStamp public static class TimeStamp { public long getStamp() { return stamp; } public L2Skill getSkill() { return skill; } public long getReuse() { return reuse; } public long getRemaining() { return Math.max(stamp - System.currentTimeMillis(), 0L); } protected boolean hasNotPassed() { return System.currentTimeMillis() < stamp; } private final L2Skill skill; private final long reuse; private final long stamp; protected TimeStamp(final L2Skill _skill, final long _reuse) { skill = _skill; reuse = _reuse; stamp = System.currentTimeMillis() + reuse; } protected TimeStamp(final L2Skill _skill, final long _reuse, final long _systime) { skill = _skill; reuse = _reuse; stamp = _systime; } } /** * Index according to skill id the current timestamp of use. * @param s the s * @param r the r */ @Override public void addTimeStamp(final L2Skill s, final int r) { ReuseTimeStamps.put(s.getReuseHashCode(), new TimeStamp(s, r)); } /** * Index according to skill this TimeStamp instance for restoration purposes only. * @param T the t */ private void addTimeStamp(final TimeStamp T) { ReuseTimeStamps.put(T.getSkill().getId(), T); } /** * Index according to skill id the current timestamp of use. * @param s the s */ @Override public void removeTimeStamp(final L2Skill s) { ReuseTimeStamps.remove(s.getReuseHashCode()); } public Collection<TimeStamp> getReuseTimeStamps() { return ReuseTimeStamps.values(); } public void resetSkillTime(final boolean ssl) { final L2Skill arr$[] = getAllSkills(); for (final L2Skill skill : arr$) { if (skill != null && skill.isActive() && skill.getId() != 1324) enableSkill(skill); } if (ssl) sendSkillList(); sendPacket(new SkillCoolTime(this)); } Valor da ADD/RESTORE skills save /** The Constant ADD_SKILL_SAVE. */ // private static final String ADD_SKILL_SAVE = "INSERT INTO character_skills_save (char_obj_id,skill_id,skill_level,effect_count,effect_cur_time,reuse_delay,restore_type,class_index,buff_index) VALUES (?,?,?,?,?,?,?,?,?)"; private static final String ADD_SKILL_SAVE = "INSERT INTO character_skills_save (char_obj_id,skill_id,skill_level,effect_count,effect_cur_time,reuse_delay,systime,restore_type,class_index,buff_index) VALUES (?,?,?,?,?,?,?,?,?,?)"; /** The Constant RESTORE_SKILL_SAVE. */ private static final String RESTORE_SKILL_SAVE = "SELECT skill_id,skill_level,effect_count,effect_cur_time, reuse_delay, systime FROM character_skills_save WHERE char_obj_id=? AND class_index=? AND restore_type=? ORDER BY buff_index ASC"; Acho que são esses os responsaveis.
  10. Sim. O mais estranho é que esse bug não estão em todas as skills.
  11. Altere essa linha na sua config "AntharasWaitTime = 30" O numero é representado em minutos assim que vc entrou na caverna com a quest, mude para 5 pra focar mais rápido.
  12. Chaazy

    Shield NO ITEM NAME

    Aparentemente esta correta. Só o shield esta dando esse error? Verifique se a sql esta registrada em seu banco de dados.
  13. Amigo, valakas/frintezza e antharas são diferentes. Eles só logam depois de um determinado tempo (que esta configurado em seu boss.properties ) quando você entra com o item da quest. No caso do zaken se ele estiver vivo e você não esteja vendo ele, talvez ele esteja bugado, use o comando do seu admin e teleporte para as coodernadas que esta presente na grandboss_data, o id do zaken é 29022. Já aconteceu comigo dele estar no teto da montanha. Caso ele esteja bugado no barco em algum lugar, as coodernadas originais dele são (x=55312/y=219168/z=-3224) basta você adiciona-las.
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.