Поэтому я выкладываю вам доступный вариант в 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
Вход
Регистрация
Помощь

Тема закрыта










