Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
- 0
Войдите, чтобы подписаться
Подписчики
0
Как/откуда получить информацию о количестве игроков?
Спросил
pogost89
-
Похожие публикации
-
Автор: BorizzK
Есть игрок
Есть его координаты X и Y
Нужно получить координаты точки X1 и X2 на расстоянии 2м слева от игрока
...
Угол (из GetOrientation()) мы знаем
Те банально надо получить координаты точки на окружности зная угол, радиус и координаты центра окружности
мне видится следующее решение
float dist = 2;
float A = player.GetOrientation()[0] - 45;
float x1 = dist * Math.Cos(A);
float y1 = dist * Math.Sin(A);
vector finpos = Vector(player.GetPosition()[0] + x1, player.GetPosition()[1], player.GetPosition()[2] + y1);
или я не прав?
может в Math enscript'а есть готовая функция?
Спасибо!
-
Автор: 123new
В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков.
Нам понадобится:
1. Сервер DayZ 1.0, сделанный по одному из гайдов:
2. Notepad++
3. Немножечко трезвого ума
Приступим:
1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
2. В самом начале файла добавляем:
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" Находим функцию
void main() и перед ее закрывающей скобкой "}"добавляем:
GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, CountPlayers_TIME_InfoPlayers_Repeat, true); 3. Помещаем в папку файл
Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
Либо создаем вручную этот файл с именем "PlayersMessagesCount.c" и заполняем его следующим текстом:
int CountPlayers_TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) string Message_Chat = "Online Players: "; void SendPlayersCount() { array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { foreach(Man player: players) { CountPlayers_SendPersonalMessage(Message_Chat + numbOfplayers.ToString(), player); } // GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString()); } } void CountPlayers_SendPersonalMessage(string message, Man player) { if(( player ) && (message != "")) { Param1<string> m_GlobalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity()); } } 4. Настраиваем файл как нам нужно. Т.е. в строке
int CountPlayers_TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
и текст сообщений в переменной
string Message_Chat = "Online Players: ";
P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
-
Автор: 123new
В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков.
Нам понадобится:
1. Сервер DayZ 0.63, сделанный по одному из гайдов:
2. Notepad++
3. Немножечко трезвого ума
Приступим:
1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
2. В самом начале файла добавляем:
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" И после строки
weather.SetWindFunctionParams(0, 0, 0); добавляем:
GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, TIME_InfoPlayers_Repeat, true); Пример:
Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
3. Помещаем в папку файл Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
Либо создаем вручную этот файл с именем "PlayersMessagesCount.c" и заполняем его следующим текстом:
int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) string Message_Chat = "Online Players: "; void SendPlayersCount() { array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString()); } } 4. Настраиваем файл как нам нужно. Т.е. в строке
int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
и текст сообщений в переменной
string Message_Chat = "Online Players: ";
P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
-
Автор: W0LF
Сабж собственно. Для ручного оружия работает:
_weapon = "AKM_Kobra_DZ"; _unit_magazine_name = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines"); systemChat format["%1:",_weapon]; {systemChat format["%1",_x];} forEach _unit_magazine_name; Однако для техники не работает:
_car = "ArmoredSUV_PMC_DZE4"; _car_magazine_name = getArray (configFile >> "CfgVehicles" >> _car >> "magazines"); systemChat format["%1:",_car]; {systemChat format["%1",_x];} forEach _car_magazine_name; Что не так?
-
Автор: komix322
Такая проблема... Если наводишсья на любого игрока , то показывает его ник и расстояние до него. Как это исправить?
Порылся в инстансе и в разных настройках сложности, но ни чего не нашел. Разве что:
enemyTag = 0;
friendlyTag = 0;
MineTag=1;
-
-
Наш выбор
-
Создаем свой серверный мод. [DayZ 1.4 to Discontined]
123new опубликовал тему в Версия 1.0 и выше,
-
Увеличение карты х2
vitacite опубликовал тему в Картостроение,
Всем привет! Подскажите, знающие люди, откуда я могу получить информацию о количестве игроков на сервере в данный момент времени. Почему то всегда думал, что эта инфа в БД есть, но не нашел там ни чего подобного.
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах