Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/08/19 in all areas

  1. Version 1.0.0

    1167 downloads

    Description: This resources provides the ability to create/control sound in 3D via custom API. Also demonstrates the ability to use custom urls (Radio streams). 3D sound should be synced automatically without the need of extra work. Notes: - This resource represents basic functioning of CEF sounds using very basic 3D implementation - This resource becomes obsolete when RAGEMP releases 1.1 dp2 which introduces 3D sound API. - This resource doesn't support local mp3 due to some reason with soundManager2. I'll look into it later... - This resource doesn't support Frontend sound atm, it's really easy to implement it yourself. API: // Client-side // FUNCTIONS mp.game.audio.playSound3D(url, pos, volume, range, dimension) /* * url: string (Required) [Links and local package:// protocol are supported] * pos: vector3 (Required) * volume: int (Optional, Default: 1) [Range: 0 to 1] * range: int (Optional, Default: 60) [Max Range: 60] * dimension: (Optional, Default: 0) * Returns Object. * Object Properties: - id (sound's ID) - url (sound's url) - pos (sound's position) - volume (sound's volume) - range (sound's max range) - dimension (sound's dimension) - listeners (players array that are listening to the sound) - paused (If sound is paused) */ mp.game.audio.setSoundVolume(id, volume); /* * id (Sound's ID) * volume (sound's volume) Range (0.1 - 1) */ mp.game.audio.setSoundPosition(id, pos); /* * Useful for portable sound * id (Sound's ID) * pos (sound's new position) */ mp.game.audio.setSoundRange(id, range); /* * id (Sound's ID) * range (Max Range 60) (Increase it by editing the maxRange...) */ // EVENTS: /* * EventName: audioFinish * params: soundID (Sound's ID that is finished Playing) */ /* * EventName: audioError * params: soundID (Sound's ID that had error), errorObject {code: 'error code', error: 'error description'} */ // Example let sound = mp.game.audio.playSound3D('http://rfcmedia.streamguys1.com/MusicPulse.mp3', pos, 60, 1, 0); sound.destroy(); // Destroys the sound sound.pause(); // Pauses the sound sound.resume(); // Resumes the sound If you have any issues or suggestions, you know the usual routine. Credits: - Thanks to George for his 3D voice method. - Thanks to soundManager 2 for bringing music to life in CEF I wish you'll enjoy some epic music.
    1 point
  2. Web developer for hire with a reasonable budget. I can create you UCP, forum, landing pages, discord bot and anything else related to the web. Discord - uncleJ0E#6051 COVID-19 Website - https://covid19track.netlify.app/ Landing pages: https://imgur.com/FIy2fVQ https://imgur.com/a/skG8Irq Login forms: https://imgur.com/rkTZeDf Character: Version 1 - https://imgur.com/64eGsyR Version 2 - https://imgur.com/TygIvkW Character look - https://imgur.com/a/MSIUSqB MDC Design: https://imgur.com/ZEdPo4d https://imgur.com/6vE65fU UCP Design: https://imgur.com/a/cp75nWx
    1 point
  3. That would be asynchronous like a mysql query, but still slower.
    1 point
  4. It depends on what data exactly you want to store. For static things that don't change on runtime, I use JSON, for things that CAN change during runtime I use MySQL.
    1 point
  5. Hi, try this. CLIENTSIDE function loadInt(x,y,z, ipl) { var interior = mp.game.interior.getInteriorAtCoords(x,y,z); //pkt wo der spieler im interior spawnt mp.game.streaming.requestIpl('"'+ipl+'"'); // interior name(IPL) mp.game.interior.refreshInterior(interior); } mp.events.add('cInterior:loadInt', loadInt); SERVERSIDE mp.events.addCommand('testint', (player, allText, x, y, z, iplNAME) => { let position = new mp.Vector3(parseFloat(x), parseFloat(y), parseFloat(z)); player.position = position; player.call("cInterior:loadInt",[position.x, position.y, position.z, iplNAME]); }); Good luck !
    1 point
×
×
  • Create New...