Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2023-01-27, 18:44


Frytka







Wiek: 25
Na forum: 1264 dni
Posty: 4

Piwa: 4

Respekt: 50

potrzebuje pomocy z skryptem glosnik chcia?bym ?eby g?o?nik nie znika? po wyj?ciu z servera z g?ry dzi?ki za pomoc

server.lua
------------------------------------------
-- AuthorxXMADEXx                        --
-- Polish versionCzaju                --
-- Name3D Speakers 2.0                --
-- Fileserver.lua                        --
-- Copyright 2013 Braydon Davis    --
------------------------------------------

local isSpeaker false

function print ( playermessagerg)
    outputChatBox messageplayerrg)
end

speakerBox = { }
addCommandHandler "glosnik", function ( thePlayer  )
    if ( isElement speakerBox thePlayer] ) ) then isSpeaker true end
    triggerClientEvent thePlayer"onPlayerViewSpeakerManagment"thePlayerisSpeaker )
end )

addEvent "onPlayerPlaceSpeakerBox"true )
addEventHandler "onPlayerPlaceSpeakerBox"root, function ( urlisCar ) 
    if ( url then
        if ( isElement speakerBox source ] ) ) then
            local xygetElementPosition speakerBox source ] ) 
            print ( source"Twoj glosnik zostal zniszczony: "..math.floor )..", "..math.floor )..", "..math.floor ), 2550)
            destroyElement speakerBox source ] )
            removeEventHandler "onPlayerQuit"sourcedestroySpeakersOnPlayerQuit )
        end
        local xygetElementPosition source )
        local rxryrz getElementRotation source )
        speakerBox source ] = createObject 2229x-0.5y+0.5100rx )
        print ( source"Twoj glosnik zostal postawiony na: "..math.floor )..", "..math.floor )..", "..math.floor ), 0255)
        addEventHandler "onPlayerQuit"sourcedestroySpeakersOnPlayerQuit )
        triggerClientEvent root"onPlayerStartSpeakerBoxSound"rootsourceurlisCar )
        if ( isCar then
            local car getPedOccupiedVehicle source )
            attachElements speakerBox source ], car, -0.7, -1.5, -0.5090)
        end
    end
end )

addEvent "onPlayerDestroySpeakerBox"true )
addEventHandler "onPlayerDestroySpeakerBox"root, function ( )
    if ( isElement speakerBox source ] ) ) then
        destroyElement speakerBox source ] )
        triggerClientEvent root"onPlayerDestroySpeakerBox"rootsource )
        removeEventHandler "onPlayerQuit"sourcedestroySpeakersOnPlayerQuit )
        print ( source"Zniszczono stary glosnik."2550)
    else
        print ( source"Nie masz glosnika."255255)
    end
end )

addEvent "onPlayerChangeSpeakerBoxVolume"true addEventHandler "onPlayerChangeSpeakerBoxVolume"root, function ( to )
    triggerClientEvent root"onPlayerChangeSpeakerBoxVolumeC"rootsourceto )
end )

function destroySpeakersOnPlayerQuit ( )
    if ( isElement speakerBox source ] ) ) then
        destroyElement speakerBox source ] )
        triggerClientEvent root"onPlayerDestroySpeakerBox"rootsource )
    end
end


client.lua

------------------------------------------
-- AuthorxXMADEXx                        --
-- Polish versionCzaju                --
-- Name3D Speakers 2.0                --
-- Fileclient.lua                        --
-- Copyright 2013 Braydon Davis    --
------------------------------
-- Variables                --
------------------------------
local subTrackOnSoundDown 0.1    -- The volume that goes downwhen the player clicks "Volume -"
local subTrackOnSoundUp 0.1    -- The volume that goes upwhen the player clicks "Volume +"


function print ( messagerg)
    outputChatBox messagerg)
end

------------------------------
-- The GUI                    --
------------------------------
local rxry guiGetScreenSize ( )
button = { }
window guiCreateWindow( ( rx 295 ), ( ry 253 ), 293253"Glosnik CripsRPG"false)
guiWindowSetSizable(windowfalse)
guiSetVisible windowfalse )
CurrentSpeaker guiCreateLabel(83325417"Czy masz glosnik: Nie"falsewindow)
volume guiCreateLabel(105025217"Obecna glosnosc: 100%"falsewindow)
pos guiCreateLabel(106625215"X: 0 | Y: 0 | Z: 0"falsewindow)
guiCreateLabel(118125115"URL:"falsewindow)
--url guiCreateEdit(119627223""falsewindow)  
url guiCreateEdit(119627223"http://www.rmfon.pl/n/rmfmaxxx.pls"falsewindow)  
button["place"] = guiCreateButton(912927420"Stworz"falsewindow)
button["remove"] = guiCreateButton(915927420"Usun"falsewindow)
button["v-"] = guiCreateButton(918912820"Glosnosc -"falsewindow)
button["v+"] = guiCreateButton(15518912820"Glosnosc +"falsewindow)
button["close"] = guiCreateButton(921927420"Wyjscie"falsewindow)  

--------------------------
-- My sweet codes        --
--------------------------
local isSound false
addEvent "onPlayerViewSpeakerManagment"true )
addEventHandler "onPlayerViewSpeakerManagment"root, function ( current )
    local toState not guiGetVisible window ) 
    guiSetVisible windowtoState )
    showCursor toState ) 
    if ( toState == true then
        guiSetInputMode "no_binds_when_editing" )
        local xygetElementPosition localPlayer )
        guiSetText pos"X: "..math.floor ).." | Y: "..math.floor ).." | Z: "..math.floor ) )
        if ( current then guiSetText CurrentSpeaker"Czy masz glosnik: Tak" isSound true
        else guiSetText CurrentSpeaker"Czy masz glosnik: Nie" end
    end
end )

