Jump to content

[RESOLVIDO]AJUDE-ME


Recommended Posts

Iae galera tou aqui de novo para pedir uma ajuda tentei adicionar esse comando no Sistema de Prisão do Al3grab

-- assume that there exists a collision shape named 'policeStation' 
function policeStationHit ( thePlayer )  
   setPlayerWantedLevel ( player, 0 ) -- set the player's wanted level to 6 stars 
   outputChatBox ( getPlayerName ( thePlayer ) .. " entered the police station!" ) 
end 
-- call 'policeStationHit' when a player enters the collision shape: 
addEventHandler ( "onColShapeHit", policeStation, policeStationHit ) 
end 

So que quando adiciono o Comando no Server-Side o Painel /jail não abre

Edited by Guest
Link to comment

quer fazer oque ? ir diminuindo o nivel de procurado quando entrar na prisão ?

se for isso, tente colocar um setTimer na função WantedLevel junto com uma maker lá dentro

setPlayerWantedLevel ( player, getPlayerWantedLevel(player) -1 ) 

algo semelhante a isto aqui

function removerEstrelas(thePlayer) 
    for v, k in ipairs(getElementsByType("player")) do 
    if getPlayerWantedLevel(k) > 0 then 
        setPlayerWantedLevel ( k, getPlayerWantedLevel(k)-1) 
    end 
  end 
end 
setTimer(removerEstrelas, 120000, 0) 

Link to comment
-- assume that there exists a collision shape named 'policeStation' 
function policeStationHit ( thePlayer ) 
   setPlayerWantedLevel ( thePlayer, 0 ) -- set the player's wanted level to 6 stars 
    outputChatBox ( getPlayerName ( thePlayer ) .. " entered the police station!" ) 
end 
addEventHandler ( "onColShapeHit", policeStation, policeStationHit ) 
  

Você colocou dois end sendo que não há necessidade, e o outro erro foi o setPlayerWantedLevel ( thePlayer, 0 ) você tinha colocado player, sendo que na função é thePlayer.

Link to comment
Testei o metodo do BeYourself so que não pegou , Tentei o Metodo do RooTs so que quando o player não é preso as estrelas vão sumindo tem algum comando para so sumir quando ele ser preso ?

Você deve saber, nós não sabemos como o seu sistema funciona.

Link to comment
Testei o metodo do BeYourself so que não pegou , Tentei o Metodo do RooTs so que quando o player não é preso as estrelas vão sumindo tem algum comando para so sumir quando ele ser preso ?

Você deve saber, nós não sabemos como o seu sistema funciona.

é simplesmente o jail do Al3grab

Server-Side

