Jump to content

Help Me.


-ffn-python

Recommended Posts

Posted
DjKim = guiCreateLabel(0.49, 0.81, 0.20, 0.03, "DJ:", true) 
guiSetText(DjKim, ""..getPlayerFromName().."") 

DjKim = guiCreateLabel(0.49, 0.81, 0.20, 0.03, "DJ:", true) 
guiSetText(DjKim, getPlayerName(source)) 

or

DjKim = guiCreateLabel(0.49, 0.81, 0.20, 0.03, "DJ:", true) 
guiSetText(DjKim, getPlayerFromName(source)) 
  

Posted
DjKim = guiCreateLabel(0.49, 0.81, 0.20, 0.03, "DJ:", true) 
guiSetText(DjKim, "DJ: "..getPlayerName(localPlayer)) 

Posted

Hey My New Problem Help me Guys... how to All Players Listen To Music ?

        fetchremote = guiCreateEdit(0.24, 0.02, 0.68, 0.05, "", true, Donators) 
muzikOlustur = guiGetText( fetchremote ) 
Dinlet = playSound(tostring( muzikOlustur ), true) 
addEventHandler("onClientRender", root, djArkaPlan) 

Posted

Emm... Its client-side?

    DjKim = guiCreateLabel(0.49, 0.81, 0.20, 0.03, "DJ: none", true) 
    guiSetText(DjKim, "DJ: "..getPlayerName(localPlayer))  -- return string - nickname [i]localPlayer[/i] 
    -- if you need name another player, then getPlayerName(*player*) 

Posted

You'll have to use both triggerServerEvent and triggerClientEvent.

When you use functions such as playSound and playSound3D much like the Wiki states - they are client-sided. Meaning, they only execute on the client calling it. And that client only. Example;

Player 1 calls playSound, sound starts playing.

Player 2 does nothing, no sound starts playing.

This is intended behaviour in order for clients to perform their own unique operations.

The solution? Use the server to call this function for all current clients - or the clients(player element) you specify. Example;

Player 1 requests to play a song

Server handles the request

Server tells all clients to call playSound with specified filepath or URL.

Player 1 calls playSound, sound starts playing.

Player 2 calls playSound, sound starts playing.

This is how you communicate between clients and servers and is a critical part to be able to understand in order to create more advanced scripts. :)

Functions needed for Clients;

triggerServerEvent -- Trigger a custom server-sided event 
addEvent -- Create a custom event 
addEventHandler -- Handle the custom event 
playSound -- To play the sound 

Functions needed for the Server;

addEvent -- Create a custom event 
addEventHandler -- Handle the custom event 
triggerClientEvent -- Trigger a custom client-sided event for specific player(s), or all players 

Posted

Okay Guys. My Example;

addEventHandler("onClientResourceStart", resourceRoot, 
function() 
triggerServerEvent("pytExample", source) 
end 
) 
  
addEvent("onPytMusic", true) 
addEventHandler("onPytMusic", root, 
function() 
pytTestMusic = playSound(tostring( url ), true) 
end 
) 

Server Side

addEvent("pytExample", true) 
addEventHandler("pytExample", root, 
function() 
triggerClientEvent( client, "onPytMusic", client) 
end 
) 

Posted

That's rather unnecessary, this does the same thing;

addEventHandler("onClientResourceStart", resourceRoot, 
function() 
pytTestMusic = playSound(tostring( url ), true) 
end 
) 

Posted

Client:

function TriggerServerEvent_Handler() 
    triggerServerEvent("onPlayerRequestSoundStart", localPlayer) 
end 
  
function SendServerSoundRequest(theURL) 
    if(type(theURL) == "string") then 
        theSound = playSound(theURL) 
        outputChatBox("Starting to play: "..theURL) 
    else 
        outputDebugString("Expected a string, but received "..tostring(type(theURL))) 
    end 
end 
addEvent("startPlayingSound", true) 
addEventHandler("startPlayingSound", root, SendServerSoundRequest) 

Server:

local theURL = "www.example.com/example.mp3" 
  
function HandleClientSoundRequest() 
    triggerClientEvent("startPlayingSound", client, theURL) -- All players 
--  triggerClientEvent(root, "startPlayingSound", client, theURL) -- All players 
--  triggerClientEvent(client, "startPlayingSound", client, theURL) -- Only the client that triggered this event 
--  triggerClientEvent(getRandomPlayer(), "startPlayingSound", client, theURL) -- Trigger for a random player 
end 
addEvent("onPlayerRequestSoundStart") 
addEventHandler("onPlayerRequestSoundStart", root, HandleClientSoundRequest) 

Posted

Okay. button Clicking , guiGetText and play sound working ?

