Перейти к содержанию
Авторизация  
Leon911

Сундучки

Рекомендуемые сообщения

Всем здрасте кто щас на форуме и читает ето.у меня есть вопрос к знающим людям,ето на щёт сундуков с точами,как сделать-то чтоб они различались где плохой(Chest)и хароший (Box)сборка у меня от фрозенов,я уже всё перепробывал и патчи и в базе названия менял сундуки тупо спавнятся под одним и тем ИД,есть у меня чувство что ето в ядре всё заключается,подскажите кто знает чего делать-то,вот что я нашол но ето оно или нет незнаю.

 

 

/*     */ package com.l2jfrozen.gameserver.model.actor.instance;
/*     */ 
/*     */ import com.l2jfrozen.gameserver.datatables.SkillTable;
/*     */ import com.l2jfrozen.gameserver.datatables.sql.NpcTable;
/*     */ import com.l2jfrozen.gameserver.model.L2Character;
/*     */ import com.l2jfrozen.gameserver.model.L2Skill;
/*     */ import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;
/*     */ import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
/*     */ import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
/*     */ import com.l2jfrozen.util.random.Rnd;
/*     */ 
/*     */ public final class L2ChestInstance extends L2MonsterInstance
/*     */ {
/*     */   private volatile boolean _isInteracted;
/*     */   private volatile boolean _specialDrop;
/*     */ 
/*     */   public L2ChestInstance(int objectId, L2NpcTemplate template)
/*     */   {
/*  42 */     super(objectId, template);
/*  43 */     this._isInteracted = false;
/*  44 */     this._specialDrop = false;
/*     */   }
/*     */ 
/*     */   public void onSpawn()
/*     */   {
/*  50 */     super.onSpawn();
/*  51 */     this._isInteracted = false;
/*  52 */     this._specialDrop = false;
/*  53 */     setMustRewardExpSp(true);
/*     */   }
/*     */ 
/*     */   public synchronized boolean isInteracted()
/*     */   {
/*  58 */     return this._isInteracted;
/*     */   }
/*     */ 
/*     */   public synchronized void setInteracted()
/*     */   {
/*  63 */     this._isInteracted = true;
/*     */   }
/*     */ 
/*     */   public synchronized boolean isSpecialDrop()
/*     */   {
/*  68 */     return this._specialDrop;
/*     */   }
/*     */ 
/*     */   public synchronized void setSpecialDrop()
/*     */   {
/*  73 */     this._specialDrop = true;
/*     */   }
/*     */ 
/*     */   public void doItemDrop(L2NpcTemplate npcTemplate, L2Character lastAttacker)
/*     */   {
/*  79 */     int id = getTemplate().npcId;
/*     */ 
/*  81 */     if (!this._specialDrop)
/*     */     {
/*  83 */       if ((id >= 18265) && (id <= 18286))
/*     */       {
/*  85 */         id += 3536;
/*     */       }
/*  87 */       else if ((id == 18287) || (id == 18288))
/*     */       {
/*  89 */         id = 21671;
/*     */       }
/*  91 */       else if ((id == 18289) || (id == 18290))
/*     */       {
/*  93 */         id = 21694;
/*     */       }
/*  95 */       else if ((id == 18291) || (id == 18292))
/*     */       {
/*  97 */         id = 21717;
/*     */       }
/*  99 */       else if ((id == 18293) || (id == 18294))
/*     */       {
/* 101 */         id = 21740;
/*     */       }
/* 103 */       else if ((id == 18295) || (id == 18296))
/*     */       {
/* 105 */         id = 21763;
/*     */       }
/* 107 */       else if ((id == 18297) || (id == 18298))
/*     */       {
/* 109 */         id = 21786;
/*     */       }
/*     */     }
/*     */ 
/* 113 */     super.doItemDrop(NpcTable.getInstance().getTemplate(id), lastAttacker);
/*     */   }
/*     */ 
/*     */   public void chestTrap(L2Character player)
/*     */   {
/* 119 */     int trapSkillId = 0;
/* 120 */     int rnd = Rnd.get(120);
/*     */ 
/* 122 */     if (getTemplate().level >= 61)
/*     */     {
/* 124 */       if (rnd >= 90)
/*     */       {
/* 126 */         trapSkillId = 4139;
/*     */       }
/* 128 */       else if (rnd >= 50)
/*     */       {
/* 130 */         trapSkillId = 4118;
/*     */       }
/* 132 */       else if (rnd >= 20)
/*     */       {
/* 134 */         trapSkillId = 1167;
/*     */       }
/*     */       else
/*     */       {
/* 138 */         trapSkillId = 223;
/*     */       }
/*     */     }
/* 141 */     else if (getTemplate().level >= 41)
/*     */     {
/* 143 */       if (rnd >= 90)
/*     */       {
/* 145 */         trapSkillId = 4139;
/*     */       }
/* 147 */       else if (rnd >= 60)
/*     */       {
/* 149 */         trapSkillId = 96;
/*     */       }
/* 151 */       else if (rnd >= 20)
/*     */       {
/* 153 */         trapSkillId = 1167;
/*     */       }
/*     */       else
/*     */       {
/* 157 */         trapSkillId = 4118;
/*     */       }
/*     */     }
/* 160 */     else if (getTemplate().level >= 21)
/*     */     {
/* 162 */       if (rnd >= 80)
/*     */       {
/* 164 */         trapSkillId = 4139;
/*     */       }
/* 166 */       else if (rnd >= 50)
/*     */       {
/* 168 */         trapSkillId = 96;
/*     */       }
/* 170 */       else if (rnd >= 20)
/*     */       {
/* 172 */         trapSkillId = 1167;
/*     */       }
/*     */       else
/*     */       {
/* 176 */         trapSkillId = 129;
/*     */       }
/*     */ 
/*     */     }
/* 181 */     else if (rnd >= 80)
/*     */     {
/* 183 */       trapSkillId = 4139;
/*     */     }
/* 185 */     else if (rnd >= 50)
/*     */     {
/* 187 */       trapSkillId = 96;
/*     */     }
/*     */     else
/*     */     {
/* 191 */       trapSkillId = 129;
/*     */     }
/*     */ 
/* 195 */     player.sendPacket(SystemMessage.sendString("There was a trap!"));
/* 196 */     handleCast(player, trapSkillId);
/*     */   }
/*     */ 
/*     */   private boolean handleCast(L2Character player, int skillId)
/*     */   {
/* 204 */     int skillLevel = 1;
/* 205 */     byte lvl = getTemplate().level;
/* 206 */     if ((lvl > 20) && (lvl <= 40))
/*     */     {
/* 208 */       skillLevel = 3;
/*     */     }
/* 210 */     else if ((lvl > 40) && (lvl <= 60))
/*     */     {
/* 212 */       skillLevel = 5;
/*     */     }
/* 214 */     else if (lvl > 60)
/*     */     {
/* 216 */       skillLevel = 6;
/*     */     }
/*     */ 
/* 219 */     if ((player.isDead()) || (!player.isVisible()) || (!player.isInsideRadius(this, getDistanceToWatchObject(player), false, false))) {
/* 220 */       return false;
/*     */     }
/* 222 */     L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLevel);
/*     */ 
/* 224 */     if (player.getFirstEffect(skill) == null)
/*     */     {
/* 226 */       skill.getEffects(this, player, false, false, false);
/* 227 */       broadcastPacket(new MagicSkillUser(this, player, skill.getId(), skillLevel, skill.getHitTime(), 0));
/* 228 */       skill = null;
/* 229 */       return true;
/*     */     }
/* 231 */     return false;
/*     */   }
/*     */ 
/*     */   public boolean isMovementDisabled()
/*     */   {
/* 237 */     if (super.isMovementDisabled()) {
/* 238 */       return true;
/*     */     }
/*     */ 
/* 241 */     return !isInteracted();
/*     */   }
/*     */ 
/*     */   public boolean hasRandomAnimation()
/*     */   {
/* 249 */     return false;
/*     */   }
/*     */ }

/* Location:           D:\compile\l2jfrozen-core.jar
* Qualified Name:     com.l2jfrozen.gameserver.model.actor.instance.L2ChestInstance
* JD-Core Version:    0.6.0
*/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я точно не помню раньше была фишка чтото на подобее в патч кидали и различалося ...и притом на джаве такого не видел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Патч тут непоможет,так как сундуки с одним и тем-же ид адресом,да и как ето на джаве небывает-вот возьми например сервак FRONT-X100.На джаве можно сделать но для етого нада ядро грызть-но вот что там грызть без понятия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Разделение Трежер Чест и Бокс. Разделение Сундуков с сокровищами! Отыщи море своих заточек! =)

 

ЖмаК - Всё что нашёл. (НЕ реклама)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...