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

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

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

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

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

Настройка панели быстрого доступа для DM

Всем привет!

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

 

Все гайды перерыл ничего не нашел(((

 

Возможно кто-то подскажет.

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


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

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

  • 2

сначала спавним нужный предмет и записываем его в переменную. Затем для игрока выполняем функцию:

EntityAI createdItem = player.GetHumanInventory().CreateInInventory("ClassName"); // спавним предмет указанного класснейма
if (createdItem != NULL) // проверяем, создался ли предмет
{
	int number_in_quickbar = 0; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
}

при этом учитывайте, что номер элемента в квикбаре зависит от количества свободных клеток у игрока (игра это сама регулирует от веса на игроке, как я понял). Т.е. если вы поставите 8 слотом бинт, а у игрока 4 слота всего то он не увидит бинта

номер в квикбаре от 0, т.е. 0 это первый элемент, 1 - второй и т.п.

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


Ссылка на сообщение
Поделиться на других сайтах
MagicByte MagicByte MagicByte
  • 1
11 минут назад, Balcoz сказал:

А есть, пример как вписать ?

 

Что с верху написано не понятно для меня ( начинающего )

 

пример выше дан уже, куда ж более примерно. Больше тока носом тыкать, как кота в то самое.

Учитесь думать что вы делаете, после чего и за чем. Комманды вам буквально построчно прописаны.

Вот например, где логика?
611255912_.png.c68c692a7b76b4cc8be5942a75d8ad45.png

т.е. мы создаем предмет, проверяем создался ли, выводим его на квикбар, а потом хренак, и очищаем все у игрока. Логика зашкаливает.

Вот еще нюанс:

если вы в одной функции 2 переменные вот так один в один зададите будет ошибка

369835636_.png.394a1fda23c897efce8db527f4c3cbb9.png

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

И еще нюанс у вас заметил, вот эта строка

1702161932_.png.2e9b94215540da2b947f3ea9118c65f0.png

в одной из последних обнов скрипта изменена. Она и текущая ваша работает, только срет крашлогами при каждом использовании. По сему вывод - скрипт у вас не обновлен до актуальной версии.

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


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

@TestTestovich такое есть, кстати, только у ультимы в скрипте, на стартовый спаун игроков. Два рублях вечно деревянных тут, на площадке.

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


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

@123new огромное спасибо! Все заработало как часы!

 

Мне надо бы функции посмотреть более подробно на будущее)

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


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

сначала спавним нужный предмет и записываем его в переменную. Затем для игрока выполняем функцию:

EntityAI createdItem = player.GetHumanInventory().CreateInInventory("ClassName"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 0; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); }


EntityAI createdItem = player.GetHumanInventory().CreateInInventory("ClassName"); // спавним предмет указанного класснейма
if (createdItem != NULL) // проверяем, создался ли предмет
{
	int number_in_quickbar = 0; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
}

при этом учитывайте, что номер элемента в квикбаре зависит от количества свободных клеток у игрока (игра это сама регулирует от веса на игроке, как я понял). Т.е. если вы поставите 8 слотом бинт, а у игрока 4 слота всего то он не увидит бинта

номер в квикбаре от 0, т.е. 0 это первый элемент, 1 - второй и т.п.

 

EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Epinephrine"); // спавним предмет указанного класснейма
if (createdItem != NULL) // проверяем, создался ли предмет
{
	int number_in_quickbar = 5; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
}

Например морфин на 5ку так должен быть?

 

	//Бинты на 3 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}		
    //Морфин на 4 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}

Почемуто при 2м разе начинает ругаться((

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

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


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

 

EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Epinephrine"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 5; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); }


EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Epinephrine"); // спавним предмет указанного класснейма
if (createdItem != NULL) // проверяем, создался ли предмет
{
	int number_in_quickbar = 5; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
}

Например морфин на 5ку так должен быть?

 

на 6, массив элементов начинается от 0, писал же. т.е
указываемая цифра  -  номер клавиши у игрока:
0 - 1
1 - 2
2 - 3
 3 - 4
4 - 5
5 - 6
т.е. указывая 5 мы биндим на кнопку с номером 6

44 минуты назад, MAXILIVE сказал:

 

EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Epinephrine"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 5; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); }

 

//Бинты на 3 слот квик бара EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); } //Морфин на 4 слот квик бара EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); }


	//Бинты на 3 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}		
    //Морфин на 4 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
	player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
	Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}

Почемуто при 2м разе начинает ругаться((

потому как переменная класса EntityAI с именем createdItem уже существует и объявлена в памяти данной функции. Т.е. либо мы ее повторно уже не объявляем, а просто используем:

	//Бинты на 3 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}		
    //Морфин на 4 слот квик бара
	createdItem = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    number_in_quickbar = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}

или мы ей имя другое задаем

	//Бинты на 3 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}		
    //Морфин на 4 слот квик бара
	EntityAI createdItemMorfine = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма
    if (createdItemMorfine != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbarMorfine = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItemMorfine, number_in_quickbarMorfine, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItemMorfine).GetType() + " as number " + number_in_quickbarMorfine.ToString());
	}

аналогично поступаем и с переменной number_in_quickbar так как с ней то же самое получается.

Код выше что дан просто набран, не проверялся, но в теории должен быть правильным

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


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

на 6, массив элементов начинается от 0, писал же. т.е
указываемая цифра  -  номер клавиши у игрока:
0 - 1
1 - 2
2 - 3
 3 - 4
4 - 5
5 - 6
т.е. указывая 5 мы биндим на кнопку с номером 6

потому как переменная класса EntityAI с именем createdItem уже существует и объявлена в памяти данной функции. Т.е. либо мы ее повторно уже не объявляем, а просто используем:

//Бинты на 3 слот квик бара EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); } //Морфин на 4 слот квик бара createdItem = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { number_in_quickbar = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); }


	//Бинты на 3 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}		
    //Морфин на 4 слот квик бара
	createdItem = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    number_in_quickbar = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}

