Jump to content

Help Me.


-ffn-python

Recommended Posts

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

Link to comment

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*) 

Link to comment

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 

Link to comment

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 
) 

Link to comment

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) 

Link to comment

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 
  

Link to comment

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

Link to comment

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) 

Link to comment

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