Форум Pawn.Wiki - Воплоти мечту в реальность!: [Звонки] Полноценное общение - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Тема закрыта

[Звонки] Полноценное общение Вы сможете общаться по вебкамере и с микрофоном Оценка: -----

#1
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Всем привет. Решил сделать многим подарок на новый год и выпустить что-то новое в SA-MP. Изначально я хотел что-то похожее сделать на HouseParty, но это заняло бы много времени. Discord и Zoom вообще защищены всем чем возможно.

Поэтому я выкладываю вам доступный вариант в 60 строк. Многие говорят, что это бесполезно, но по мне это как-то разнообразит игру. Тем более у многих слабый пк, и несколько программ открывать для них критично.

Ссылки:
Готовый вариант системы: ТЫК - ОБНОВИЛ. Добавил официальный исходник
Ссылка на CEF 3.35: - ТЫК (Обновлено)
Если ваша сборка gta не видит cef, держите работающую сборку: ТЫК
(В папке с игрой версия 0.3, удалите папку cef и файл cef.asi и перекиньте новые файлы с версии 3.35)

Обзор системы




Начнем:

1. Создадим HTML файл и впишем туда следующее содержимое
<html>
    <head>
        <title>ChatVV</title>
		<meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://meet.jit.si/external_api.js"></script>
		<link rel="stylesheet" href="style.css">
    </head>
    <body>
	<div class = "green">
        <button class="btn" id="start" type="start" >Общение</button>
	</div>
        <div id="jitsi-container"></div>
		
        <script>
            var button = document.querySelector('#start');
            var container = document.querySelector('#jitsi-container');
            var api = null;

            button.addEventListener('click', () => {
                var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
                var stringLength = 30;
                function pickRandom () {
                    return possible[Math.floor() * possible.length];
                }
                var randomString = Array.apply(null,Array(stringLength)).map (pickRandom).join('');

                var domain = "meet.jit.si";
                var options = {
                    "roomName": randomString,
                    "parentNode": container,
                    "width": 500,
                    "height": 500,
                };
                api = new JitsiMeetExternalAPI(domain, options);
             });
		$('.btn').on('click', function(e){
		  e.preventDefault();
		  
		  var $this = $(this);
		  
		  
		  setTimeout(function() { 
			$this.slideUp(2000);
		  }, 1000);
		});
        </script>
	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
		<script>
            $(this).keydown(function(eventObject){
                if (eventObject.which == 113) //буква F2
                {
                        cef.hide(false);
                        cef.set_focus(false); 
                }
			if (eventObject.which == 114) //буква F3
                {
                        document.location.href = "Ссылка на исходный интерфейс";
			cef.set_focus(false);
                }
                    
            });
    </script>
    </body>
</html>


2. Создадим style.css файл и добавим следующее содержимое

.green { 

text-align: center;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
padding: 58px 236px;
margin: 80px auto;   
}
   
   .btn {
  display: inline-block;
  text-decoration: none;
  background: #000;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  position: absolute;
  top: 920px; left: 1800px; 
}



3. Осталось прописать это все в pawno. В начало мода добавим следующие строки

#include <cef>
#include <fmt>


4. Добавим ко всем #define (ид свой казывайте)

#define CEF_INTERFACE_BROWSER_ID 2
#define SCMf SendClientMessagef


5. В public OnPlayerSpawn(playerid) добавим следующие строки. Добавляем для того, чтобы при спавне сразу был включен интерфейс.

cef_create_browser(playerid, CEF_INTERFACE_BROWSER_ID, "Ссылка на изначальный интерфейс", false, false);


6. В конец мода добавляем


CMD:cef(playerid)
{
initialize_interface(playerid);
SendClientMessage(playerid, -1, "Используйте {FF0000}F2{FFFFFF}, чтобы убрать фокус, предварительно щёлкните по игре");
SendClientMessage(playerid, -1, "Используйте {FF0000}F3{FFFFFF}, чтобы вернуть исходный интерфейс");
return 1;
}

stock initialize_interface(playerid)
{
        cef_create_browser(playerid, CEF_INTERFACE_BROWSER_ID, "Ссылка на изначальный сайт, чтобы включить управление", false, true);
        return 1;
}

Сообщение отредактировал NiceXPlayer: 31 января 2022 - 23:14

2

#2
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Обновил тему


Добавлена версия 3.35. Из нового добавил папку visual, качайте exe взависимости от вашей системы. У вас скачается библиотека для работы asi скриптов.
Добавил ссылку на готовый вариант системы

1

#3
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Обновил тему

Теперь вы можете коннектится к своим друзьям прямо из игры. Просто пропишите название комнаты и введите пароль в беседу, если глава поставил его.
1

#4
Пользователь офлайн   Макс 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Выглядит интересно, жаль что есть зависимость от стороннего сайта. Если он когда то перестанет работать или поменяет API, все сломается.
0

#5
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияМакс (09 января 2022 - 00:20) писал:

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


Не думаю, он там с 2003 года :)
0

#6
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию
Ну про слабые ПК заявление громкое, с учётом того, чем является CEF.

Сообщение отредактировал DeimoS: 23 января 2022 - 15:48

0

#7
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDeimoS (23 января 2022 - 15:20) писал:

Ну про слабые ПК заявление громкое, с учётом того, чем является CEF.



Обычная интеграция браузера же.
0

#8
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияNiceXPlayer (23 января 2022 - 18:17) писал:

Обычная интеграция браузера же.


Ну так если у кого-то настолько слабый ПК, что при запуске GTA вместе с тем же дискордом начинаются проблемы с производительностью, то от CEF, который запускает довольно прожорливый движок Хрома, проблем будет, в лучшем случае, не многим меньше. И чем более кривые руки у скриптера, тем хуже ситуация с прожорливостью CEF может быть.
0

#9
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDeimoS (24 января 2022 - 15:54) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Не поверешь, но есть знакомые, которые сидят на таких компах. Да и будем честны, сейчас все браузеры на движке хромиум.
0

#10
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияNiceXPlayer (24 января 2022 - 17:26) писал:

Не поверешь, но есть знакомые, которые сидят на таких компах. Да и будем честны, сейчас все браузеры на движке хромиум.


Так я, вроде, не спорил с тем, что такие люди существуют. Я лишь о том говорю, что CEF для таких игроков - это, фактически, тот же самый дискорд или любое другое приложение. Ибо не важно, запускаешь ли ты браузерный движок явно, - в виде отдельного приложения (браузера), - или неявно, - через клиентский плагин. И в том, и в другом случае он будет требователен и к оперативной памяти, и к процессору.
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Тема закрыта

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика