Jump to content

Odliczanie tylko dla gracza, który wpisał komendę


Recommended Posts

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

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

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