About This File

This library is discontinued and lacks some features. I'm working on a new remote call library which is faster and more secure

Asynchronous Javascript Communication is a module to allow easy communication between server, client and CEF/browser. This module lets you call server handlers from clients (and vice versa) without dealing with adding and managing custom event handlers.

You can easily call a handler and get your callback called as soon as everything is returned from the handler in a promise like way! Let's see how it works in action:

// server side
const ajcom = require("./ajcom")
ajcom.register("getServerName", hCtx => {
	return mp.config.name
})
// client side
const ajcom = require("./[package name]/ajcom.js")
mp.events.add("guiReady", () => {
	ajcom.callServer("getServerName").then((ctx, serverName) => {
		mp.gui.chat.push(`Welcome to ${serverName} ragemp server!`)
	})
})

That's all! Not convinced yet? See how the above code is done without ajcom:

// server side
mp.events.add("getServerName", (player) => {
	player.call("gotServerName", [mp.config.name])
})
// client side
mp.events.add("gotServerName", (serverName) => {
	mp.gui.chat.push(`Welcome to ${serverName} ragemp server!`)
})
mp.events.add("guiReady", () => {
	mp.events.callRemote("getServerName")
})

See? It eases the event handling mess. But there's a lot more to ajcom. You can easily handle errors happening on handler's side or any of the callbacks, set delays and other stuff. The full documentation is available here

Please post your questions and issues to the forum post

Github repo


What's New in Version 1.9.6   See changelog

Released

v1.9.6 (2018/3/7)
  • added jsdocs for constructors
  • added separate enums and classes for types used as parameters
  • added noPostback flag
  • added flags for handlers
  • added special handlers (hooks) for server side handlers getting called
  • added the ability to broadcast a call to all or specific clients
  • added cef support
  • added cross side logging
  • fixed calling a handler with triggerDelay not being called
  • fixed data.source and data.target having wrong values
  • change the namespace so that users can use enums and classes
  • Like 5



User Feedback

Create an account or sign in to leave a review

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

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

Adam

  

Really good! keep it up!

  • Mask 1

Share this review


Link to review
ragempdev

  

aryan productions +rep

  • Mask 1

Share this review


Link to review