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

Wysłany: 2018-07-06, 09:09


adisonboss







Wiek: 23
Na forum: 3331 dni
Posty: 237

Piwa: 6

Respekt: 50

Witam. Jak doda? ?eby wsadzanie do wi?zienia dzia?a?o tylko dla ACL Policja. Czy nale?y doda? to doda? pojedynczo przy ka?dej funkcji czy og?lnie na samym pocz?tku skryptu. Je?li b?dzie potrzebna strona server to dam. Za pomoc :piwo: i R*



--***********************************--
--***********************************--
--            Jail System            --
--            By sebikLOL             --
--            Client Side            --
--***********************************--
--***********************************--


lp getLocalPlayer()
rRoot getResourceRootElement(getThisResource())
setElementData(lp,"jailed",false)
------
addEventHandler("onClientResourceStart",rRoot,function()
triggerServerEvent("getDataz",lp,lp)
outputDebugString("Jail System v2.1 By sebikLOL | Started")
end )
desz = {}
addEvent("sendDataz",true)
addEventHandler("sendDataz",root,function(jTable,tTable)

------

jWin guiCreateWindow(460,172,445,416,"Jail System v2.1 | By sebikLOL",false)
--- Center Window ---
local screenW,screenH=guiGetScreenSize()
local windowW,windowH=guiGetSize(jWin,false)
local x,= (screenW-windowW)/2,(screenH-windowH)/2
guiSetPosition(jWin,x,y,false)
----- Center Window -----
guiSetVisible(jWin,false)
guiWindowSetSizable(jWin,false)
-------------------------
jBut guiCreateButton(247,338,167,31,"Aresztuj go",false,jWin)
tGrid guiCreateGridList(240,184,190,144,false,jWin)
guiGridListSetSelectionMode(tGrid,0)
-------
--
sEdit guiCreateEdit(14,380,217,23,"Wyszukaj...",false,jWin)
--
--------
local timeC guiGridListAddColumntGrid"Czas"0.85 )
if timeC then
for k,v in ipairs tTable ) do
local time v[1]
local des v[2]
local row guiGridListAddRow tGrid )
desz[row] = des
guiGridListSetItemText tGridrowtimeCtime.." "..desfalsetrue )
end
local row guiGridListAddRow tGrid )
guiGridListSetItemText tGridrowtimeC,"Inny..."falsetrue )
end
--------
jGrid guiCreateGridList(240,31,190,144,false,jWin)
guiGridListSetSelectionMode(jGrid,0)
--------
local jailC guiGridListAddColumnjGrid"Wi?zienie"0.85 )
for k,v in ipairs jTable ) do
local name v[1]
local row guiGridListAddRow jGrid )
guiGridListSetItemText jGridrowjailCnamefalsefalse )
end
jcBut guiCreateButton(246,378,172,24,"Zamknij",false,jWin)

function jailShow ()
    guiSetVisible(jWin,not guiGetVisible jWin ) )
    showCursor(guiGetVisible jWin ) )
    guiSetInputEnabled(guiGetVisible jWin ) )
    destroyElement(pList)
    -- Players List
         pList guiCreateGridList(14,31,218,338,false,jWin)    
         column guiGridListAddColumnpList"Player"0.85 )
        if ( column then
        for idplayer in ipairs(getElementsByType("player")) do
             row guiGridListAddRow pList )
            guiGridListSetItemText pListrowcolumngetPlayerName player ), falsefalse )
        end
        end
    -- Players List
end
addEvent("jailShow",true)
addEventHandler("jailShow",root,jailShow)

function changeText(button,state,x,y)
        selectedRowselectedCol guiGridListGetSelectedItempList )
        sPlayer guiGridListGetItemTextpListselectedRowselectedCol )
        local thePlr getPlayerFromName(sPlayer)
        if thePlr then
            local isJailed getElementData(thePlr,"jailed")
            if isJailed == false then
                guiSetText(jBut,"Aresztuj go")
            elseif isJailed == true then
                guiSetText(jBut,"Wyci?gnij go")
            end
        end
    
end
addEventHandler("onClientGUIClick",root,changeText)

function onClick (buttonstateabsoluteXabsoluteY)
    selectedRowselectedCol guiGridListGetSelectedItempList )
        sPlayer guiGridListGetItemTextpListselectedRowselectedCol )
        jail guiGridListGetItemText jGridguiGridListGetSelectedItem jGrid ), )
        time guiGridListGetItemText tGridguiGridListGetSelectedItem tGrid ), )
        timeDes tostring(desz[guiGridListGetSelectedItem tGrid )])
    if ( source == jBut then
        if guiGetText(jBut) == "Aresztuj go" then
            if time ~= "Other .." then
                triggerServerEvent("JailHimx",lp,sPlayer,jail,time,timeDes)
            else
                createTimeSelect(sPlayer,jail)
            end
        elseif guiGetText(jBut) == "Wyci?gnij go" then
            triggerServerEvent("unJailHim",lp,sPlayer)
    end
----------
elseif ( source == jcBut then
    guiSetVisible (jWinfalse)
    showCursor (false)
    guiSetInputEnabled(false)
    end
    end
addEventHandler"onClientGUIClick"rootonClick )

------------
end )

addEventHandler("onClientPlayerDamage",root,function(at)
if getElementData(source,"jailed") == true then
if at then cancelEvent() end
end
end )

-------

addEventHandler("onClientGUIClick",root,function()
if source == sEdit then
    guiSetText(sEdit,"")
    --[[
else
    guiSetText(sEdit,"Search ..")
    --]]
end end )

addEventHandler("onClientGUIChanged",root,function()
if source == sEdit then
    ------
    guiGridListClear(pList)
    for k,v in ipairs getElementsByType("player") ) do
        local name string.lower(getPlayerName(v))
        if name then
            if string.find (name,string.lower(guiGetText(sEdit)) ) then
                row guiGridListAddRow pList )
                guiGridListSetItemText pListrowcolumngetPlayerName ), falsefalse )
                end
            end
        end
    end
    ------