или мы ей имя другое задаем

//Бинты на 3 слот квик бара EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма if (createdItem != NULL) // проверяем, создался ли предмет { int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString()); } //Морфин на 4 слот квик бара EntityAI createdItemMorfine = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма if (createdItemMorfine != NULL) // проверяем, создался ли предмет { int number_in_quickbarMorfine = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу player.SetQuickBarEntityShortcut(createdItemMorfine, number_in_quickbarMorfine, true); // если он создался, добавляем его на квикбар вниз Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItemMorfine).GetType() + " as number " + number_in_quickbarMorfine.ToString()); }


	//Бинты на 3 слот квик бара
	EntityAI createdItem = player.GetHumanInventory().CreateInInventory("BandageDressing"); // спавним предмет указанного класснейма
    if (createdItem != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbar = 2; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItem, number_in_quickbar, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItem).GetType() + " as number " + number_in_quickbar.ToString());
	}		
    //Морфин на 4 слот квик бара
	EntityAI createdItemMorfine = player.GetHumanInventory().CreateInInventory("Morphine"); // спавним предмет указанного класснейма
    if (createdItemMorfine != NULL) // проверяем, создался ли предмет
	{
	    int number_in_quickbarMorfine = 3; // может быть от 0 включительно по 9 включительно. это номер клетьки в ячейке снизу
		player.SetQuickBarEntityShortcut(createdItemMorfine, number_in_quickbarMorfine, true); // если он создался, добавляем его на квикбар вниз 
		Print("[QuickBarEntityShortcut] Setup on QuickBar item " + ItemBase.Cast(createdItemMorfine).GetType() + " as number " + number_in_quickbarMorfine.ToString());
	}

аналогично поступаем и с переменной number_in_quickbar так как с ней то же самое получается.

Код выше что дан просто набран, не проверялся, но в теории должен быть правильным

2021-04-24_09-53-28.png.6a2291a4be490851df3746090c333573.png

Что тут не так?
 ругается сервер.

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


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

2021-04-24_09-53-28.png.6a2291a4be490851df3746090c333573.png

Что тут не так?
 ругается сервер.

а бог его знает. Скрин ошибки + актуальный файл на момент ошибки в студию

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


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

а бог его знает. Скрин ошибки + актуальный файл на момент ошибки в студию

А есть, пример как вписать ?

 

Что с верху написано не понятно для меня ( начинающего )

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка