MACIEKW89 Posted August 11, 2013 Share Posted August 11, 2013 Witam! Mam problem ze skryptem na odliczanie. Po wpisaniu /odlicz obrazki pokazują się tylko dla gracza, który to wpisał. Denerwujące przy organizowaniu wyścigów, które często organizujemy na serwie (inne eventy też). function Odlicz ( source ) guiSetVisible ( obraz, false ) obraz = guiCreateStaticImage (505,119,250,190,"obrazki/3.png",false) setTimer ( Odlicz2, 1000, 1 ) end function Odlicz2( source ) guiSetVisible ( obraz, false ) obraz = guiCreateStaticImage(505,119,250,190,"obrazki/2.png",false) setTimer ( Odlicz1, 1000, 1 ) end function Odlicz1 ( source ) guiSetVisible ( obraz, false ) obraz = guiCreateStaticImage(505,119,250,190,"obrazki/1.png",false) setTimer ( Odlicz0, 1000, 1 ) end function Odlicz0 ( source ) guiSetVisible ( obraz, false ) obraz = guiCreateStaticImage(505,119,250,190,"obrazki/go.png",false) setTimer ( OdliczEnd, 3000, 1 ) end function OdliczEnd ( source ) guiSetVisible ( obraz, false ) end addCommandHandler ( "odlicz", Odlicz ) Proszę o pomoc! Z góry thx. Link to comment
dzek (varez) Posted August 12, 2013 Share Posted August 12, 2013 dodaj zdarzenie po stronie serwera, następnie serwerem wywołaj zdarzenie klienta u wszystkich graczy Link to comment
Wielebny Posted August 14, 2013 Share Posted August 14, 2013 http://pylife.pl/_/odlicz.lua local odlicz_INTERVAL=30000 -- jak czesto na serwerze mozna uzyc odliczlocal odlicz_RANGE=200 -- jak daleko ma byc widoczne odliczanielocal odlicz_LU=getTickCount()-odlicz_INTERVAL addCommandHandler("odlicz", function(plr,cmd) -- zabezpieczenie przed zbyt czestym odliczaniem if (getTickCount()-odlicz_LU) then outputChatBox("Musisz chwile odczekac.",plr) return end odlicz_LU=getTickCount() -- tworzymy colshape obejmujacy klientow w poblizu gracza inicjujacego odliczanie local x,y,z=getElementPosition(plr) local col=createColSphere(x,y,z,odlicz_RANGE) setElementInterior(col, getElementInterior(plr)) setElementDimension(col, getElementDimension(plr)) local gracze=getElementsWithinColShape(col, "player") -- tworzymy text display i dodajemy do niego graczy w colshape local odliczanieDSP = textCreateDisplay() for i,v in ipairs(gracze) do outputChatBox(getPlayerName(plr) .. " uruchomil/a odliczanie.", v) textDisplayAddObserver ( odliczanieDSP, v ) playSoundFrontEnd(v,44) end local odliczanie_step=5 local odliczanieTXT = textCreateTextItem ( tostring(odliczanie_step), 0.5, 0.5, 2, 255,255,255,255,5, "center", "center", 255) textDisplayAddText ( odliczanieDSP, odliczanieTXT ) -- timer dokonujacy odliczania setTimer(function() odliczanie_step=odliczanie_step-1 if (odliczanie_step==0) then textItemSetText(odliczanieTXT, "START!") else textItemSetText(odliczanieTXT, tostring(odliczanie_step)) end for i,v in ipairs(getElementsWithinColShape(col,"player")) do if (odliczanie_step==0) then playSoundFrontEnd(v,45) else playSoundFrontEnd(v,44) end end end, 1000, 5) -- timer usuwajacy stworzone elementy setTimer(function() textDestroyTextItem(odliczanieTXT) textDestroyDisplay(odliczanieDSP) destroyElement(col) end, 6000, 1)end,false,false) Zamiasz tworzyć textdisplay możesz też wywoływać zdarzenie, które pokaże liczbę w ładniejszej postać (np. przez dxDrawText). Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now