hdrtop Posted May 3, 2021 Share Posted May 3, 2021 Hello, I'm trying to make a Gangwar gamemode and I'm having some problems with Blips. I create blips with a command, that's fine but there's a problem, when I log out and log in again the blip is beign duplicated. I have this code, for when the player enter to the server the blips must be deleted (but not): function clearBlips() { natives.SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT(true) let last_blip = natives.GET_FIRST_BLIP_INFO_ID(5) while (natives.DOES_BLIP_EXIST(last_blip)) { mp.game.ui.removeBlip(last_blip) last_blip = natives.GET_NEXT_BLIP_INFO_ID(5) mp.gui.chat.push("blip deleted"); } mp.game.wait(50) } everytime I login to the server, the message of blip deleted is showed but it's showed as many times as blips I have, but blips don't disappear. I'm callling this function inside a clientside event from the server: Quote player.call("client:clearBlips") When the player logins. I only get the map empty of blips if I close RageMP and open again (restarting the server doesn't work). Link to comment Share on other sites More sharing options...
MrPancakers Posted May 4, 2021 Share Posted May 4, 2021 You need to show how you're creating the blips too cause then you could possibly be given a better way to be clearing blips. Link to comment Share on other sites More sharing options...
hdrtop Posted May 4, 2021 Author Share Posted May 4, 2021 (edited) 17 hours ago, MrPancakers said: You need to show how you're creating the blips too cause then you could possibly be given a better way to be clearing blips. Hey, I'm using this code // Serverside (zones.js) createZone: function(player, name){ let playerPos = player.position; let turf = { turfName: name pos: new mp.Vector3(playerPos.x, playerPos.y, playerPos.z), factOwnId: 1, color: 37, rotation: player.heading }; // I don't know if this is really necessary, all the online players must see the blip (is this correct?) mp.players.forEach((CurrentPlayer) => { CurrentPlayer.call('client:createZoneFromServer', [JSON.stringify(turf)]); }); } // Clientside (zones.js) mp.events.add('client:createZoneFromServer', (obj) => { obj = JSON.parse(obj); let color = obj.color; let turfBlip = mp.game.ui.addBlipForRadius(obj.pos.x, obj.pos.y, 1, 50); natives.SET_BLIP_SPRITE(turfBlip, 5); natives.SET_BLIP_ALPHA(turfBlip, 70); natives.SET_BLIP_COLOUR(turfBlip, color); natives.SET_BLIP_ROTATION(turfBlip, obj.rotation); obj.colShape = mp.colshapes.newSphere(obj.pos.x, obj.pos.y, obj.pos.z, 50, 0); gangZones.push({blip: turfBlip, idTurf: obj.turfName}); gangZoneSphere.push({sphere: obj.colShape}); }); Edited May 4, 2021 by hdrtop Link to comment Share on other sites More sharing options...
MrPancakers Posted May 5, 2021 Share Posted May 5, 2021 Not entirely sure if it's something, but is there a reason the blips just aren't being created server-side, does the blips your making need to use addBlipForRadius to function how you want it to? Link to comment Share on other sites More sharing options...
Machiavelli Posted May 6, 2021 Share Posted May 6, 2021 I think it's because you have to create blips like so: mp.blips.new(sprite, position, { name: name, scale: scale, color: color, alpha: alpha, drawDistance: drawDistance, shortRange: shortRange, rotation: rotation, dimension: dimension, radius: radius, }); Any other way of creating blips will not reset them at re-connect. Link to comment Share on other sites More sharing options...
hdrtop Posted May 9, 2021 Author Share Posted May 9, 2021 Well, I've added Quote natives.SET_BLIP_SCALE(last_blip, 1); to Quote clearBlips() And it worked. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now