Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ITEM rp-radio #11

Closed
SienkoV2 opened this issue May 19, 2020 · 51 comments
Closed

ITEM rp-radio #11

SienkoV2 opened this issue May 19, 2020 · 51 comments
Labels
esx I will not help with ESX related issues

Comments

@SienkoV2
Copy link

Hi ! I want create item with you rp-radio did you have an tips for create this ^^ ?

@mindiw01
Copy link

Hey! You can create the item with this form:
server-side:

ESX.RegisterUsableItem('radio', function(source)
	local xPlayer = ESX.GetPlayerFromId(source)
	TriggerClientEvent('Radio.Set', source, true)
end)

@T4K33N
Copy link

T4K33N commented May 29, 2020

But rp-radio doesn't have a server file. Where should i put the code ?

@mindiw01
Copy link

You can register on esx_basicneeds, or another scripts with server-side!

Or you can create one script apart with this (you can call with the name like you want):

fxmanifest.lua:

fx_version 'adamant'
game 'gta5'

server_script 'server.lua'

server.lua:

ESX.RegisterUsableItem('radio', function(source)
	local xPlayer = ESX.GetPlayerFromId(source)
	TriggerClientEvent('Radio.Set', source, true)
end)

@Bonzaii99
Copy link

when i remove the radio item in my inventory i can still use radio

@Stevekovix
Copy link

@mindiw01 it's clearly not like that, your exemple it's for make the item radio usable and your exemple it's wrong.
If u want make the item usable use that in server.lua from esx_basicneeds :

local statusradio = false ESX.RegisterUsableItem('rp-radio', function(source) local xPlayer = ESX.GetPlayerFromId(source) if statusradio == false then TriggerClientEvent('Radio.Toggle', source) print('open') statusradio = true else TriggerClientEvent('Radio.Toggle', source) print('off') statusradio = false end end)

@FrazzIe FrazzIe added the esx I will not help with ESX related issues label Jul 22, 2020
@FBFezz
Copy link

FBFezz commented Aug 24, 2020

Figured it out. (New user to Mumble)

In Client.lua put this at the top

ESX = nil

Citizen.CreateThread(function()
	while ESX == nil do
		TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
		Citizen.Wait(0)
	end
end)

Then at the radio command Replace it with mine

		Enabled = true, -- Add a command to be able to open/close the radio
		Name = "radio", -- Command name
		Help = "Toggle hand radio", -- Command help shown in chatbox when typing the command
		Params = {},
		Handler = function(src, args, raw)
			ESX.TriggerServerCallback('rp-radio:getItemAmount', function(quantity)
				if quantity > 0 then
			local playerPed = PlayerPedId()
			local isFalling = IsPedFalling(playerPed)
			local isDead = IsEntityDead(playerPed)

			if not isFalling and Radio.Enabled and Radio.Has and not isDead then
				Radio:Toggle(not Radio.Open)
			elseif (Radio.Open or Radio.On) and ((not Radio.Enabled) or (not Radio.Has) or isDead) then
				Radio:Toggle(false)
				Radio.On = false
				Radio:Remove()
				exports["mumble-voip"]:SetMumbleProperty("radioEnabled", false)
			elseif Radio.Open and isFalling then
				Radio:Toggle(false)
			end
		else
			Radio:Toggle(false)
			Radio.On = false
			Radio:Remove()
			exports["mumble-voip"]:SetMumbleProperty("radioEnabled", false)
		end
	end, 'radio')
		end,

Server.lua put this

ESX = nil

TriggerEvent('esx:getSharedObject', function(obj)
	ESX = obj
end)

ESX.RegisterServerCallback('rp-radio:getItemAmount', function(source, cb, item)
	local xPlayer = ESX.GetPlayerFromId(source)
	local quantity = xPlayer.getInventoryItem(item).count

	cb(quantity)
end)

@Kahvlibanaan0
Copy link

when i remove the radio item in my inventory i can still use radio

@FBFezz
Copy link

FBFezz commented Aug 25, 2020

Did you restart the server after doing what i said?

@Kahvlibanaan0
Copy link

Yep

@FBFezz
Copy link

FBFezz commented Aug 27, 2020

Hmm, i mean its a start im getting that as well but If anyone else can help contribute? We have it so it works if you use but if you remove radio you can still use

@Kahvlibanaan0
Copy link

I put server.lua one to esx_basicneeds, is that bad?

@FBFezz
Copy link

FBFezz commented Aug 27, 2020

I made the server.lua in the radio file. Its already in the manifest so all you do is make the file and call it server.lua

@Kahvlibanaan0
Copy link

And this will fix my issue?

@FBFezz
Copy link

FBFezz commented Aug 27, 2020

Possibly? I cant use the radio when i don't have it but if im on a radio channel it stays but i haven't coded that in yet as i haven't looked at mumble for long