end )
------
function createTimeSelect(theJailed,theJail)
    if not tostring(theJailedthen outputChatBox("** #FFFF00Wybierz gracza !",255,0,0,true) return  end
    if not tostring(theJailthen outputChatBox("** #FFFF00Wybierz gracza aby da? go do wiezienia !",255,0,0,true) return end 
    if isElement(TimeSelect_Windowthen return end 
    TimeSelect_Window guiCreateWindow(550,397,270,125,"Wpisz czas",false)
    --
    local screenW,screenH=guiGetScreenSize()
    local windowW,windowH=guiGetSize(TimeSelect_Window,false)
    local x,= (screenW-windowW)/2,(screenH-windowH)/2
    guiSetPosition(TimeSelect_Window,x,y,false)
    --
--  guiSetVisible(jWin,false)
    --
    TimeSelect_Edit guiCreateEdit(15,37,89,26,"",false,TimeSelect_Window)
    TimeSelect_Label guiCreateLabel(110,41,10,15,"in",false,TimeSelect_Window)
    TimeSelect_Grid guiCreateGridList(126,31,130,95,false,TimeSelect_Window)
    guiGridListSetSelectionMode(TimeSelect_Grid,2)
    ---
    column guiGridListAddColumnTimeSelect_Grid""0.80 )
    r1 guiGridListAddRow(TimeSelect_Grid)
    r2 guiGridListAddRow(TimeSelect_Grid)
    r3 guiGridListAddRow(TimeSelect_Grid)
    guiGridListSetItemText TimeSelect_Grid r1column"Godziny"falsefalse )
    guiGridListSetItemText TimeSelect_Grid r2column,"Minuty"falsefalse )
    guiGridListSetItemText TimeSelect_Grid r3column"Sekundy"falsefalse )
    TimeSelect_Button guiCreateButton(14,72,91,40,"OK",false,TimeSelect_Window)
    --
    function onOk()
    if source == TimeSelect_Button then
        --
        removeEventHandler("onClientGUIClick",root,onOk)
        --
        ----------------
        theTime guiGetText(TimeSelect_Edit)
        timeType guiGridListGetItemText TimeSelect_GridguiGridListGetSelectedItem TimeSelect_Grid ) )
        --
        destroyElement(TimeSelect_Window)
        jailShow ()
        --
        if tonumber(theTimethen
            if tostring(timeTypethen
                triggerServerEvent("JailHimx",lp,theJailed,theJail,theTime.." "..timeType,timeType,true)
            else
            outputChatBox("** #FFFF00Prosze wybierz minuty, sekundy, godziny !",255,0,0,true)
            end
        else
            outputChatBox("** #FFFF00Please Enter a Number !",255,0,0,true)
        end
        ----------------
    end
    end
    addEventHandler("onClientGUIClick",root,onOk)
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-07-06, 10:54


AppleSir

Majster LUA






Wiek: 27
Na forum: 3045 dni
Posty: 19
Nick w MP: Przybysz



Respekt: 45,3

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-07-06, 10:58


adisonboss







Wiek: 23
Na forum: 3331 dni
Posty: 237

Piwa: 6

Respekt: 50

Dobrze wiem jak to da? ale og?lnie na pocz?tku skryptu czy przy ka?dej funkcji

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-07-06, 11:20


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

adisonboss, po wej?ciu w marker sprawdzasz czy jest gracz w grupie ACL je?eli tak to otwiera panel etc.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-07-06, 11:56


adisonboss







Wiek: 23
Na forum: 3331 dni
Posty: 237

Piwa: 6

Respekt: 50

Ale to nie jest na marker to jest na komend?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-07-06, 11:58


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

no to przy komendzie? tak trudno zajarzy?? :x

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-07-06, 12:04


adisonboss







Wiek: 23
Na forum: 3331 dni
Posty: 237

Piwa: 6

Respekt: 50

Dobrze spokojnie ju? ogarne...

[ Dodano: 2018-07-06, 12:23 ]
Tylko ?e jest problem bo nie mog? znale?? linijki odpowiadaj?cej za wpisanie tej komendy i otworzenie gui

[ Dodano: 2018-07-06, 12:31 ]
To strona serwera

--***********************************--
--***********************************--
--            Jail System            --
--            By sebikLOL            --
--            Server Side            --
--***********************************--
--***********************************--
Command get("command") -- getTheCommand
  
rRoot getResourceRootElement(getThisResource())
------
function getData(to) 
    local file xmlLoadFile("data.xml")
         jTable = {}
         tTable = {}
    if file then
        for k,v in ipairs (xmlNodeGetChildren(xmlFindChild(file,"Jails",0)))do
            local name xmlNodeGetAttribute(v,"name")
            local posX,posY,posZ xmlNodeGetAttribute(v,"posX"),xmlNodeGetAttribute(v,"posY"),xmlNodeGetAttribute(v,"posZ")
            local int xmlNodeGetAttribute(v,"int")
            local dim xmlNodeGetAttribute(v,"dim")
            table.insert(jTable, {name,posX,posY,posZ,int,dim})
        end
        for k,v in ipairs (xmlNodeGetChildren(xmlFindChild(file,"time",0)))do
            local times xmlNodeGetAttribute(v,"times")
                for =1,50 do 
                    local iTime gettok timesistring.byte(',') )
                    if iTime then
                    --  
                    if tonumber(iTime) > 59.5 then
                        iTime math.floor(iTime 60)
                        iTimeDes "Minutes"
                            if iTime 59.5 then
                                iTime math.floor(iTime 60)
                                iTimeDes "Houres"
                            end
                    else
                        iTimeDes "Seconds"
                    end
                        table.insert(tTable,{iTime,iTimeDes})
                    end
                end
        end
    end
    triggerClientEvent(to,"sendDataz",to,jTable,tTable) -- sending to client event
end
addEvent("getDataz",true)
addEventHandler("getDataz",root,getData)


addCommandHandler Command, -- Adding The Command Handler
    function ( playercmd )
        if hasObjectPermissionTo player"function.kickPlayer" then
            triggerClientEvent(player,"jailShow",player)
        else
        outputChatBox(" Access Denied ",player,255,0,0)
    end
end
)

anims = {
    "F_smklean_loop",
    "M_smklean_loop",
    "M_smkstnd_loop",
    "M_smk_drag",
    "M_smk_in",
    "M_smk_loop",
    "M_smk_out",
    "M_smk_tap" ,
}

function removeVehicle(thePlayer)
    if isPedInVehicle(thePlayerthen destroyElement(getPedOccupiedVehicle(thePlayer)) end
end
function JailHim(jailed,theJails,time,timeDes,showWho,timeReady)
        thePlayer getPlayerFromName(jailed)
        if not thePlayer then outputChatBox("** #FFFF00Prosz? wybierz gracza !",source,255,0,0,true) return end
        removePedFromVehicle(thePlayer)
        for k,v in ipairs (  jTable  ) do
                if theJails == v[1then
                    theJail v
                end
        end
        if theJail  then
        if tostring(timethen
            if timeReady == true then
              theTimex tonumber(time)
            else
             theTimex gettok time1string.byte(timeDes) )
            end
            if timeDes == "Hours" then
                theTimex math.floor(theTimex*60*60*1000)
                elseif timeDes == "Minutes" then
                theTimex math.floor(theTimex*60*1000)
                elseif timeDes == "Seconds" then
                theTimex math.floor(theTimex*1000)
            end
            startJailTimer thePlayer theTimex )
        local x,y,theJail[2],theJail[3],theJail[4]
        local int theJail[5]
        local dim theJail[6]
        setElementInterior thePlayerint )
        setElementDimension thePlayerdim )
        setElementPosition (thePlayer,x,y,)
        setElementData(thePlayer,"jailed",true)
        setElementData(rRoot,""..getPlayerSerial(thePlayer).."-j",true)
        toggleControl(thePlayer,"fire",false)
        if showWho ~= true then
        outputChatBox("** #FFFF00Zostales uwieziony [ "..getPlayerName(thePlayer).." #FFFF00] at "..theJail[1].." For "..time,source,255,0,0,true)
        outputChatBox("** #FFFF00Zostales uwieziony przez [ "..getPlayerName(source).." #FFFF00] at "..theJail[1].." For "..time,thePlayer,255,0,0,true)
        end
        outputChatBox("** #FFFF00[ "..getPlayerName(thePlayer).." #FFFF00] zostales uwieziony na "..time,root,255,0,0,true)
        local randomAnim
        setPedAnimation(thePlayer,"SMOKING",anims[math.random(#anims)],theTimex/2)
        else
        outputChatBox("** #FFFF00Prosze wybierz czas !",source,255,0,0,true)
        end
        else
        outputChatBox("** #FFFF00Prosze wybrac wiezienie !",source,255,0,0,true)
        end 
end 
addEvent("JailHimx",true)
addEventHandler("JailHimx",root,JailHim)

function unJailHim(jailed,showWho)
    thePlayer getPlayerFromName(jailed)
    if not thePlayer then outputChatBox("** #FFFF00Prosze wybrac gracza !",source,255,0,0,true) return end
--if getElementData(thePlayer,"jailed") == true then
        setElementInterior thePlayer0)
        setElementDimension thePlayer)
        setElementPosition thePlayer201.30215168.383321003.02344)
        setElementInterior(thePlayer3)
        setElementData(thePlayer,"jailed",false)
        setElementData(rRoot,""..getPlayerSerial(thePlayer).."-j",false)
        if showWho ~= true then
        outputChatBox("** #FFFF00You Released [ "..getPlayerName(thePlayer).." #FFFF00]",source,255,0,0,true)
        outputChatBox("** #FFFF00Zostales zwolniony przez [ "..getPlayerName(source).." #FFFF00]",thePlayer,255,0,0,true)
        end
        outputChatBox("** #FFFF00[ "..getPlayerName(thePlayer).." #FFFF00] Zostal zwolniony ",root,255,0,0,true)
        setPedAnimation(thePlayer)
        stopJailTimer(Player)
        toggleControl(thePlayer,"fire",true)
    --  setTimer(killPed,1500,1,thePlayer)
--else
    --  outputChatBox("The Player is Not Jailed !",source,255,0,0,true)
--end
end 
addEvent("unJailHim",true)-- unJail
addEventHandler("unJailHim",root,unJailHim)

addEvent("onJailEnd",true)
addEventHandler("onJailEnd",root,function(player)
unJailHim(getPlayerName(player),true)
end )

addEventHandler("onPlayerSpawn",root, -- Check If He Is Jailed OnSpawn ]
function()
if getElementData(source,"jailed") == true then
 randomJail jTable[math.random(#jTable)]
if randomJail then
    x,y,randomJail[2],randomJail[3],randomJail[4]
    int randomJail[5]
    dim randomJail[6]
    setElementInterior sourceint )
    setElementDimension(source,dim)
    setElementPosition (source,x,y,)
end
end
end)

addEventHandler("onPlayerJoin",root, -- Check If He Is Jailed By Serial OnJoin ]
function()
if getElementData(rRoot,""..getPlayerSerial(source).."-j") == true then

 randomJail jTable[math.random(#jTable)]
if randomJail then
    x,y,randomJail[2],randomJail[3],randomJail[4]
    int randomJail[5]
    dim randomJail[6]
    setElementInterior sourceint )
    setElementDimension(source,dim)
    setElementPosition (source,x,y,)
    --
    time getElementData(rRoot,""..getPlayerSerial(source).."-t",time) or 1000
    startJailTimer(source,time)
    setElementData(source,"jailed",true)
end
end
end )

----

function startJailTimer(Player,theTime) -- to start mission timer ..
    if Player then
        TimerDisplay textCreateDisplay()
        m,s,cs msToTimeStr(theTime)
        fullTime m..":"..s
        TimerText textCreateTextItem "Time Left : "..tostring(fullTime)..""0.390.7 ,"medium",0,255,0,255,2.0,"left","center",255)
        textDisplayAddText TimerDisplayTimerText )
        textDisplayAddObserver TimerDisplayPlayer )
        sortTimerShit(Player,TimerText,theTime)
    end
end

--Robbed from JailTimerr resource , and it was robbed from arc_ :p
function msToTimeStr(ms)
    if not ms then
        return ''
    end
    
    if ms 0 then
        return "0","00","00"
    end
    
    local centiseconds tostring(math.floor(math.fmod(ms1000)/10))
    if #centiseconds == 1 then
        centiseconds '0' .. centiseconds
    end
    local s math.floor(ms 1000)
    local seconds tostring(math.fmod(s60))
    if #seconds == 1 then
        seconds '0' .. seconds
    end
    local minutes tostring(math.floor(60))
    
    return minutessecondscentiseconds
end

function sortTimerShit(plr,timer,time) -- to sort timer's shit ..
    if timer and time then
            if isTimer(timerShitTimer) then
        killTimer(timerShitTimer)
    end
        timerShitTimer = setTimer(function(plr)
                time = time - 70
                m,s,cs = msToTimeStr(time)
                fullTime = m..":"..s
                textItemSetText(timer,"Time Left : "..tostring(fullTime).."")
                if plr then
                setElementData(rRoot,""..getPlayerSerial(plr).."-t",time)
                end
                if ( tonumber(m) <= 0 and tonumber(s) <= 0 and tonumber(cs) <= 0 ) then
                    onTimerFinish(plr,timer)
                end
        end , 50 , 0 ,plr )
    end
end

function stopJailTimer(Player)
    textDestroyDisplay(TimerDisplay)
    if TimerText then
    textDestroyTextItem(TimerText)
    end
    if isTimer(timerShitTimer) then
        killTimer(timerShitTimer)
    end
end

function onTimerFinish(Player) -- on timer end
    stopJailTimer(Player)
    triggerEvent("onJailEnd",Player,Player)
end






NWM Gdzie jest funkcja odp za uruchamianie przez komende

[ Dodano: 2018-07-06, 15:30 ]
Do zamkni?cia napisa?em w?asny lepszy skrypt.

Postaw piwo autorowi tego posta
 

 
Tagi: więzienie
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Więzienie Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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