Jump to content

Recommended Posts

Posted

Добрый день форумчане.
При написании формы, возник вопрос: "Как сделать, чтобы с Cef при нажатии на кнопку, отправлялся запрос на index.js, который находится в client_packages?".
Спасибо за ответ =)

Posted
22 минуты назад, kemperrr сказал:

HTML ( CEF )

 


<html>
  <head>
  </head>
  
  <body>
    <form id="form-id">
  	  <button id="your-id">submit</button>
	</form>
  </body>
  
  <script>
    window.addEventListener("DOMContentLoaded", () => {
      let form = document.getElementById("form-id");

	  document.getElementById("your-id").addEventListener("click", () => {
        let jsonObject = { name: "kemperrr", password: "123456_lol" }
  		mp.trigger("buttonClicked", "HAHAHAHAHHA", 12345, JSON.stringify(jsonObject));
	  });
	});
  </script>

</html>

Client-side


mp.events.add("buttonClicked", (str, num, strJSON) => {
	let parsedJSON = JSON.parse(strJSON);
  	mp.game.graphics.notify(`Name : ${parsedJSON.name} Password : ${parsedJSON.password}`);
  	
  	mp.events.callRemote("serverButtonClicked", str, num, strJSON);
});

Server-side


mp.events.add("serverButtonClicked", (str, num, strJSON) => {
  let parsedJSON = JSON.parse(strJSON);
  console.log(str, num, parsedJSON); // -> "HAHAHAHAHHA", 12345, { name: "kemperrr", password: "123456_lol" }
});

 

Спасибо за ответ. Вопрос: "Обязательно ли использоваться Json?"

Posted
4 часа назад, kemperrr сказал:

Да, ибо JS объекты передать нельзя

Спасибо большое!

Я сделал слегка по другому 
 

<script type="text/javascript">
  function btnClick() { mp.trigger('eventCef', $("#email").val(), $("#pass").val()); }	
</script>

потом отправляю текст на серверную часть и норм всё работает, не понимаю о каких объектах ты говоришь. Может в дальнейшем столкнусь

Posted
1 минуту назад, kemperrr сказал:

Почитай - https://learn.javascript.ru/object
советую сразу вникнуть в них, потому что эти объекты очень упрощают работу и вот пример сразу же


//Плохой пример
let playerInfo = [];

mp.events.add("playerJoin", (player) => {
  playerInfo[player.id].password = "123456";
  playerInfo[player.id].lvl = 1;
});

mp.events.addCommand("testInfo", (player) => {
  console.log(playerInfo[player.id].password, playerInfo[player.id].lvl);
});

//Хороший пример 
mp.events.add('playerJoin', (player) => {
  player.info = {
    password: "123456",
    lvl: 1
  };
});

mp.events.addCommand("testInfo", (player) => {
  console.log(player.info.password, player.info.lvl);
});

 

Есть такое подобное в Pawn enum называется, спасибо, я учту

Posted
Только что, kemperrr сказал:

Именно от enum я и хотел тебя избавить)

:D 
Понял, буду юзать это) Json сразу идёт же или подключать нужно? А то я подзабыл)

Posted
Только что, kemperrr сказал:

JSON стандартно поддерживается JS

Понял. 
Ещё вопрос, в дальнейшем будет ли шифрование файлов скачанные с сервера или нужно самому какой нибудь костыль делать?

я про клиентскую часть

 

  • 3 months later...
Posted

Почему-то выдает в логах:

{ setVariable [Function], call: [Function] }

где должно быть 

 { name: "kemperrr", password: "123456_lol" }
Posted (edited)
14 часа назад, Lotswaride сказал:

Почему-то выдает в логах:


{ setVariable [Function], call: [Function] }

где должно быть 


 { name: "kemperrr", password: "123456_lol" }

Первый аргумент в событиях на сервере всегда объект Player, скорее всего этот объект вывелся, вместо ожидаемого.

Edited by WampiR
  • Like 1
Posted
14 минуты назад, WampiR сказал:

Первый аргумент в событиях на сервере всегда объект Player, скорее всего этот объект вывелся, вместо ожидаемого.

спасибо!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...