Cze??, tworz? sobie z nud?w drug? wersj? mojego starego skryptu, lecz tutaj natkn??em si? na problem, poniewa? owszem - tworzy si? d?wi?k w ka?dym poje?dzie osobno, lecz dzia?a on poprawnie tylko w ostatnio stworzonym poje?dzie/tam gdzie ostatnio zosta?a w??czona syrena. W wcze?niejszym poje?dzie ona si? buguje i robi si? "podw?jna", co za tym idzie jednej nie da si? wy??czy?.
Przychodz? do was z pytaniem jak sobie poradzi? z tym problemem, aby d?wi?k by? indywidualny dla ka?dego pojazdu.
..w??cze syrene w jednym poje?dzie to mog? j? normalnie wy??czy? - wszystko ok.
..lecz gdy np. w??cze w jednym, oraz nie wy??czaj?c w drugim - moge wy??czy? tylko JEDEN d?wi?k, a gdy chce wy??czy? w tym pierwszym poje?dzie to syrena si? buguje i tworzy si? druga.
Nie wiem czy wyja?ni?em to ja?niej, ale inaczej si? chyba nie da.
vNeXxuS, do g?owy przysz?o mi takie rozwi?zanie: w??czanie syreny da?bym pod bind po stronie serwera. Stamt?d wykona?bym trigger:
triggerClientEvent(root,"event",player);
( Powinien dzia?a? )
Po stronie clienta:
sirens = {};
addEventHandler("event",root,function()
local vehicle = getPedOccupiedVehicle(localPlayer);
if not getElementData(vehicle,"siren") then
local id = #sirens + 1;
sirens[id] = playSound3D(...); -- uzupelnij
setElementData(vehicle,"siren",id,false);
else
local id = getElementData(vehicle,"siren");
destroyElement(sirens[id]);
sirens[id] = nil;
setElementData(vehicle,"siren",false,false);
end
end)
W tabeli b?d? przechowywane wszystkie d?wi?ki. Skrypt sprawdzi czy istnieje elementData "siren" - je?eli tak usunie d?wi?k z danej tabeli. My?l?, ?e to powinno rozwi?za? problem.
Dzia?a, dzi?kuje - lecz podobny problem jest w przypadku ?wiate?.
Kod po stronie Clienta wygl?da tak:
function selected()
local selected = guiGridListGetSelectedItem(gridlist)
local vehicle = getPedOccupiedVehicle(localPlayer)
if selected == 0 then
triggerServerEvent("firstLights", localPlayer, vehicle, vehicleid)
triggerServerEvent("checkSiren", localPlayer, vehicle, vehicleid)
elseif selected == 1 then
triggerServerEvent("firstLights", localPlayer, vehicle, vehicleid)
elseif selected == 2 then
triggerServerEvent("secondLights", localPlayer, vehicle, vehicleid)
triggerServerEvent("checkSiren", localPlayer, vehicle, vehicleid)
elseif selected == 3 then
triggerServerEvent("secondLights", localPlayer, vehicle, vehicleid)
elseif selected == 4 then
triggerServerEvent("thirdLights", localPlayer, vehicle, vehicleid)
triggerServerEvent("checkSiren", localPlayer, vehicle, vehicleid)
elseif selected == 5 then
triggerServerEvent("thirdLights", localPlayer, vehicle, vehicleid)
elseif selected == 7 then
triggerServerEvent("toggleBelt", localPlayer, vehicle, vehicleid)
triggerServerEvent("checkSiren", localPlayer, vehicle, vehicleid)
elseif selected == 8 then
triggerServerEvent("toggleBelt", localPlayer, vehicle, vehicleid)
end
end
I gdy w??cze w dw?ch pojazdach ?wiat?a, to zn?w w tym pierwszym nie moge ich wy??czy?, tylko si? odpalaj? drugi raz, przez co s? szybsze i ich si? ju? nie da w og?le wy??czy?, w drugim poje?dzie owszem.
vNeXxuS, je?li chcesz aby co chwile si? w??cza?y i wy??cza?y i mie? synchronizacj? to mo?esz po s-side. Chyba Nigdy takiego systemu nie robi?em i nie mia?em potrzeby.
Podpis
Użytkownik - 10-05-2016
Support Team - 17.06.2017 Moderator - 25.11.2017 Mod-Team - 02.07.2018
vNeXxuS, je?li chcesz aby co chwile si? w??cza?y i wy??cza?y i mie? synchronizacj? to mo?esz po s-side. Chyba Nigdy takiego systemu nie robi?em i nie mia?em potrzeby.
W?a?nie mam to po S-Side i dzia?a w miar?, dzi?kuje Ci za pomoc!
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