Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
setRace
#1
Всем привет.
может кто подсказать как на овероподобных сборках можно сменить расу персонажа без релога?

все что нашел - после релога устанавливает расу персонажа по ид профы
Ответ
#2
неужели так трудно подсказать ?
Ответ
#3
Ограничение клиента же...
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#4
Zubastic Написал:Ограничение клиента же...

мне клиент не важен
смена расы нужна для ботов т.е фантомов, простой сменой класа - выходит распятие :redlol:

Добавлено через 7 минут
думаю попробовать в пакете отправляемому игрокам выставить нужною расу если плеер фантом
не знаю пойдет такой костыль или нет Big Grin
Ответ
#5
Zubastic Написал:Ограничение клиента же...
ТС - вот, еще раз прочитайте плз ...
Ответ
#6
Visor Написал:ТС - вот, еще раз прочитайте плз ...

один черт не понятно причем тут клиент до создания фантома (без клиента)
клиент же только получает значение расы и отображает ту модельку которая надо или я что то упустил?
никто не просит менять расу на живом персе =)
моя логика примерно такая
грузим наборы сетов, по пушке узнаем грейд и тип, выдаем по типу лвл и грейду профу и расу, спавним фантома в мир (и все ето без клиента)

но один фиг в конце выходит гном с колизиями человека или камаель-титан и тд
Ответ
#7
Сделай правильную постановку вопроса.

Понятно, что нечего не понятно.

То ты пишешь: почему нужно делать релог клиента?
Через день уже другое.

грузим наборы сетов, по пушке узнаем грейд и тип, выдаем по типу лвл и грейду профу и расу, спавним фантома в мир (и все ето без клиента)<--------- видимо нужен код как минимум.
Ответ
#8
может и не так сформулировал вопрос, но суть все та же
а код то зачем? проверок на одетою пушку никто не знает?
Код:
            if (weapon.getTemplate().getItemType() == WeaponType.SWORD && !weapon.isMageWeapon())
                {
                    int[] class2prof = {5, 6, 20, 21, 33};
                    int[] classId = {90, 91, 106, 99, 100};
                    if (setLevel < 76)
                    {
                        fantom.setClassId(Rnd.get(class2prof), true, false);
                    } else
                    {
                        fantom.setClassId(Rnd.get(classId), true, false);
                    }
                    fantom.restoreSkills();
                    fantom.sendChanges();
                    fantom.spawnMe(fantom.getLoc());
                }
или метода
Код:
public static Player restore(final int objectId)
в вашей сборке нет?
все делал по аналогу
Код:
            // удаляем все итемы с прошлой сесии
            PhantomUtils.getInstance().deletePhantomItemsByObjId(objId);
            // ресторим фантома
            Player fantom = Player.restorePhantom(objId, setLevel, false);
            
            fantom.setOfflineMode(false);
            fantom.setIsOnline(true);
            fantom.updateOnlineStatus();

Код:
                // оружие
                PhantomUtils.equipWeaponItem(set.weapon, fantom);

и тд

все очень примитивно Big Grin

Добавлено через 11 часов 51 минуту
решил проблему не сменой класса а выдачей класса при создании
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)