↑ ↓

Unknown packet received from Aion client

Тема в разделе "Помощь", создана пользователем galol, 26 мар 2020.

  1. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.140,45
    Репутация:
    54
    Дима, "свято место пусто не бывает" ;)
    Если мы не будем, в любом случае будет кто то другой.
     
  2. Offline

    Дмитрий Ефрейтор

    337
    48
    61
    Кредиты:
    $15.270,06
    Репутация:
    5
    Жалко, что "в стол" работаете!
    А некоторые, вообще как Гоголь, черновики сжигают ;(

    Написали-бы статью: Полный разбор системы клиент-серверных приложений на основе ММОРПГ Aion.
    И вопросов бы небыло многих :)
     
  3. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.140,45
    Репутация:
    54
    Ты хочешь про спонсировать работу в паблик ? :D
     
  4. Offline

    Дмитрий Ефрейтор

    337
    48
    61
    Кредиты:
    $15.270,06
    Репутация:
    5
    неее ;) я хочу сохранить Ваши умения и наработки в века(ну, или, пока форум работает ;) )
     
  5. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.140,45
    Репутация:
    54
    С такими идеями пора уже свой след оставить.
    Форум как раз существует для того, чтоб другие и новички могли так сказать что то взять и на чем то тренироваться/научится.
    Как то не разумно обучать "вождению" на собственной машине :)

    P,S тему зря зафлудил, возможно что то интересное почерпнул бы в процессе(если бы автор дальше стал развивать по существующим ответам и вопросам).
    Думаю чистить никто не будет.
     
  6. Offline

    Дмитрий Ефрейтор

    337
    48
    61
    Кредиты:
    $15.270,06
    Репутация:
    5
    да, а про потерявшийся пакет мы тоже писали ;)
     
  7. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.140,45
    Репутация:
    54
    я выше писал.
    Please login or register to view links
    значит действительно ТС это не нужно. Там есть ответ(ещё выше), пусть отключит и не заморочивается :D
     
  8. TopicStarter Overlay
    Offline

    galol Рядовой

    58
    0
    34
    Кредиты:
    $165,00
    Репутация:
    0
    Прошу прощения, не могу сюда зайти. Сборка 4.9 . То есть просто нужно найти этот пакет Ox16D и закомпилить в свою сборку?НАпример найду его в другой сборке такой же версии и всё?Вопрос будет решён получается?Буду активно отвечать!Извините,форс мажор обстоятельства!И спасибо за помощь!
     
  9. TopicStarter Overlay
    Offline

    galol Рядовой

    58
    0
    34
    Кредиты:
    $165,00
    Репутация:
    0
    не мог сюда зайти* 4.9 от немцев вроде бы
     
  10. TopicStarter Overlay
    Offline

    galol Рядовой

    58
    0
    34
    Кредиты:
    $165,00
    Репутация:
    0
    Нет,сборка aion-lighting.
    Вообщем ситуация какая - нпс из данжа "Военная база Сауро" "Офицер инспектор Ованка" В момент,когда наступает 98% хп ,оноа использует skill1. И всё как бы работает,но если в момент использования этого скилла Ованкой дать урон по радиусу(в котором она находится) то появляется вот эта ошибка в теме,что не найден пакет Ox16D .(Вы просили показать момент, когда вылетает ошибка.).И хочу заметить, что в общем все работает так же, даже если вылетает ошибка(не найден пакет).Но ошибка вылетает не просто так.
    Код:
    /**
     * This file is part of Aion-Lightning <aion-lightning.org>.
     *
     *  Aion-Lightning 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.
     *
     *  Aion-Lightning 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 Aion-Lightning.
     *  If not, see <http://www.gnu.org/licenses/>.
     */
    package ai.instance.sauroSupplyBase;
    
    import ai.AggressiveNpcAI2;
    
    import com.aionemu.gameserver.ai2.AIName;
    import com.aionemu.gameserver.model.gameobjects.Creature;
    import com.aionemu.gameserver.model.gameobjects.Npc;
    import com.aionemu.gameserver.model.gameobjects.VisibleObject;
    import com.aionemu.gameserver.model.gameobjects.player.Player;
    import com.aionemu.gameserver.services.NpcShoutsService;
    import com.aionemu.gameserver.skillengine.SkillEngine;
    import com.aionemu.gameserver.utils.ThreadPoolManager;
    import com.aionemu.gameserver.ai2.manager.EmoteManager;
    import com.aionemu.gameserver.model.EmotionType;
    import com.aionemu.gameserver.ai2.handler.AggroEventHandler;
    import com.aionemu.gameserver.ai2.AIState;
    import com.aionemu.gameserver.ai2.AISubState;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    /**
     * @author Alcapwnd
     */
    
    @AIName("ovanka")
    public class TheOfficerInspectorOvankaAI2 extends AggressiveNpcAI2 {
    	private boolean canThink = true;
    	private List<Integer> percents = new ArrayList<Integer>();
    
    	@Override
    	protected void handleSpawned() {
    		addPercent();
    		VritraBless(3000);
    		super.handleSpawned();
    	}
    	
    	@Override
    	public boolean canThink() {
    		return canThink;
    	}
    	
    	
    	@Override
    	protected void handleAttack(Creature creature) {
    		super.handleAttack(creature);
    		checkPercentage(getLifeStats().getHpPercentage());
    	}
    
    	private void checkPercentage(int hpPercentage) {
    		if (hpPercentage > 98 && percents.size() < 11) {
    			addPercent();
    		}
    		
    		for (Integer percent : percents) {
    			if (hpPercentage <= percent) {
    				switch (percent) {
    					case 98:
    						shout_start();
    						skill1();
    						break;
    					case 95:
    						skill2();
    						break;
    					case 80:
    						shout2();
    						spawn_support();
    						break;
    					case 70:
    						skill3();
    						break;
    					case 60:
    						skill4();
    						break;
    					case 50:
    						shout2();
    						spawn_support();
    						break;
    					case 40:
    						skill2();
    						
    						break;
    					case 30:
    						shout1();
    						skill5();
    						break;
    					case 20:
    						skill6();
    						break;
    					case 10:
    						shout2();
    						spawn_support();
    						break;
    					case 5:
    						shout_died();
    						skill6();
    						break;
    						
    				}
    				percents.remove(percent);
    				break;
    			}
    		}
    	}
    	private void skill1() {
    		VisibleObject target = getTarget();
    		if (target != null && target instanceof Player) {
    				SkillEngine.getInstance().getSkill(getOwner(), 20251, 65, getOwner()).useNoAnimationSkill();
    				EmoteManager.emoteStopAttacking(getOwner());
    				
    				ThreadPoolManager.getInstance().schedule(new Runnable() {
    					@Override
    					public void run() {
    						WorldMapInstance instance = getPosition().getWorldMapInstance();
    						deleteNpcs(instance.getNpcs(233256));
    				
    						ThreadPoolManager.getInstance().schedule(new Runnable() {
    						@Override
    						public void run() {
    								stage0();
    								getRandomTarget();
    								ThreadPoolManager.getInstance().schedule(new Runnable() {
    									@Override
    									public void run() {
    									Npc ovanka = getPosition().getWorldMapInstance().getNpc(233256);
    									 ovanka.getLifeStats().setCurrentHp(1304762);
    
    		private void stage0() {
    				ThreadPoolManager.getInstance().schedule(new Runnable() {
    					@Override
    					public void run() {
    				float targetX = getOwner().getTarget().getPosition().getX();
    				float targetY = getOwner().getTarget().getPosition().getY();
    				float targetZ = getOwner().getTarget().getPosition().getZ();
    				int targetH = getOwner().getTarget().getPosition().getHeading();
    				spawn(233256, targetX, targetY, targetZ, (byte) targetH); 
    					}
    				}, 12000);   
    		}