Code;

    function TriggerServerEvent_Handler() 
        triggerServerEvent("onPlayerRequestSoundStart", localPlayer) 
    end 
      
    function SendServerSoundRequest(theURL) 
        if(type(theURL) == "string") then 
        theURL = guiGetText( fetchremote ) 
            theSound = playSound(theURL) 
            outputChatBox("Starting to play: "..theURL) 
        else 
            outputDebugString("Expected a string, but received "..tostring(type(theURL))) 
        end 
    end 
    addEvent("startPlayingSound", true) 
    addEventHandler("startPlayingSound", root, SendServerSoundRequest) 

my Full Code;

addEventHandler("onClientResourceStart", resourceRoot, 
    function() 
        Donator1 = guiCreateStaticImage(0.15, 0.09, 0.73, 0.77, ":bally5/panel.png", true) 
  
        URL = guiCreateLabel(0.09, 0.02, 0.15, 0.05, "Muzik URL:", true, Donator1) 
        local font0_font = guiCreateFont(":Nwt-user/font/font.ttf", 11) 
        guiSetFont(URL, font0_font) 
        guiLabelSetHorizontalAlign(URL, "center", false) 
        guiLabelSetVerticalAlign(URL, "bottom") 
        fetchremote = guiCreateEdit(0.24, 0.02, 0.68, 0.05, "", true, Donator1) 
        Baslat = guiCreateButton(0.35, 0.09, 0.16, 0.06, "Muzik Dinlet", true, Donator1) 
        guiSetFont(Baslat, "default-bold-small") 
        Kapat = guiCreateButton(0.57, 0.09, 0.16, 0.06, "Muzik Durdur", true, Donator1) 
        guiSetFont(Kapat, "default-bold-small")  
guiSetVisible(Donator1, false)       
    end 
) 
  
local btn = false; 
addEventHandler("onClientGUIClick", root, 
function() 
        if source == Baslat and btn == false then 
muzikOlustur = guiGetText( fetchremote ) 
Dinlet = playSound(tostring( muzikOlustur ), true) 
addEventHandler("onClientRender", root, djArkaPlan) 
mtrDJ() 
guiSetText(DjKim, getPlayerFromName(source)) 
setTimer( 
function() 
removeEventHandler("onClientRender", root, djArkaPlan) 
            guiSetVisible(DjKim, false) 
guiSetVisible(mtrMesaj, false) 
end, 5000, 1) 
            btn = true 
        elseif source == Baslat and btn == true then 
stopSound( Dinlet ) 
            btn = false 
end 
end 
) 

new Example in My Code

  
  
function play() 
muzikOlustur = guiGetText( fetchremote ) 
Dinlet = playSound(tostring( muzikOlustur ), true) 
end 
addEvent("test", true) 
addEventHandler("test", root, play) 
  
  
-- server side 
function testa ( pythonClient ) 
        local pythonClient = pythonClient or source 
                      triggerClientEvent ( pythonClient,"test", pythonClient ) 
        end 
  

Posted

Not quite sure what you're trying to do here, doesn't make a whole lot of sense.

function testa ( pythonClient ) 
        local pythonClient = pythonClient or source 
                      triggerClientEvent ( pythonClient,"test", pythonClient ) 
        end 

What is this meant to do...? :?

Posted

Button for PlaySound Trigger don't work. :oops:

client side

  
function TriggerServerEvent_Handler() 
    triggerServerEvent("onPlayerRequestSoundStart", localPlayer) 
end 
  
local isButtonOn = false; 
  
function trs() 
        if source == Baslat and isButtonOn == false then 
        if(type(theURL) == "string") then 
            theSound = playSound(theURL) 
TriggerServerEvent_Handler() 
            outputChatBox("Starting to play: "..theURL) 
             
            isButtonOn = true 
        elseif source == Baslat and isButtonOn == true then 
stopSound( theSound ) 
            isButtonOn = false 
end 
end 
end 
    addEvent("startPlayingSound", true) 
    addEventHandler("startPlayingSound", root, SendServerSoundRequest) 
    addEventHandler("onClientGUIClick", root, trs) 

server- side

    local theURL = "1.mp3" 
      
    function HandleClientSoundRequest() 
        triggerClientEvent("startPlayingSound", client, theURL) -- All players 
    --  triggerClientEvent(root, "startPlayingSound", client, theURL) -- All players 
    --  triggerClientEvent(client, "startPlayingSound", client, theURL) -- Only the client that triggered this event 
    --  triggerClientEvent(getRandomPlayer(), "startPlayingSound", client, theURL) -- Trigger for a random player 
    end 
    addEvent("onPlayerRequestSoundStart") 
    addEventHandler("onPlayerRequestSoundStart", root, HandleClientSoundRequest) 

Posted

Because you need to call this function somewhere;

function TriggerServerEvent_Handler() 
    triggerServerEvent("onPlayerRequestSoundStart", localPlayer) 
end 

I didn't call or add a trigger for it because I assumed you could figure that out yourself :)

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...