@Kahvlibanaan0
Copy link

Its not taking radio even out, but when i add radio to registable item its taking radio out but when i drop it its still usable

@Kahvlibanaan0
Copy link

I got a solution at server.lua add this
`ESX = nil

TriggerEvent('esx:getSharedObject', function(obj)
ESX = obj
end)

ESX.RegisterServerCallback('rp-radio:getItemamount', function(source, cb, item)
local xPlayer = ESX.GetPlayerFromId(source)
local qtty = xPlayer.getInventoryItem(item).count
cb(qtty)
end)
`

At the client.lua add this
`Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)

Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
if IsControlJustPressed(1, 170) then
ESX.TriggerServerCallback('rp-radio:getItemamount', function(qtty)
if qtty > 0 then
SetRadio(true)
else
SetRadio(false)
ClearPedTasks(GetPlayerPed(-1))
TriggerEvent("pNotify:SendNotification", {
text = "Sul puudub raadio",
type = "error",
timeout = math.random(1000, 1000),
layout = "centerRight",
queue = "right"
})
end
end, 'radio')
end
end
end)`

@KacpereQ0
Copy link

So anyone got the script?

@Stevekovix
Copy link

i use the basic rp-radio from frazzle and works perfectly

@Sylvesterb
Copy link

i use the basic rp-radio from frazzle and works perfectly

Thanks for the quite pointless message. The issue is about using a radio item.

@Sylvesterb
Copy link

So anyone got the script?

Yes its here in the github

@Stevekovix
Copy link

i use the basic rp-radio from frazzle and works perfectly

Thanks for the quite pointless message. The issue is about using a radio item.

In the type of message, no need you are at the top .. to criticize and give no solutions

We have already given solutions in passing;)

@DNDdjay
Copy link

DNDdjay commented Nov 1, 2020

i am not sure but the solution there is showing

Figured it out. (New user to Mumble)

In Client.lua put this at the top

ESX = nil

Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
Then at the radio command Replace it with mine

	Enabled = true, -- Add a command to be able to open/close the radio
	Name = "radio", -- Command name
	Help = "Toggle hand radio", -- Command help shown in chatbox when typing the command
	Params = {},
	Handler = function(src, args, raw)
		ESX.TriggerServerCallback('rp-radio:getItemAmount', function(quantity)
			if quantity > 0 then
		local playerPed = PlayerPedId()
		local isFalling = IsPedFalling(playerPed)
		local isDead = IsEntityDead(playerPed)

		if not isFalling and Radio.Enabled and Radio.Has and not isDead then
			Radio:Toggle(not Radio.Open)
		elseif (Radio.Open or Radio.On) and ((not Radio.Enabled) or (not Radio.Has) or isDead) then
			Radio:Toggle(false)
			Radio.On = false
			Radio:Remove()
			exports["mumble-voip"]:SetMumbleProperty("radioEnabled", false)
		elseif Radio.Open and isFalling then
			Radio:Toggle(false)
		end
	else
		Radio:Toggle(false)
		Radio.On = false
		Radio:Remove()
		exports["mumble-voip"]:SetMumbleProperty("radioEnabled", false)
	end
end, 'radio')
	end,

Server.lua put this

ESX = nil

TriggerEvent('esx:getSharedObject', function(obj)
ESX = obj
end)

ESX.RegisterServerCallback('rp-radio:getItemAmount', function(source, cb, item)
local xPlayer = ESX.GetPlayerFromId(source)
local quantity = xPlayer.getInventoryItem(item).count

cb(quantity)

end)

is it not missing the part that is telling what item there is needed ????

@iSentrie
Copy link

iSentrie commented Nov 1, 2020

i am not sure but the solution there is showing

Figured it out. (New user to Mumble)

In Client.lua put this at the top

ESX = nil

Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
Then at the radio command Replace it with mine

	Enabled = true, -- Add a command to be able to open/close the radio
	Name = "radio", -- Command name
	Help = "Toggle hand radio", -- Command help shown in chatbox when typing the command
	Params = {},
	Handler = function(src, args, raw)
		ESX.TriggerServerCallback('rp-radio:getItemAmount', function(quantity)
			if quantity > 0 then
		local playerPed = PlayerPedId()
		local isFalling = IsPedFalling(playerPed)
		local isDead = IsEntityDead(playerPed)

		if not isFalling and Radio.Enabled and Radio.Has and not isDead then
			Radio:Toggle(not Radio.Open)
		elseif (Radio.Open or Radio.On) and ((not Radio.Enabled) or (not Radio.Has) or isDead) then
			Radio:Toggle(false)
			Radio.On = false
			Radio:Remove()
			exports["mumble-voip"]:SetMumbleProperty("radioEnabled", false)
		elseif Radio.Open and isFalling then
			Radio:Toggle(false)
		end
	else
		Radio:Toggle(false)
		Radio.On = false
		Radio:Remove()
		exports["mumble-voip"]:SetMumbleProperty("radioEnabled", false)
	end
end, 'radio')
	end,

Server.lua put this

ESX = nil

TriggerEvent('esx:getSharedObject', function(obj)
ESX = obj
end)

ESX.RegisterServerCallback('rp-radio:getItemAmount', function(source, cb, item)
local xPlayer = ESX.GetPlayerFromId(source)
local quantity = xPlayer.getInventoryItem(item).count

cb(quantity)

end)

is it not missing the part that is telling what item there is needed ????

no its here
image

@DNDdjay
Copy link

DNDdjay commented Nov 1, 2020

okay is just it dont works for me

i have too set it, so u can use radio without having the radio

and there is no errors in the console or F8 menu

@Kahvlibanaan0
Copy link

Tomorrow i can upload whole radio script. So u can just download it

@TsShoyu
Copy link

TsShoyu commented Nov 2, 2020

Tomorrow i can upload whole radio script. So u can just download it

I would be very grateful

@Phantomymous
Copy link

i want the radio as a item too :/

@Phantomymous
Copy link

@Kahvlibanaan0

@ericb160
Copy link

ericb160 commented Nov 3, 2020

Tomorrow i can upload whole radio script. So u can just download it

I would be very grateful

that would help a lot :) thanks

@DNDdjay
Copy link

DNDdjay commented Nov 8, 2020

Tomorrow i can upload whole radio script. So u can just download it

when will u uploade the script ???

@iiAlphaWolf
Copy link

iiAlphaWolf commented Nov 16, 2020

If you have the item stuff fixed and you guys want to solve the issue players can still hear you even they dont have an radio add this: (in client)
AddEventHandler('nkrp:loadingScreenOff', function() exports["mumble-voip"]:SetRadioChannel(0) end)

@DNDdjay
Copy link

DNDdjay commented Nov 23, 2020

If you have the item stuff fixed and you guys want to solve the issue players can still hear you even they dont have an radio add this: (in client)
AddEventHandler('nkrp:loadingScreenOff', function() exports["mumble-voip"]:SetRadioChannel(0) end)

what do u mean this event do ???

cuz for me its dont sound like the problem we are having

can be me there is wrong

@DNDdjay
Copy link

DNDdjay commented Dec 3, 2020

I found a way too make it work

ESX.RegisterUsableItem('radio', function(source) local xPlayer = ESX.GetPlayerFromId(source) TriggerClientEvent('Radio.Set', source, true) TriggerClientEvent('Radio.Toggle', source) end)

past that in ur server.lua

@GamenHaaDee
Copy link

Does anyone have a pre written script for it?

@DNDdjay
Copy link

DNDdjay commented Mar 16, 2021

Does anyone have a pre written script for it?

i have show the script part there is need right over ur comment

@DNDdjay
Copy link

DNDdjay commented Mar 16, 2021

Does anyone have a pre written script for it?

here u go

https://github.com/DNDdjay/RP_radio

@GamenHaaDee
Copy link

Doesnt work normaly cuz i have the item i can use it but when i drop it i can still open it with Shift + F3

@DNDdjay
Copy link

DNDdjay commented Mar 18, 2021

its not working as toko voip for that u need u rewhite the whole item system in the script

@beauflexx
Copy link

Does anyone have a pre written script for it?

here u go

https://github.com/DNDdjay/RP_radio

I tried using this, using my hotkeys to bring it up. shift and f10
however nothing happens.

  • do have radio in inventory
  • restart script in game, unsure if i need a server restart
  • item is in inventory.

anything else i would need to do?

@DNDdjay
Copy link

DNDdjay commented Mar 19, 2021

u have to go in ur inventory and say use radio before u can use it

@beauflexx
Copy link

if i open my inventory i cant open the chat box
also dragging item over to use doesnt show its a useable item
also tried commands /radio /useradio /radiouse, also reverted back to original commands
wonder if i should restart server.. thank you for quick reply been trying to do this

@DNDdjay
Copy link

DNDdjay commented Mar 19, 2021

okay what framework are u using ???

@beauflexx
Copy link

esx 1.1 up to date

@beauflexx
Copy link

ty ty

@heavenlygamer04
Copy link

Does anyone have a pre written script for it?

here u go

https://github.com/DNDdjay/RP_radio

Hi! so i installed this remade script and it is loaded and i even have the radio in my inventory, but for some reason i cannot get it to work, ive tried the keybind and the command

thanks in advance

@pablordgez
Copy link

Add this to the top of client.lua
ESX = nil

Then below the local radio part add this:

Citizen.CreateThread(function()
    while true do
        TriggerServerEvent("checkradio")
        Citizen.Wait(200)
    end
end)

RegisterNetEvent("doeshaveradio")
AddEventHandler("doeshaveradio",function()
    Radio.Has = true
end)

RegisterNetEvent("doesnthaveradio")
AddEventHandler("doesnthaveradio",function()
    
	Radio.Has = false
end)

Add this to server.lua (you can create a server.lua file in rp-radio and it will work right away)

ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

RegisterNetEvent("checkradio")
AddEventHandler("checkradio", function()
	local xPlayer = ESX.GetPlayerFromId(source)
	if xPlayer ~= nil then
		local item_radio = xPlayer.getInventoryItem('radio').count
		if item_radio > 0 then
			xPlayer.triggerEvent("doeshaveradio")
		else
			xPlayer.triggerEvent("doesnthaveradio")
		end
	end
end)

I coded this and it worked. This was using ESX v1 Final, so you should use that

@FuriousLeech
Copy link

Does anyone have a pre written script for it?

here u go

https://github.com/DNDdjay/RP_radio

hey, would you be able to fix an issue where you need to restart the script every time you load into the server? i know the issue, just not how to fix it. its calling the radio or something before the character is even loaded in, so it needs a restart to work. i had the same issue with my dispatch. i had to TriggerEvent in my multichar script after the character has fully loaded. but im not sure what to trigger in this radio script.

@pablordgez
Copy link

Does anyone have a pre written script for it?

here u go
https://github.com/DNDdjay/RP_radio

hey, would you be able to fix an issue where you need to restart the script every time you load into the server? i know the issue, just not how to fix it. its calling the radio or something before the character is even loaded in, so it needs a restart to work. i had the same issue with my dispatch. i had to TriggerEvent in my multichar script after the character has fully loaded. but im not sure what to trigger in this radio script.

Try mine https://github.com/pablordgez/rp-radio and tell me if it works

@therealnoskill
Copy link

Add this to the top of client.lua
ESX = nil

Then below the local radio part add this:

Citizen.CreateThread(function()
    while true do
        TriggerServerEvent("checkradio")
        Citizen.Wait(200)
    end
end)

RegisterNetEvent("doeshaveradio")
AddEventHandler("doeshaveradio",function()
    Radio.Has = true
end)

RegisterNetEvent("doesnthaveradio")
AddEventHandler("doesnthaveradio",function()
    
	Radio.Has = false
end)

Add this to server.lua (you can create a server.lua file in rp-radio and it will work right away)

ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

RegisterNetEvent("checkradio")
AddEventHandler("checkradio", function()
	local xPlayer = ESX.GetPlayerFromId(source)
	if xPlayer ~= nil then
		local item_radio = xPlayer.getInventoryItem('radio').count
		if item_radio > 0 then
			xPlayer.triggerEvent("doeshaveradio")
		else
			xPlayer.triggerEvent("doesnthaveradio")
		end
	end
end)

I coded this and it worked. This was using ESX v1 Final, so you should use that

this works very well :) TY

@Mat40
Copy link

Mat40 commented Jun 4, 2022

Add this to the top of client.lua
ESX = nil
Then below the local radio part add this:

Citizen.CreateThread(function()
    while true do
        TriggerServerEvent("checkradio")
        Citizen.Wait(200)
    end
end)

RegisterNetEvent("doeshaveradio")
AddEventHandler("doeshaveradio",function()
    Radio.Has = true
end)

RegisterNetEvent("doesnthaveradio")
AddEventHandler("doesnthaveradio",function()
    
	Radio.Has = false
end)

Add this to server.lua (you can create a server.lua file in rp-radio and it will work right away)

ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

RegisterNetEvent("checkradio")
AddEventHandler("checkradio", function()
	local xPlayer = ESX.GetPlayerFromId(source)
	if xPlayer ~= nil then
		local item_radio = xPlayer.getInventoryItem('radio').count
		if item_radio > 0 then
			xPlayer.triggerEvent("doeshaveradio")
		else
			xPlayer.triggerEvent("doesnthaveradio")
		end
	end
end)

I coded this and it worked. This was using ESX v1 Final, so you should use that

this works very well :) TY

Hi i have this error : SCRIPT ERROR: @rp-radio/server.lua:10: attempt to call a nil value (field 'triggerEvent')

@FrazzIe FrazzIe closed this as completed Jun 4, 2022
@Mellorx2
Copy link

Just use this code. Add this in the server.lua:

ESX.RegisterUsableItem('radio', function(source)

	local xPlayer = ESX.GetPlayerFromId(source)
      xPlayer.removeInventoryItem('radio', 1)
       TriggerClientEvent('Radio.Set', source, true)
	TriggerClientEvent('Radio.Toggle', source)

end)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
esx I will not help with ESX related issues
Projects
None yet
Development

No branches or pull requests