addEventHandler "onClientGUIClick"root, function ( )
    if ( source == button["close"] ) then
        guiSetVisible windowfalse ) 
        showCursor false )
    elseif ( source == button["place"] ) then
        if ( isURL ( ) ) then
            triggerServerEvent "onPlayerPlaceSpeakerBox"localPlayerguiGetText url ), isPedInVehicle localPlayer ) )
            guiSetText CurrentSpeaker"Czy masz glosnik: Tak" )
            isSound true
            guiSetText volume"Obecna glosnosc: 100%" )
        else
            print ( "Musisz wprowadzic URL."2550)
        end
    elseif ( source == button["remove"] ) then
        triggerServerEvent "onPlayerDestroySpeakerBox"localPlayer )
        guiSetText CurrentSpeaker"Czy masz glosnik: Nie" )
        isSound false
        guiSetText volume"Obecna glosnosc: 100%" )
    elseif ( source == button["v-"] ) then
        if ( isSound then
            local toVol math.round getSoundVolume speakerSound localPlayer ] ) - subTrackOnSoundDown)
            if ( toVol 0.0 then
                print ( "Glosnosc zmieniona na "..math.floor toVol 100 ).."%!"0255)
                triggerServerEvent "onPlayerChangeSpeakerBoxVolume"localPlayertoVol )
                guiSetText volume"Current Volume: "..math.floor toVol 100 ).."%" )
            else
                print ( "Glosnosc nie moze byc nizsza."2550)
            end
        end
    elseif ( source == button["v+"] ) then
        if ( isSound then
            local toVol math.round getSoundVolume speakerSound localPlayer ] ) + subTrackOnSoundUp)
            if ( toVol 1.1 then
                print ( "Glosnosc zmieniona na "..math.floor toVol 100 ).."%!"0255)
                triggerServerEvent "onPlayerChangeSpeakerBoxVolume"localPlayertoVol )
                guiSetText volume"Current Volume: "..math.floor toVol 100 ).."%" )
            else
                print ( "Glosnosc nie moze byc wyzsza."2550)
            end
        end
    end
end )

speakerSound = { }
addEvent "onPlayerStartSpeakerBoxSound"true )
addEventHandler "onPlayerStartSpeakerBoxSound"root, function ( whourlisCar )
    if ( isElement speakerSound who ] ) ) then destroyElement speakerSound who ] ) end
    local xygetElementPosition who )
    speakerSound who ] = playSound3D urlxyztrue )
    setSoundVolume speakerSound who ], )
    setSoundMinDistance speakerSound who ], 15 )
    setSoundMaxDistance speakerSound who ], 20 )
    if ( isCar then
        local car getPedOccupiedVehicle who )
        attachElements speakerSound who ], car05)
    end
end )

addEvent "onPlayerDestroySpeakerBox"true )
addEventHandler "onPlayerDestroySpeakerBox"root, function ( who ) 
    if ( isElement speakerSound who ] ) ) then 
        destroyElement speakerSound who ] ) 
    end
end )

--------------------------
-- Volume                --
--------------------------
addEvent "onPlayerChangeSpeakerBoxVolumeC"true )
addEventHandler "onPlayerChangeSpeakerBoxVolumeC"root, function ( whovol ) 
    if ( isElement speakerSound who ] ) ) then
        setSoundVolume speakerSound who ], tonumber vol ) )
    end
end )

function isURL ( )
    if ( guiGetText url ) ~= "" then
        return true
    else
        return false
    end
end

function math.round(numberdecimalsmethod)
    decimals decimals or 0
    local factor 10 decimals
    if (method == "ceil" or method == "floor"then return math[method](number factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end


meta.xml
Kod:

<meta>
<info author="xXMADEXx, Czaju" name="SpeakerSystem" type="script" version="1.4.1" />
<min_mta_version server="1.3.4-0.00000" client="1.3.4-0.00000" />

<script src="server.lua" />
<script src="client.lua" type="client" />
</meta>


Komentarz N0TH1NG dodany 2023-01-27, 19:51Dodałem tagi [lua] i [code], pamiętaj o nich pisząc następnego posta w tym dziale.
Ostatnio zmieniony przez N0TH1NG 2023-01-27, 19:50, w całości zmieniany 3 razy  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
borsuk
Wysłany: 2023-01-30, 00:51


k1nG

grove street home






Wiek: 26
Na forum: 3557 dni
Posty: 29
Nick w MP: Trust / Tiffergan

Piwa: 12

Respekt: 60

W funkcji "destroySpeakersOnPlayerQuit" usu? linijk? destroyElement ( speakerBox [ source ] ) - dzi?ki temu g?o?nik nie zostanie usuni?ty, gdy gracz opu?ci serwer.

Dodaj linijk? setElementData(speakerBox[source], "persistent", true)po utworzeniu g?o?nika w funkcji "onPlayerPlaceSpeakerBox". Dzi?ki temu g?o?nik zostanie zapisany po restarcie serwera.

U?yj innego systemu zapisu/odczytu danych, takiego jak SQL, aby zapisa? pozycj? i dane g?o?nika, a nast?pnie odczyta? je po restarcie serwera.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
borsuk
Tagi: muzyka :: spawn
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » muzyka na spawn Odpowiedz do tematu

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku