Wysłany: 2013-05-18, 12:20
Dorex
Rick
Wiek: 28 Na forum: 4856 dni Posty: 108
Piwa : 2471
Witam ot?? chcia?bym napisa? BoomBox zaczne dla u?atwienia co zrobi?em:
-Tworzenie Dzwieku 3D
-Przyczepienie obiektu boomboxa do gracza
-Podpi?cie muzyki do obiektu
Problem jest tak ?e nie wiem jak zrobi? je?li wchodzi nowy gracz na serwer s?ysza? mojego boomboxa.
Wysłany: 2013-05-18, 12:59
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Dorex , d?wi?k 3d tworzysz za pomoc? "playSound3D". Problem polega na tym, ?e d?wi?k b?dzie s?ysza? tylko klient (osoba u kt?rej wywo?a si? funkcja) czyli wypada?oby przerzuci? d?wi?k na stron? serwera, a potem z powrotem na stron? klienta LECZ ka?demu graczowi. By to mia?o jakikolwiek sens musisz to robi? najlepiej non stop czyli u?yj zdarzenia "onClientRender".
Co do 2 nie pami?tam funkcji lecz chyba ta funkcja nie dziala przy d?wi?kach, wi?c b?dziesz musia? pobiera? pozycj? tego obiektu (to samo zdarzenie onClientRender) i przypisywa? j? d?wi?kowi (setSoundPosition).
Wysłany: 2013-05-18, 13:02
Dorex
Rick
Wiek: 28 Na forum: 4856 dni Posty: 108
Piwa : 2471
Dzieki,jeszcze ?eby nie ?mieci? w tematach mam pytanko jaki najlepiej u?y? typu poruszania obiektu do bram gara?owych lub drzwi?
https://wiki.multitheftauto.com/wiki/Easing
I je?li b?dziesz mi?y liczbe amplitudy
[ Dodano : 2013-05-18, 13:07 ]
----KOD RADIA serv------- [Korzystam z pluginu Bone attach]
function Boombox(source)
radio1 = createObject(2226,0,0,0)
exports.dzien:attachElementToBone(radio1,source,11,0,-0.01,0.4,0,180,390)
setElementData(source,"Radio",false)
setPlayerBlurLevel ( source, 255 )
triggerClientEvent ( source,"PobierzBoomBox", getRootElement())
end
addCommandHandler("radio",Boombox)
-----Client
function PobierzBoomBox()
local xr,yr,zr = getElementPosition (getLocalPlayer())
local uSound = playSound3D( 'http://warszawa1-3.radio.pionier.net.pl:8000/pl/wawa.mp3',xr,yr,zr )
setSoundVolume(uSound,5)
setSoundMaxDistance( uSound,100 )
attachElements ( uSound, getLocalPlayer(),0,-0.01,0.4)
local x1,y1,z1 = getElementPosition (getLocalPlayer())
local x2,y2,z2 = getElementPosition (getLocalPlayer())
local visibleto = getDistanceBetweenPoints3D(x1,y1,z1,x2,y2,z2)
end
addEvent( "PobierzBoomBox", true )
addEventHandler( "PobierzBoomBox", getRootElement(), PobierzBoomBox )
function UsunRadio()
addEvent ( "PobierzBoomBox", false )
removeEventHandler("PobierzBoomBox",getRootElement(), PobierzBoomBox)
end
addEvent( "UsunRadio", true )
addEventHandler( "UsunRadio", getRootElement(), UsunRadio )
Podpis
Nie bądź 🐷 postaw piwo.
Wysłany: 2013-05-18, 13:19
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Wysłany: 2013-05-18, 13:22
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
"Piorun" napisał/a :wi?c b?dziesz musia? pobiera? pozycj? tego obiektu (to samo zdarzenie onClientRender)
Do pobierania pozycji obiektu/gracza lepsze onClientPreRender
Tagi: jak :: rozpocząć :: pisanie :: boomboxa
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: