Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Подскажите, как сделать так, чтобы у персонажей при респе было половину хп и 3/4 крови? То есть при первом заходе на сервер или после смерти, выдавались такие значения.

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


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

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

MagicByte MagicByte MagicByte
  • 0
float max_Health = player.GetMaxHealth("GlobalHealth", "Health");
float max_Blood = player.GetMaxHealth("GlobalHealth", "Blood");
player.SetHealth("GlobalHealth", "Health", (max_Health / 2));
player.SetHealth("GlobalHealth", "Blood", (max_Blood * ( 3 / 4)));

прописать после выданного старт лута например

p.s. не тестировал

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 час назад, 123new сказал:

прописать после выданного старт лута

я так понимаю, что можно в ините это организовать?

боюсь могу напутать, это примерно так должно выглядеть?
 

override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
    {
        EntityAI itemTop;
        EntityAI itemEnt;
        ItemBase itemBs;
        float rand;

        itemTop = player.FindAttachmentBySlotName("Body");

        if ( itemTop )
        {
            itemEnt = itemTop.GetInventory().CreateInInventory("Rag");
            if ( Class.CastTo(itemBs, itemEnt ) )
                itemBs.SetQuantity(4);

            SetRandomHealth(itemEnt);

            string chemlightArray[] = { "Chemlight_White", "Chemlight_Yellow", "Chemlight_Green", "Chemlight_Red" };
            int rndIndex = Math.RandomInt(0, 4);
            itemEnt = itemTop.GetInventory().CreateInInventory(chemlightArray[rndIndex]);
            SetRandomHealth(itemEnt);

            rand = Math.RandomFloatInclusive(0.0, 1.0);
            if ( rand < 0.35 )
                itemEnt = player.GetInventory().CreateInInventory("Apple");
            else if ( rand > 0.65 )
                itemEnt = player.GetInventory().CreateInInventory("Pear");
            else
                itemEnt = player.GetInventory().CreateInInventory("Plum");

            SetRandomHealth(itemEnt);
        }
        float max_Health = player.GetMaxHealth("GlobalHealth", "Health");
        float max_Blood = player.GetMaxHealth("GlobalHealth", "Blood");
        player.SetHealth("GlobalHealth", "Health", (max_Health / 2));
        player.SetHealth("GlobalHealth", "Blood", (max_Blood * ( 3 / 4)));
    }

 

Изменено пользователем FreddyCruger (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
50 минут назад, 123new сказал:

float max_Health = player.GetMaxHealth("GlobalHealth", "Health"); float max_Blood = player.GetMaxHealth("GlobalHealth", "Blood"); player.SetHealth("GlobalHealth", "Health", (max_Health / 2)); player.SetHealth("GlobalHealth", "Blood", (max_Blood * ( 3 / 4)));


float max_Health = player.GetMaxHealth("GlobalHealth", "Health");
float max_Blood = player.GetMaxHealth("GlobalHealth", "Blood");
player.SetHealth("GlobalHealth", "Health", (max_Health / 2));
player.SetHealth("GlobalHealth", "Blood", (max_Blood * ( 3 / 4)));

прописать после выданного старт лута например

p.s. не тестировал

эх, вроде работает только кровь, и то сразу смерть после респа. ХП не уменьшается

 

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


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

Попробуй player.SetHealth( "GlobalHealth", "Health", 50);

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
2 минуты назад, Yuki сказал:

Попробуй player.SetHealth( "GlobalHealth", "Health", 50);

а кровь как сделать, чтобы сразу не умирал, видимо 3 / 4, это слишком много, а с хп попробую отпишусь

 

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


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

О! Изменил на такое и вуяля заработало) 
 

player.SetHealth("GlobalHealth", "Health", (max_Health * 1 / 2));
player.SetHealth("GlobalHealth", "Blood", (max_Blood * ( 1 / 1)));

кровь не убавилась, но ХП половина, ща буду с кровью разбираться

Изменено пользователем FreddyCruger (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
float max_Health = player.GetMaxHealth("GlobalHealth", "Health");
        float max_Blood = player.GetMaxHealth("GlobalHealth", "Blood");
        player.SetHealth("GlobalHealth", "Health", (max_Health * 1 / 3));
        player.SetHealth("GlobalHealth", "Blood", (max_Blood *  1 / 2));

Идеально!

Изменено пользователем FreddyCruger (история изменений)

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


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка