Stronger Posted July 1, 2015 Share Posted July 1, 2015 (edited) 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 September 13, 2015 by Guest Link to comment
#RooTs Posted July 1, 2015 Share Posted July 1, 2015 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
BeYourself Posted July 1, 2015 Share Posted July 1, 2015 -- 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
Stronger Posted July 1, 2015 Author Share Posted July 1, 2015 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 ? Link to comment
xeon17 Posted July 1, 2015 Share Posted July 1, 2015 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
Stronger Posted July 1, 2015 Author Share Posted July 1, 2015 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
xeon17 Posted July 1, 2015 Share Posted July 1, 2015 Jogadores presos têm element data 'jailed' .Você pode usar isso para verificar se um jogador está preso. Link to comment
Stronger Posted September 12, 2015 Author Share Posted September 12, 2015 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) Link to comment
n3wage Posted September 13, 2015 Share Posted September 13, 2015 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
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