--***********************************-- 
--***********************************--
--            Jail System            --
--            By Al3grab             --
--            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 i =1,50 do
                    local iTime = gettok ( times, i, string.byte(',') )
                    if iTime then
                    -- 
                    if tonumber(iTime) > 59.5 then
                        iTime = math.floor(iTime / 60)
                        iTimeDes = "Minutos"
                            if iTime > 59.5 then
                                iTime = math.floor(iTime / 60)
                                iTimeDes = "Horas"
                            end
                    else
                        iTimeDes = "Segundos"
                    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 ( player, cmd )
        if hasObjectPermissionTo ( player, "function.banPlayer" ) then
            triggerClientEvent(player,"jailShow",player)
        else
        outputChatBox(" Acesso Negado Apenas ( Adminstradores ou Policias Podem Usar Este Comando) ",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(thePlayer) then destroyElement(getPedOccupiedVehicle(thePlayer)) end
end
function JailHim(jailed,theJails,time,timeDes,showWho,timeReady)
        thePlayer = getPlayerFromName(jailed)
        if not thePlayer then outputChatBox("** #FFFF00Por Favor Selecione um Jogador !",source,255,0,0,true) return end
        removePedFromVehicle(thePlayer)
        for k,v in ipairs (  jTable  ) do
                if theJails == v[1] then
                    theJail = v
                end
        end
        if theJail  then
        if tostring(time) then
            if timeReady == true then
              theTimex = tonumber(time)
            else
             theTimex = gettok ( time, 1, string.byte(timeDes) )
            end
            if timeDes == "Horas" then
                theTimex = math.floor(theTimex*60*60*1000)
                elseif timeDes == "Minutos" then
                theTimex = math.floor(theTimex*60*1000)
                elseif timeDes == "Segundos" then
                theTimex = math.floor(theTimex*1000)
            end
            startJailTimer ( thePlayer , theTimex )
        local x,y,z = theJail[2],theJail[3],theJail[4]
        local int = theJail[5]
        local dim = theJail[6]
        setElementInterior ( thePlayer, int )
        setElementDimension ( thePlayer, dim )
        setElementPosition (thePlayer,x,y,z )
        setElementData(thePlayer,"jailed",true)
        setElementData(rRoot,""..getPlayerSerial(thePlayer).."-j",true)
        toggleControl(thePlayer,"fire",false)
        if showWho ~= true then
        outputChatBox("** #FFFF00Você Prendeu [ "..getPlayerName(thePlayer).." #FFFF00] na "..theJail[1].." Por "..time,source,255,0,0,true)
        outputChatBox("** #FFFF00Você Foi Preso por [ "..getPlayerName(source).." #FFFF00] na "..theJail[1].." Por "..time,thePlayer,255,0,0,true)
        end
        outputChatBox("** #FFFF00[ "..getPlayerName(thePlayer).." #FFFF00] Foi Preso por "..time,root,255,0,0,true)
        local randomAnim
        setPedAnimation(thePlayer,"SMOKING",anims[math.random(#anims)],theTimex/2)
        else
        outputChatBox("** #FFFF00Por Favor, Selecione o Tempo que o Jogador Será Preso !",source,255,0,0,true)
        end
        else
        outputChatBox("** #FFFF00Por Favor, Selecione uma Prisão !",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("** #FFFF00Por Favor Selecione um Jogador !",source,255,0,0,true) return end
--if getElementData(thePlayer,"jailed") == true then
        setElementInterior ( thePlayer, 0)
        setElementDimension ( thePlayer, 0 )
        setElementPosition ( thePlayer, 1552.9108886719, -1675.5844726563, 16.1953125)
        setElementData(thePlayer,"jailed",false)
        setElementData(rRoot,""..getPlayerSerial(thePlayer).."-j",false)
        if showWho ~= true then
        outputChatBox("** #FFFF00Você Foi Liberado [ "..getPlayerName(thePlayer).." #FFFF00]",source,255,0,0,true)
        outputChatBox("** #FFFF00Você Foi Liberado por [ "..getPlayerName(source).." #FFFF00]",thePlayer,255,0,0,true)
        end
        outputChatBox("** #FFFF00[ "..getPlayerName(thePlayer).." #FFFF00] Você Acaba de ser Liberado ",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,z = randomJail[2],randomJail[3],randomJail[4]
    int = randomJail[5]
    dim = randomJail[6]
    setElementInterior ( source, int )
    setElementDimension(source,dim)
    setElementPosition (source,x,y,z )
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,z = randomJail[2],randomJail[3],randomJail[4]
    int = randomJail[5]
    dim = randomJail[6]
    setElementInterior ( source, int )
    setElementDimension(source,dim)
    setElementPosition (source,x,y,z )
    --
    time = getElementData(rRoot,""..getPlayerSerial(source).."-t",time) or 5 * 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 ( "O Tempo Acabou : "..tostring(fullTime).."", 0.39, 0.7 ,"medium",0,255,0,255,2.0,"left","center",255)
        textDisplayAddText ( TimerDisplay, TimerText )
        textDisplayAddObserver ( TimerDisplay, Player )
        sortTimerShit(Player,TimerText,theTime)
    end
end
 
--Robbed from JailTimerr resource , and it was robbed from arc_
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(ms, 1000)/10))
    if #centiseconds == 1 then
        centiseconds = '0' .. centiseconds
    end
    local s = math.floor(ms / 1000)
    local seconds = tostring(math.fmod(s, 60))
    if #seconds == 1 then
        seconds = '0' .. seconds
    end
    local minutes = tostring(math.floor(s / 60))
   
    return minutes, seconds, centiseconds
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,"Tempo Restante : "..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
   
Link to comment
  • 2 months later...
Assim ?
function removerEstrelas(jailed) 
    for v, k in ipairs(getElementsByType("jailed")) do 
    if getPlayerWantedLevel(k) > 0 then 
        setPlayerWantedLevel ( k, getPlayerWantedLevel(k)-1) 
    end 
  end 
end 
setTimer(removerEstrelas, 1000, 0) 

Seu código vai tirar uma estrela de procurado de todos os jogadores (até os que não estão presos) a cada 1 segundo, Se eu entendi bem você quer tirar todas as estrelas quando o jogador for preso, se for isso basta editar a função JailHim colocando setPlayerWantedLevel ( thePlayer, 0 ).

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