darbka2002 Posted April 23, 2016 Share Posted April 23, 2016 سلام عليكم هذا jail فية مشكلة فى ان الوقت يشتغل تمام وى كل شىء بس المشكلة ان ينقص من صحة اللعب ما اعرف ليش client local sx, sy = guiGetScreenSize() function onPlayerEnterPrison(time) addEventHandler("onClientRender", root, drawPrisonText) prisonTextActive = true prisonTime = time or 0 local function decreasePrisonTime() prisonTime = prisonTime - 1 if (prisonTime < 1) then if (prisonTextActive) then removeEventHandler("onClientRender", root, drawPrisonText) end prisonTextActive = false end end decreaseTimer = setTimer(decreasePrisonTime, 1000, time) end addEvent("CSFprison.onPlayerEnterPrison", true) addEventHandler("CSFprison.onPlayerEnterPrison", root, onPlayerEnterPrison) function onPlayerReleased() if (prisonTextActive) then removeEventHandler("onClientRender", root, drawPrisonText) end end addEvent("CSFprison.onPlayerReleased", true) addEventHandler("CSFprison.onPlayerReleased", root, onPlayerReleased) function drawPrisonText() local color if (prisonTime < 80) then color = tocolor(0, 250, 0, 250) elseif (prisonTime >= 80 and prisonTime <= 150) then color = tocolor(250, 250, 0, 250) elseif (prisonTime > 150) then color = tocolor(250, 0, 0, 250) end dxDrawText(prisonTime.." Seconds Remaining", (sx / 1920) * 1523.0, (sy / 1080) * 968.0, (sx / 1920) * 1795.0, (sy / 1080) * 1033.0, color, (sx / 1920) * 1, "bankgothic", "left", "center", false, false, false) exports.CILhelp:modTextBar("isPlayerJailled", prisonTime.." Seconds Remaining", 255, 255, 255) end function isPlayerJailed(player) if (player and isElement(player)) then if (prisoner[player]) then return true else return false end end end addEvent("enableGodMode", true) addEvent("disableGodMode", true) addEventHandler ("enableGodMode", getRootElement(), function() addEventHandler ("onClientPlayerDamage", getRootElement(), cancelEventEvent) end) addEventHandler ("disableGodMode", getRootElement(), function() removeEventHandler ("onClientPlayerDamage", getRootElement(), cancelEventEvent) end) function cancelEventEvent () cancelEvent() end server local prisoner = {} local positions = { {922, -2428, 5701}, {922, -2444, 5701}, {916, -2444, 5700.3}, {916, -2430, 5700.3}, } function sendPlayerToPrison(player, jailTime) if (not isElement(player)) then return end local jailTime = jailTime / 1000 local x, y, z = getElementPosition(player) if (isPedInVehicle(player)) then removePedFromVehicle(player) end toggleControl(player, "fire", false) toggleControl(player, "jump", false) setPedWeaponSlot(player, 0) triggerClientEvent (player, "enableGodMode") prisoner[player] = {} setElementData(player,"prison","yes") prisoner[player][1] = getZoneName(x, y, z, true) prisoner[player][2] = jailTime setTimer(triggerClientEvent, 500, 1, player, "CSFprison.onPlayerEnterPrison", player, jailTime) setElementPosition(player, unpack(positions[math.random(#positions)])) setElementDimension(player, 0) setElementInterior(player, 0) local function updateTheTime(player) if (prisoner[player] and prisoner[player][2]) then prisoner[player][2] = prisoner[player][2] - 1 if (prisoner[player][2] < 1) then releasePlayerFromPrison(player) end end end prisoner[player][3] = setTimer(updateTheTime, 1000, jailTime, player) end function isPlayerJailed(player) if (player and isElement(player)) then if (prisoner[player]) then return true else return false end end end function saveTimeOnQuit() local account = getPlayerAccount(source) if (not account) then return end if (prisoner[source] and prisoner[source][2] > 1) then setAccountData(account, "CSFprison.prisonTime", prisoner[source][2]) end end addEventHandler("onPlayerQuit", root, saveTimeOnQuit, true, "high") function saveTimeOnQLogout(account) if (prisoner[source] and prisoner[source][2] > 1) then setAccountData(account, "CSFprison.prisonTime", prisoner[source][2]) end end addEventHandler("onPlayerLogout", root, saveTimeOnQLogout) function sendPlayerToJailOnStart() for index, player in pairs(getElementsByType("player")) do if (not isGuestAccount(getPlayerAccount(player))) then local account = getPlayerAccount(player) local prisontime = getAccountData(account, "CSFprison.prisonTime") or 0 local zone = getAccountData(account, "CSFprison.zone") if (tonumber(prisontime) > 1) then sendPlayerToPrison(player, prisontime * 1000) end end end end addEventHandler("onResourceStart", resourceRoot, sendPlayerToJailOnStart) function saveTimeOnResourceStop() for index, player in pairs(getElementsByType("player")) do if (not isGuestAccount(getPlayerAccount(player)) and prisoner[player] and prisoner[player][2] > 1) then local account = getPlayerAccount(player) setAccountData(account, "CSFprison.zone", prisoner[player][1]) setAccountData(account, "CSFprison.prisonTime", prisoner[player][2]) end end end addEventHandler("onResourceStop", resourceRoot, saveTimeOnResourceStop) function onPlayerLogin() local account = getPlayerAccount(source) local prisontime = getAccountData(account, "CSFprison.prisonTime") or 0 if (tonumber(prisontime) > 1) then setTimer(sendPlayerToPrison, 1000, 1, source, prisontime * 1000) end end addEventHandler("onPlayerLogin", root, onPlayerLogin) function releasePlayerFromPrison(player) if (not isElement(player)) then return end if (prisoner[player]) then if (prisoner[player][3]) then if (isTimer(prisoner[player][3])) then killTimer(prisoner[player][3]) end end toggleControl(player, "fire", true) toggleControl(player, "jump", true) triggerClientEvent (player, "disableGodMode") fadeCamera(player, false, 0) setTimer(fadeCamera, 800, 1, player, true) exports.CSFtexts:output("You have been released from prison", player, 0, 245, 185) local zone = prisoner[player][1] if (zone == "Unknown") then setElementPosition(player, 1796.82, -1590.14, 13) zone = getAccountData(getPlayerAccount(player), "CSFprison.zone") end if (zone == "Los Santos") then setElementPosition(player, 2750.82, -1451.14, 30) elseif (zone == "San Fierro") then setElementPosition(player, -1631.78, 678.41, 7) elseif (zone == "Las Venturas") then setElementPosition(player, 2287.54, 2430.20, 10) end removeElementData(player,"prison") triggerClientEvent(player, "CIThelp.mtb", player, "isPlayerJailled", "") setElementDimension(player, 0) prisoner[player] = nil setPlayerWantedLevel(player, 0) exports.CSFpolice:setWantedLevel(player, 0) setElementData(player, "CSFpolice.wantedStars", 0) setElementData(player, "CSFpolice.wantedPoints", 0) setAccountData(getPlayerAccount(player), "CSFprison.prisonTime", false) triggerClientEvent(player, "CSFprison.onPlayerReleased", root) setElementData(player,"adminpunished",false) end end addEventHandler("onVehicleStartEnter",root, function (player) if exports.CSFprison:isPlayerJailed(player) then cancelEvent() exports.DENdxmsg:createNewDxMessage(player,"You can't enter a vehicle while holding in Jail!",255,0,0,true) end end ) function checkForVehicle() if exports.CSFprison:isPlayerJailed() then if isPedInVehicle() or isElementAttached() then exports.CSFprison:sendPlayerToPrison() exports.DENdxmsg:createNewDxMessage(player,"You can't enter or /glue to a vehicle while in jail!",255,0,0,true) end end end addEventHandler("onPlayerContact",root, function (old,new) if exports.CSFprison:isPlayerJailed(new) then exports.CSFprison:sendPlayerToPrison() exports.DENdxmsg:createNewDxMessage(source,"You're not allowed to stand on vehicles while in Jail!",255,0,0,true) end end ) function getPrisonTime(player) if isPlayerJailed(player) then return prisoner[player][2] end end Link to comment
Abdul KariM Posted April 23, 2016 Share Posted April 23, 2016 اعتقد اني رديت عليك بموضوعك السابق والي كان فيه ردي عليكم السلاماكتب باف8 debugscript 3 واسجن نفسك لوقت قصير مره ويوم ينتهي الوقت , شوف وش يطلع بالشاشة من تحت بالنص ض1 خلي المود لحاله فقط , عشان نعرف الخطأ وارسل لنا وش يطلع لك Link to comment
darbka2002 Posted April 24, 2016 Author Share Posted April 24, 2016 اخى انا حليت المشكلة حق الخروج من السجن الان المشكلة انة لما اللعب يدخل السجن يموت 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