↑ ↓

Спавн

Тема в разделе "Помощь", создана пользователем nokiafan1111, 15 авг 2018.

  1. TopicStarter Overlay
    Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    Всем привет, может кто подсказать как заспавнить нпс в другом канале?
    Есть локация в 3 канале, стоит как dummy. Как можно именно в этот канал поставить нпс?
     
  2. TopicStarter Overlay
    Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    в аишке как указать канал при спавне? я просто не догоняю немного с этими каналами.
     
  3. Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    В сборке id канал обычно обозначается как instanceId, в аишке можешь просто после спавна тпшить в нужный канал (handleSpawned), или просто доработай команду spawn, что бы можно было указывать канал
     
  4. TopicStarter Overlay
    Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    примитивный пример подкинуть можешь? чето я не понял именно с handleSpawned часть
     
  5. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Когда данж создается у него есть InstanceWorldMapId и InstanceMapId.
    В твоем случае InstanceMapId это твой канал. По умолчанию если он равен нулю - то это будет 1 канал.
    В спавн движке есть различные варианты спавна - ищи тот где указывается и MapId и WorldMapId
     
  6. Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Ну тебе нужно просто единоразово заспавнить моба в канале 3 или на постоянной основе поместить его туда с респавном как у обычных мобов?
     
  7. TopicStarter Overlay
    Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    на постоянке в канале 3
     
  8. Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Ну создать аи для этого моба, и в методе handleSpawned дописать что-то вроде World.getInstance().setPosition(бла-бла-бла), идея так себе, но проще всего в реализации
     
  9. TopicStarter Overlay
    Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    внутри позиции можно указать канал?
     
  10. Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Да, instanceId - канал (как в чате пишет - так и вводи, с 0 нумерация начинается только в клиенте, на сервере с 1)
     
    nokiafan1111 нравится это.
  11. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Код:
    	public void setCustomPosition(VisibleObject object, int mapId, float x, float y, float z, byte heading) {
    		int instanceId = 3;
    		
    		if (object.isSpawned())
    			despawn(object);
    		WorldMapInstance instanceMap = getWorldMap(mapId).getWorldMapInstanceById(instanceId);
    		if (instanceMap == null) {
    			return;
    		}
    		WorldPosition newPosition = World.getInstance().createPosition(mapId, x, y, z, heading, instanceId);
    		object.setPosition(newPosition);
    
    		MapRegion region = instanceMap.getRegion(object);
    		object.getPosition().setMapRegion(region);
    	}
    Не проще так?
     
    nokiafan1111 нравится это.
  12. Offline

    meridianblade Ефрейтор

    199
    19
    51
    Кредиты:
    $375,52
    Репутация:
    3
    Так тоже самое)
     
  13. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Да вы велосипед чет изобретаете рил), взял метод - поменял id канала - поменял название метода - валуа - новый метод спавна в определенных каналах)
     
  14. TopicStarter Overlay
    Offline

    nokiafan1111 Ефрейтор

    331
    21
    51
    Кредиты:
    $329,63
    Репутация:
    2
    плее))) а я тут уже начал аи писать и тд xdd
    Рома пасиб)
     
  15. Offline

    WeRn Ефрейтор

    496
    59
    59
    Кредиты:
    $16.147,43
    Репутация:
    8
    Пожалуйста)