JanKy Posted April 26, 2017 Share Posted April 26, 2017 Hi guys, i get two errors on my gps resource ( that is included in the dayz gamemode ) and it looks like this. ( ignore the worldChange error ) And here is the script : local wx, hy = guiGetScreenSize() local gpsX = 203 local gpsY = 188 local mapSizeX = 170 local mapSizeY = 121 local mapX = -6.00 local mapY = hy-gpsY- -1 local playerX = mapX+104 local playerY = mapY-20.5 local playerSizeX = 25 local playerSizeY = 25 --Binoclu local textures = {}; local function render_crosshair () local screenw, screenh = guiGetScreenSize (); local s = screenw * 0.5; local u,v = (screenw - s)*0.2, (screenh - s)*0.2; local black = tocolor (0, 0, 0, 255); dxDrawRectangle (0, 0, screenw, v, black); dxDrawRectangle (0, 0, u, screenh, black); dxDrawRectangle (0, screenh, screenw, -v, black); dxDrawRectangle (screenw, screenh, -u, -screenh, black); dxDrawImage (u, v, screenw-2*u, screenh-2*v, textures ["crosshair"]); end; local function on_weapon_aimed (key, state) local weapon_binocular = 43; if getPedWeapon (getLocalPlayer ()) == weapon_binocular then if state == "down" then setPlayerHudComponentVisible ("crosshair", false) addEventHandler ("onClientHUDRender", getRootElement (), render_crosshair); toggleControl ("fire", false) showChat(false) else removeEventHandler ("onClientHUDRender", getRootElement (), render_crosshair); showChat(true) toggleControl ("fire", true) end; end; end; addEventHandler ("onClientResourceStart", getResourceRootElement (getThisResource ()), function () textures ["crosshair"] = dxCreateTexture ("images/binoculars.png", "argb", true, "wrap"); if not textures ["crosshair"] then return; end; bindKey ("aim_weapon", "both", on_weapon_aimed); addEventHandler ("onClientPlayerWeaponSwitch", getRootElement (), function (previousWeaponSlot) local weaponslot_type_binocular = 9; if previousWeaponSlot == weaponslot_type_binocular then if not isPlayerHudComponentVisible ("crosshair") then setPlayerHudComponentVisible ("crosshair", true); showChat(true) toggleControl ("fire", true) end; end; end); addEventHandler ("onClientResourceStop", getResourceRootElement (getThisResource ()), function () unbindKey ("aim_weapon", "both", on_weapon_aimed); showChat(true) toggleControl ("fire", true) if not isPlayerHudComponentVisible ("crosshair") then setPlayerHudComponentVisible ("crosshair", true); end; end); end); ---- function rangeFinder() local w, h = guiGetScreenSize () local tx, ty, tz = getWorldFromScreenPosition ( w/2, h/2, 500 ) local px, py, pz = getPedBonePosition(localPlayer,8) hit, x, y, z, elementHit = processLineOfSight ( px, py, pz, tx, ty, tz ) if getPedWeapon(localPlayer) == 43 and getElementData(localPlayer,"currentweapon_3") == "Binoclu" then if getControlState("aim_weapon") then if x and y and z then local distance = getDistanceBetweenPoints3D(px,py,pz,x,y,z) dxDrawText(tostring(math.floor(distance)).."m",w/2-49,h/2,w,h,tocolor(0,0,0,220),1,"sans") dxDrawText(tostring(math.floor(distance)).."m",w/2-50,h/2,w,h,tocolor(255,255,255,220),1,"sans") else local distance = 500 dxDrawText("+"..tostring(math.floor(distance)).."m",w/2-49,h/2,w,h,tocolor(0,0,0,220),1,"sans") dxDrawText("+"..tostring(math.floor(distance)).."m",w/2-50,h/2,w,h,tocolor(255,255,255,220),1,"sans") end end end end addEventHandler("onClientRender",root,rangeFinder) addEventHandler("onClientResourceStart", getResourceRootElement(),function() setPlayerHudComponentVisible ("radar",false) xsize = mapSizeX+180 rr = dxCreateRenderTarget(xsize,xsize,true) rr2 = dxCreateRenderTarget(xsize,xsize,true) centerleft = xsize / 2 centertop = mapSizeY / 2 blipsize = 16 end) playerTexture = dxCreateTexture ("images/GPS/player.png","argb",true,"clamp") mapTexture = dxCreateTexture ("images/GPS/radar.jpg","argb",true,"clamp") gpsTexture = dxCreateTexture ("images/GPS/gps.png","argb",true,"clamp") addEventHandler("onClientResourceStart", getResourceRootElement(), function() versionLabel = guiCreateLabel(1,1,0.3,0.3,"DayZ Life Reborn",true) guiSetSize(versionLabel, guiLabelGetTextExtent ( versionLabel ), guiLabelGetFontHeight ( versionLabel ), false ) x,y = guiGetSize(versionLabel,true) guiSetPosition( versionLabel, 1-x, 1-y*1.8, true ) guiSetAlpha(versionLabel,0.5) versionLabel2 = guiCreateLabel(1,1,0.3,0.3,"".. string.sub(getPlayerSerial(getLocalPlayer()), 27) .."",true) guiSetSize(versionLabel2, guiLabelGetTextExtent ( versionLabel2 ), guiLabelGetFontHeight ( versionLabel2 ), false ) x,y = guiGetSize(versionLabel2,true) guiSetPosition(versionLabel2, 1-x, 1-y*2.6, true ) guiSetAlpha(versionLabel2,0.5) end) setPedTargetingMarkerEnabled(false) function playerStatsClientSite() if getElementData(getLocalPlayer(),"logedin") then toggleControl ("radar",false) setPlayerHudComponentVisible("clock",false) setPlayerHudComponentVisible("radar",false) setPlayerHudComponentVisible("money",false) setPlayerHudComponentVisible("health",false) setPlayerHudComponentVisible("weapon",false) setPlayerHudComponentVisible("ammo",false) setPlayerHudComponentVisible("breath",false) setPlayerHudComponentVisible("area_name",false) setPlayerHudComponentVisible("vehicle_name",false) --if getElementData(getLocalPlayer(),"Hartă") >= 1 then --toggleControl ("radar",true) --end end end setTimer(playerStatsClientSite,1000,0) --Foloseșteравление стелс убийства ножом (в survivalSystem_client) function killKnifeStelth(targetPlayer) if isElement(targetPlayer) and isElement(source) then if not getElementData(targetPlayer,"bandit") then setElementData(source,"murders",getElementData(source,"murders") + 1) else setElementData(source,"banditskilled",getElementData(source,"banditskilled") + 1) end setElementData(targetPlayer,"blood",-3) end end addEventHandler("onClientPlayerStealthKill",getRootElement(),killKnifeStelth) nightvisionimage = guiCreateStaticImage(0,0,1,1,"images/nightvision.png",true) guiSetVisible(nightvisionimage,false) infravision = guiCreateStaticImage(0,0,1,1,"images/infravision.png",true) guiSetVisible(infravision,false) function playerZoom (key,keyState) if key == "n" then if getElementData(getLocalPlayer(),"Ochelari cu viziune nocturnă") >= 1 then if nightvision then guiSetVisible(nightvisionimage,false) guiSetVisible(infravision,false) nightvision = false setCameraGoggleEffect("normal") else nightvision = true guiSetVisible(nightvisionimage,true) guiSetVisible(infravision,false) setCameraGoggleEffect("nightvision") end end elseif key == "i" then if getElementData(getLocalPlayer(),"Ochelari cu infraroșu") >= 1 then if infaredvision then infaredvision = false guiSetVisible(infravision,false) guiSetVisible(nightvisionimage,false) setCameraGoggleEffect("normal") else infaredvision = true guiSetVisible(infravision,true) guiSetVisible(nightvisionimage,false) setCameraGoggleEffect("thermalvision") end end end end bindKey("n","down",playerZoom) bindKey("i","up",playerZoom) function math.round(number, decimals, method) decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end function getWeaponAmmoType (weaponName) for i,weaponData in ipairs(weaponAmmoTable["others"]) do if weaponName == weaponData[1] then return weaponData[1],weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["STANAG"]) do if weaponName == weaponData[1] then return "STANAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["AK-MAG"]) do if weaponName == weaponData[1] then return "AK-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["AK-DRUM"]) do if weaponName == weaponData[1] then return "AK-DRUM",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["SVD-MAG"]) do if weaponName == weaponData[1] then return "SVD-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["VSS-MAG"]) do if weaponName == weaponData[1] then return "VSS-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["MOSIN-CLIP"]) do if weaponName == weaponData[1] then return "MOSIN-CLIP",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["SKS-CLIP"]) do if weaponName == weaponData[1] then return "SKS-CLIP",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["FAL-MAG"]) do if weaponName == weaponData[1] then return "FAL-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["Gauge Buckshot"]) do if weaponName == weaponData[1] then return "Gauge Buckshot",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["MP5-K-MAG"]) do if weaponName == weaponData[1] then return "MP5-K-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["CZ61-MAG"]) do if weaponName == weaponData[1] then return "CZ61-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["UMP45-MAG"]) do if weaponName == weaponData[1] then return "UMP45-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["1911-MAG"]) do if weaponName == weaponData[1] then return "1911-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["GLOCK-MAG"]) do if weaponName == weaponData[1] then return "GLOCK-MAG",weaponData[2] end end for i,weaponData in ipairs(weaponAmmoTable["MAGNUM-MAG"]) do if weaponName == weaponData[1] then return "MAGNUM-MAG",weaponData[2] end end end function getWeaponDamage (weapon) for i,weapon2 in ipairs(damageTable) do local t,weapon1 = getWeaponAmmoType(weapon2[1]) if weapon1 == weapon then if getElementData(getLocalPlayer(),"humanity") == 5000 then if weapon2[1] == "1911" or weapon2[1] == "1911 cu supressor" or weapon2[1] == "GLOCK 19" or weapon2[1] == "GLOCK 19 cu supressor" or weapon2[1] == "MAGNUM" then return weapon2[2]*0.3 end end return weapon2[2] end end end clothBody = { {"Vestă cu mici depozite",0.55}, {"Vestă anti-șoc",0.65}, {"Vestă PRESS",0.65}, {"Vestă PRESS Albastră",0.75}, {"Vestă PRESS Camo",0.75}, {"Vestă PRESS Camo №2",0.75}, } clothHead = { {"Cască Militară Verde",0.55}, {"Cască Militară Neagră",0.55}, {"Cască Militară Albastră",0.55}, {"Cască Militară Camuflată №1",0.55}, {"Cască Militară Camuflată №2",0.55}, {"Cască Militară Camuflată №3",0.55}, {"Cască E ( Verde )",0.55}, {"Cască E ( Neagră )",0.55}, {"Cască E ( SWAT )",0.55}, {"Cască E ( Camo )",0.55}, {"Cască Neagră de Muncitor",0.65}, {"Cască Albastră de Muncitor",0.65}, {"Cască Verde de Muncitor №1",0.65}, {"Cască Verde de Muncitor №2",0.65}, {"Cască Portocalie de Muncitor",0.65}, {"Cască Roșie de Muncitor",0.65}, {"Cască Albă de Muncitor",0.65}, {"Cască Galbenă de Muncitor",0.65}, {"Cască Neagră de Pompier",0.55}, {"Cască Roșie de Pompier",0.55}, {"Cască Albă de Pompier",0.55}, {"Cască Galbenă de Pompier",0.55}, {"Cască Neagră de Pilot",0.65}, {"Cască Albă de Pilot",0.65}, {"Cască Verde de Pilot",0.65}, } function playerGetDamageDayZ ( attacker, weapon, bodypart, loss ) cancelEvent() damage = 100 headshot = false if weapon == 37 then return end --Урон Зомби if attacker and getElementData(attacker,"zombie") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-1221) local number = math.random(1,7) if number == 4 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end if getElementData(getLocalPlayer(), "infection_zom") == 0 then local aleatory = math.random(1,5) if aleatory == 3 then setElementData(getLocalPlayer(), "infection_zom", 1) end end if getElementData(getLocalPlayer(), "infection_zom") == 1 then local aleatory = math.random(1,7) if aleatory == 3 then setElementData(getLocalPlayer(), "infection_zom", 2) end end if getElementData(getLocalPlayer(), "infection_zom") == 2 then local aleatory = math.random(1,8) if aleatory == 3 then setElementData(getLocalPlayer(), "infection_zom", 3) end end end --Урон ведмедя if attacker and getElementData(attacker,"bear") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-3121) local number = math.random(1,2) if number == 2 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end end --Урон вовк if attacker and getElementData(attacker,"wolf") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-1981) local number = math.random(1,4) if number == 2 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end end --Урон лисиця if attacker and getElementData(attacker,"fox") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-1421) local number = math.random(1,5) if number == 2 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end end --Кровосос if attacker and getElementData(attacker,"boss_blood") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-5612) local number = math.random(1,2) if number == 2 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end end --Всі боси if attacker and getElementData(attacker,"boss_all") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-4241) local number = math.random(1,5) if number == 2 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end end --Всі боси if attacker and getElementData(attacker,"bot") then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-5000) local number = math.random(1,5) if number == 2 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end end --Mină if not attacker and weapon == 16 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-28104) return true end if weapon == 49 then if loss > 30 then setElementData(getLocalPlayer(),"brokenbone",true) setControlState ("jump",true) setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.floor(loss*10)) end setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.floor(loss*5)) elseif weapon == 63 or weapon == 51 or weapon == 19 then setElementData(getLocalPlayer(),"blood",0) if getElementData(getLocalPlayer(),"blood") <= 0 then if not getElementData(getLocalPlayer(),"isDead") == true then triggerServerEvent("kilLDayZPlayer",getLocalPlayer(),attacker,headshot) end end elseif weapon and weapon > 1 and attacker and getElementType(attacker) == "player" and weapon ~= 17 then local number = math.random(1,8) if number >= 6 or number <= 8 then setElementData(getLocalPlayer(),"bleeding",getElementData(getLocalPlayer(),"bleeding") + math.floor(loss*10)) end local number = math.random(1,7) if number == 2 then setElementData(getLocalPlayer(),"pain",true) end damage = getWeaponDamage (weapon) if bodypart == 3 then for _, add in ipairs(clothBody) do if getElementData ( getLocalPlayer(), "clothBody" ) == add[1] then damage = damage*add[2] end end end --[[if bodypart == 9 then damage = damage*1.5 headshot = true end ]] if bodypart == 9 then for _, add in ipairs(clothHead) do if getElementData ( getLocalPlayer(), "clothHead" ) == add[1] then damage = damage*add[2] end end end if bodypart == 7 or bodypart == 8 then setElementData(getLocalPlayer(),"brokenbone",true) end setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.random(damage*0.75,damage*1.25)) if not getElementData(getLocalPlayer(),"bandit") then setElementData(attacker,"humanity",getElementData(attacker,"humanity")-math.random(40,200)) if getElementData(attacker,"humanity") < 0 then setElementData(attacker,"bandit",true) end else setElementData(attacker,"humanity",getElementData(attacker,"humanity")+math.random(40,200)) if getElementData(attacker,"humanity") > 5000 then setElementData(attacker,"humanity",5000) end if getElementData(attacker,"humanity") > 2000 then setElementData(attacker,"bandit",false) end end if getElementData(getLocalPlayer(),"blood") <= 0 then if not getElementData(getLocalPlayer(),"isDead") then triggerServerEvent("kilLDayZPlayer",getLocalPlayer(),attacker,headshot,getWeaponNameFromID (weapon)) setElementData(getLocalPlayer(),"isDead",true) end end elseif weapon == 54 or weapon == 63 or weapon == 49 or weapon == 51 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.random(100,1000)) local number = math.random(1,5) if loss > 30 then setElementData(getLocalPlayer(),"brokenbone",true) setControlState ("jump",true) end if loss >= 100 then setElementData(getLocalPlayer(),"blood",49) setElementData(getLocalPlayer(),"bleeding",50) end local number = math.random(1,11) if number == 3 then setElementData(getLocalPlayer(),"pain",true) end -- Урон от кулаков if weapon == 0 and getElementType(attacker) == "player" then damage = 400 setElementData(localPlayer,"blood",getElementData(localPlayer,"blood")-damage) end --[[Урон от транспорт if getElementType(attacker) == "vehicle" then local attack = getVehicleOccupant(attacker) if attack ~= localPlayer then damage = 24000 setElementData(localPlayer,"blood",getElementData(localPlayer,"blood")-damage) end end]] if getElementData(getLocalPlayer(),"blood") <= 0 then if not getElementData(getLocalPlayer(),"isDead") == true then triggerServerEvent("kilLDayZPlayer",getLocalPlayer(),attacker,headshot,getWeaponNameFromID (weapon)) setElementData(getLocalPlayer(),"isDead",true) end end end end addEventHandler ( "onClientPlayerDamage", getLocalPlayer (), playerGetDamageDayZ ) function pedGetDamageDayZ ( attacker, weapon, bodypart, loss ) cancelEvent() if attacker and getElementType(attacker) == "vehicle" then speedx, speedy, speedz = getElementVelocity ( attacker ) actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5) kmh = actualspeed * 180 if kmh >= 20 then local vehkiller = getVehicleOccupant ( attacker ) setElementData(source,"blood",0) if getElementData(source,"blood") <= 0 then triggerServerEvent("onZombieGetsKilled",source,vehkiller) end end end if attacker and attacker == getLocalPlayer() then damage = 100 if weapon == 37 then return end if weapon == 63 or weapon == 51 or weapon == 19 then setElementData(source,"blood",0) if getElementData(source,"blood") <= 0 then killPed ( source, attacker, weapon, bodypart ) end elseif weapon and weapon > 1 and attacker and getElementType(attacker) == "player" then damage = getWeaponDamage (weapon) if bodypart == 9 then damage = damage*1.5 headshot = true end setElementData(source,"blood",getElementData(source,"blood")-math.random(damage*0.95,damage*1.25)) if getElementData(source,"blood") <= 0 then triggerServerEvent("onZombieGetsKilled",source,attacker,headshot) end end end end addEventHandler ( "onClientPedDamage", getRootElement(), pedGetDamageDayZ ) function checkStats() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"bleeding") > 20 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-getElementData(getLocalPlayer(),"bleeding")) else setElementData(getLocalPlayer(),"bleeding",0) end if getElementData(getLocalPlayer(),"blood") < 0 then if not getElementData(getLocalPlayer(),"isDead") then triggerServerEvent("kilLDayZPlayer",getLocalPlayer(),false,false) end end end end setTimer(checkStats,3000,0) function createBloodForBleedingPlayers () if getElementData(getLocalPlayer(),"logedin") then local x,y,z = getElementPosition(getLocalPlayer()) for i,player in ipairs(getElementsByType("player")) do local bleeding = getElementData(player,"bleeding") or 0 if bleeding > 0 then local px,py,pz = getPedBonePosition (player,3) local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if bleeding > 600 then number = 5 elseif bleeding > 300 then number = 3 elseif bleeding > 100 then number = 1 else number = 0 end if pdistance <= 120 then fxAddBlood ( px,py,pz,0,0,0,number, 1 ) end end end end end setTimer(createBloodForBleedingPlayers,300,0) function checkBrokenbone() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"brokenbone") then toggleControl ( "jump", false ) toggleControl ( "sprint", false ) else toggleControl ( "jump", true ) toggleControl ( "sprint", true ) end end end setTimer(checkBrokenbone,1400,0) function setPain() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"pain") then local x,y,z = getElementPosition(getLocalPlayer()) createExplosion (x,y,z+15,8,false,1.0,false) local x, y, z, lx, ly, lz = getCameraMatrix() x, lx = x + 1, lx + 1 setCameraMatrix(x,y,z,lx,ly,lz) setCameraTarget (getLocalPlayer()) end end end setTimer(setPain,1500,0) function checkCold() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"temperature") <= 34 then setElementData(getLocalPlayer(),"cold",true) setElementData(getLocalPlayer(), "grip",1) end end end setTimer(checkCold,3000,0) function setCold() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"cold") then local x,y,z = getElementPosition(getLocalPlayer()) createExplosion (x,y,z+15,8,false,0.5,false) local x, y, z, lx, ly, lz = getCameraMatrix() -- Get the current location and lookat of camera end end end setTimer(setCold,1500,0) function checkPlayerSickness () if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"sick") == 60 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.random(123,185)) end end end setTimer ( checkPlayerSickness, 5000,0) function checkInfection1() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"infection_zom") == 1 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.random(232,481)) end end end setTimer(checkInfection1,15000,0) function checkInfection2() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"infection_zom") == 2 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.random(431,683)) end end end setTimer(checkInfection2,25000,0) function checkInfection3() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"infection_zom") == 3 then setElementData(getLocalPlayer(),"blood",getElementData(getLocalPlayer(),"blood")-math.random(732,981)) end end end setTimer(checkInfection3,35000,0) function infectionSound() if getElementData(getLocalPlayer(), "logedin") then local x, y, z = getElementPosition ( getLocalPlayer ( ) ) if getElementData(getLocalPlayer(),"infection_zom") >= 1 then local soun = math.random(0,2) cough = playSound3D("sounds/cough_"..soun..".ogg", x, y, z, false) setSoundMaxDistance(cough,20) end end end setTimer (infectionSound,30000, 0) setTimer(function() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"grip") == 1 then setPedAnimation(getLocalPlayer(),"FOOD","EAT_Vomit_P") local x,y,z = getElementPosition(getLocalPlayer()) local sound = playSound3D("sounds/sneezing.mp3",x,y,z,false) setSoundMaxDistance(sound,20) setTimer(function() setPedAnimation(getLocalPlayer()) end,1000,1) end end end,90000,0) --[[ function checkPlayerSickness () if getElementData(getLocalPlayer(),"logedin") then setElementData(getLocalPlayer(),"sick",getElementData(getLocalPlayer(),"sick")-1) end end setTimer ( checkPlayerSickness, 300000,0) ]] playTrapSoundClient = function() local x,y,z = getElementPosition ( source ) local trap = playSound3D ( "sounds/trap.ogg", x, y, z,false) setSoundMaxDistance(trap,20) end addEvent("playTrapSound", true) addEventHandler("playTrapSound", getRootElement(), playTrapSoundClient) function playTrapSound_voul() if getElementData(getLocalPlayer(), "logedin") then local x,y,z = getElementPosition ( source ) local voul = math.random(0,4) voul = playSound3D("sounds/scream_short_"..voul..".ogg", x, y, z, false) setSoundMaxDistance(voul,20) local animR = math.random(1,4) if animR == 1 then setPedAnimation(getLocalPlayer(), "ped", "KO_shot_face") elseif animR == 2 then setPedAnimation(getLocalPlayer(), "CRACK", "crckdeth3") elseif animR == 3 then setPedAnimation(getLocalPlayer(), "ped", "KO_shot_stom") elseif animR == 4 then setPedAnimation(getLocalPlayer(), "CRACK", "crckdeth2") end setTimer(function() setPedAnimation(getLocalPlayer()) end,2000,1) end end addEvent("playTrapSound_voul", true) addEventHandler("playTrapSound_voul", getRootElement(),playTrapSound_voul) local screenWidth,screenHeight = guiGetScreenSize() function updateIcons () if getElementData(getLocalPlayer(),"logedin") then --Nametags local x,y,z = getElementPosition(getLocalPlayer()) for i,player in ipairs(getElementsByType("player")) do setPlayerNametagShowing ( player, false ) if player ~= getLocalPlayer() then local vehicle = getPedOccupiedVehicle(player) local px,py,pz = getElementPosition (player) local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if pdistance <= 2 then --Get screenposition local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 ) if sx and sy then --Draw Игровой ник if getElementData(player,"bandit") then text = string.gsub(getPlayerName(player), '#%x%x%x%x%x%x', '' ).." (Bandit)" else text = string.gsub(getPlayerName(player), '#%x%x%x%x%x%x', '' ) end local w = dxGetTextWidth(text,1.02,"default-bold") dxDrawText (text, sx-(w/2), sy, sx-(w/2), sy, tocolor ( 255, 255, 255, 200 ), 1.02, "default-bold" ) end end end end if not playerTarget then return end local x,y,z = getElementPosition(playerTarget) local x,y,distance = getScreenFromWorldPosition (x,y,z+0.5) distance = 20 if getElementData(playerTarget,"bandit") then text = string.gsub(getPlayerName(playerTarget), '#%x%x%x%x%x%x', '' ).." (Bandit)" else text = string.gsub(getPlayerName(playerTarget), '#%x%x%x%x%x%x', '' ) end local w = dxGetTextWidth(text,distance*0.033,"default-bold") --dxDrawText (text,x-(w/2),y,x-(w/2), y, tocolor ( 255, 255, 255, 200 ), distance*0.033, "default-bold" ) end end addEventHandler ( "onClientRender", getRootElement(), updateIcons ) playerTarget = false function targetingActivated ( target ) if ( target ) and getElementType(target) == "player" then playerTarget = target else playerTarget = false end end addEventHandler ( "onClientPlayerTarget", getRootElement(), targetingActivated ) function dayZDeathInfo() fadeCamera(false, 1.0, 0, 0, 0 ) showDayZDeathScreen() if isElement(comaBackground) then destroyElement(comaBackground) end setTimer(function() guiSetText(deadText, "Te vei respawna în 10 secunde.") local number = 10 setTimer(function() number = number-1 guiSetText(deadText, "Te vei respawna în "..number.." secunde.") if number < 1 then guiSetVisible(deadBackground,false) if isElement(deadBackground) then destroyElement(deadBackground) end end end, 1000, 10) end,5000,1) end addEvent("onClientPlayerDeathInfo",true) addEventHandler("onClientPlayerDeathInfo",getRootElement(),dayZDeathInfo) function showDayZDeathScreen() fadeCamera(true, 1.5) deadBackground = guiCreateStaticImage(0,0,1,1,"images/dead.jpg",true) deadText = guiCreateLabel(0,0.8,1,0.2,"Ai murit!",true,deadBackground) guiLabelSetHorizontalAlign(deadText, "center", false) guiLabelSetVerticalAlign(deadText, "center") guiLabelSetColor ( deadText, 249,60,4 ) end --[[ function showWhiteScreen ( attacker, weapon, bodypart ) if weapon ~= 17 then whitescreen = guiCreateStaticImage(0,0,1,1,"images/white.png",true) setTimer(destroyElement,1000,1,whitescreen) end end ]] theTexts = {} theTextTimer = {} function startRollMessage(text, r, g, b) if #theTexts == 4 then destroyTextItem() end table.insert(theTexts,{text,r,g,b}) checkTimers() end addEvent("onRollMessageStart", true) addEventHandler("onRollMessageStart", getLocalPlayer(), startRollMessage) function startRollMessage2(head,text, r, g, b) if #theTexts == 4 then destroyTextItem() end table.insert(theTexts,{text,r,g,b}) checkTimers() end addEvent("displayClientInfo", true) addEventHandler("displayClientInfo", getLocalPlayer(), startRollMessage2) function destroyTextItem () table.remove(theTexts,1) end function checkTimers () if isTimer(theTextTimer["destroy"]) then killTimer(theTextTimer["destroy"]) end theTextTimer["destroy"] = setTimer(destroyTextItem,7000,4) end local screenWidth, screenHeight = guiGetScreenSize() local boxSpace = dxGetFontHeight(1,"default-bold")+dxGetFontHeight(1,"default-bold")*0.3 addEventHandler("onClientRender", getRootElement(), function() for id, value in pairs(theTexts) do dxDrawingColorText(value[1],screenWidth*0.30125, screenHeight-id*boxSpace+0.998, screenWidth*0.7, screenHeight-(id-1)*boxSpace, tocolor(0,0,0,255),170, 1.0, "sans", "center", "center") dxDrawingColorText(value[1],screenWidth*0.3, screenHeight-id*boxSpace, screenWidth*0.7, screenHeight-(id-1)*boxSpace, tocolor(255,255,255,255),170, 1.0, "sans", "center", "center") end end) function setVolume() value = 0 if getPedMoveState (getLocalPlayer()) == "stand" then value = 0 elseif getPedMoveState (getLocalPlayer()) == "walk" then value = 20 elseif getPedMoveState (getLocalPlayer()) == "powerwalk" then value = 40 elseif getPedMoveState (getLocalPlayer()) == "jog" then value = 80 elseif getPedMoveState (getLocalPlayer()) == "sprint" then value = 100 elseif getPedMoveState (getLocalPlayer()) == "crouch" then value = 0 elseif not getPedMoveState (getLocalPlayer()) then value = 20 end if isPedInVehicle (getLocalPlayer()) then value = 100 end if value > 100 then value = 100 end setElementData(getLocalPlayer(),"volume",value) end setTimer(setVolume,300,0) function setVisibility() value = 0 if getPedMoveState (getLocalPlayer()) == "stand" then value = 60 elseif getPedMoveState (getLocalPlayer()) == "walk" then value = 60 elseif getPedMoveState (getLocalPlayer()) == "powerwalk" then value = 60 elseif getPedMoveState (getLocalPlayer()) == "jog" then value = 60 elseif getPedMoveState (getLocalPlayer()) == "sprint" then value = 60 elseif getPedMoveState (getLocalPlayer()) == "crouch" then value = 20 elseif not getPedMoveState (getLocalPlayer()) then value = 20 end if isPedInVehicle (getLocalPlayer()) then value = 0 end setElementData(getLocalPlayer(),"visibly",value) end setTimer(setVisibility,300,0) bindKey("aim_weapon","both",function (_,state) if getPedWeaponSlot(getLocalPlayer()) == 6 and getElementData(getLocalPlayer(),"selectedWeapon") ~= "Lee Enfield" or getPedWeaponSlot(getLocalPlayer()) == 9 then if state == "down" then alpha = 0 elseif state == "up" then alpha = 255 end for i,v in pairs (clothSlots) do local object = getElementData(getLocalPlayer(),i.."Object" ) if object and isElement ( object ) then setElementAlpha ( object, alpha ) end end end end) local weaponObject = { ["2423"] = true, ["2426"] = true, ["2431"] = true, ["2434"] = true, ["2439"] = true, ["2441"] = true, ["2444"] = true, ["2266"] = true, } local weaponObject2 = { ["1731"] = true, ["1712"] = true, } bindKey("aim_weapon","both",function (_,state) if getPedWeaponSlot(getLocalPlayer()) == 6 or getPedWeaponSlot(getLocalPlayer()) == 9 then if state == "down" then alpha = 0 elseif state == "up" then alpha = 255 end for _, obj in ipairs(getElementsByType ("object",root,true)) do if isElementAttachedToBone(obj) then local id = getElementModel(obj) if weaponObject[""..tostring(id)] then setElementAlpha(obj,alpha) break end end end end end) bindKey("aim_weapon","both",function (_,state) if getPedWeaponSlot(getLocalPlayer()) == 6 or getPedWeaponSlot(getLocalPlayer()) == 9 then if state == "down" then alpha = 0 elseif state == "up" then alpha = 255 end for _, obj in ipairs(getElementsByType ("object",root,true)) do if isElementAttachedToBone(obj) then local id = getElementModel(obj) if weaponObject2[""..tostring(id)] then setElementAlpha(obj,alpha) break end end end end end) local details = { {"Tire_inVehicle"}, {"Engine_inVehicle"}, {"Parts_inVehicle"}, } --[[ Сситема поломки деталей addEventHandler("onClientVehicleDamage",getRootElement(),function(attacker,weapon,loss,x,y,z,tyre) cancelEvent() local parent = getElementData(source,"parent") if getElementData(parent,"vehicle_armor") > 0 then if getElementData(parent,"vehicle_armor")-loss < 1 then local hp = math.floor(getElementData(parent,"vehicle_armor") - loss) if hp < 0 then hp = hp * -1 end setElementHealth(source,getElementHealth(source) - hp) setElementData(parent,"vehicle_armor",0) return true end setElementData(parent,"vehicle_armor",getElementData(parent,"vehicle_armor")-loss) return true end for _, data in ipairs (details) do if parent and isElement(parent) then local detail = getElementData(parent,data[1]) or 0 if detail > 0 then local detail_dam = getElementData (parent,data[1].."dam") or 0 if detail_dam >= 6 then local random = math.random(0.05,#details) local detale = getElementData(parent,details[random][1]) or 0 if detale > 0 then setElementData(parent,details[random][1],detale - 1) setElementData(parent,details[random][1].."dam",0) checkVehicleMovable(source) break end else setElementData(parent, data[1].."dam", detail_dam+1) break end end end end setElementHealth (source,getElementHealth(source) - loss) end) ]] addEventHandler("onClientVehicleDamage",getRootElement(),function(attacker,weapon,loss,x,y,z,tyre) cancelEvent() local parent = getElementData(source,"parent") if getElementData(parent,"vehicle_armor") > 0 then if getElementData(parent,"vehicle_armor")-loss < 1 then local hp = math.floor(getElementData(parent,"vehicle_armor") - loss) if hp < 0 then hp = hp * -1 end setElementHealth(source,getElementHealth(source) - hp) setElementData(parent,"vehicle_armor",0) return true end setElementData(parent,"vehicle_armor",getElementData(parent,"vehicle_armor")-loss) return true end setElementHealth (source,getElementHealth(source) - loss) end) --Ракети на битр итд w, h = guiGetScreenSize () local function getPositionFromElementOffset(element,offX,offY,offZ) local m = getElementMatrix ( element ) -- Get the matrix local x = offX * m[1][1] + offY * m[2][1] + offZ * m[3][1] + m[4][1] -- Apply transform local y = offX * m[1][2] + offY * m[2][2] + offZ * m[3][2] + m[4][2] local z = offX * m[1][3] + offY * m[2][3] + offZ * m[3][3] + m[4][3] return x, y, z -- Return the transformed point end local poses = { [601] = {0, 0, 0}, } addEvent("cl_bulletSpawn", true) addEventHandler("cl_bulletSpawn",getRootElement(),function(x, y, z, player) createProjectile(player,19,x,y,z+3) end) function fireBTR() setTimer(function() local veh = getPedOccupiedVehicle(localPlayer) if isElement(veh) and getElementModel(veh) == 601 then local xv,yv,zv = getElementVelocity(veh) local mid = getElementModel(veh) local x,y,z = getPositionFromElementOffset(veh, poses[mid][1],poses[mid][2],poses[mid][3]+math.abs(zv*5)) x,y = x+xv*5, y+yv*5 triggerServerEvent("sv_bulletSpawn", getRootElement(), x, y, z, localPlayer) end end,5000,1) end function disableFireSwat ( theVehicle, seat ) if ( getElementModel ( theVehicle ) == 601 ) then toggleControl ( "vehicle_fire", false ) else toggleControl ( "vehicle_fire", true ) end end addEventHandler ( "onClientPlayerVehicleEnter", getLocalPlayer(), disableFireSwat ) function disableFireSwat1 ( theVehicle, seat ) if ( getElementModel ( theVehicle ) == 601 ) then toggleControl ( "lctrl_fire", false ) else toggleControl ( "lctrl_fire", true ) end end addEventHandler ( "onClientPlayerVehicleEnter", getLocalPlayer(), disableFireSwat1 ) function renderVehCross () local veh = getPedOccupiedVehicle(localPlayer) if isElement(veh) and getElementModel(veh) == 601 then dxDrawImage (w/2-128, h/2-128,256,256,"images/shotgun.png",0,0,0) end end addEventHandler('onClientRender', root, renderVehCross ) function SwatFireEnter ( theVehicle, seat ) local col = getElementData(theVehicle,"parent") if ( getElementModel ( theVehicle ) == 601 ) then if getElementData(col,"raket") > 0 then bindKey("mouse1","down",fireBTR) triggerEvent("displayClientInfo",getLocalPlayer(),"","Mai sunt "..getElementData(col,"raket").." rachete",0,255,0) else unbindKey("mouse1","down",fireBTR) triggerEvent("displayClientInfo",getLocalPlayer(),"","Nu mai sunt rachete!",255,22,0) end end end addEventHandler ( "onClientPlayerVehicleEnter", getLocalPlayer(), SwatFireEnter ) armedVehicles = {[601]=true} --armedVehicles = {[425]=true, [520]=true, [476]=true, [447]=true, [430]=true, [432]=true, [464]=true, [407]=true, [601]=true} function vehicleWeaponFire(key, keyState, vehicleFireType) local vehModel = getElementModel(getPedOccupiedVehicle(localPlayer)) if (armedVehicles[vehModel]) then triggerEvent("onClientVehicleWeaponFire", localPlayer, vehicleFireType, vehModel) end end bindKey("vehicle_fire", "down", vehicleWeaponFire, "primary") bindKey("vehicle_secondary_fire", "down", vehicleWeaponFire, "secondary") function eventVehicleFire(theVehicle) local theVehicle = getPedOccupiedVehicle(getLocalPlayer()) local col = getElementData(theVehicle,"parent") if getElementData(col,"raket") > 0 then bindKey("mouse1","down",fireBTR) setElementData(col,"raket",getElementData(col,"raket")- 1) local sound = playSound("sounds/hydraGunSound.ogg") setSoundVolume(sound, 0.6) end if getElementData(col,"raket") == 0 then unbindKey("mouse1","down",fireBTR) triggerEvent("displayClientInfo",getLocalPlayer(),"","Nu mai sunt rachete!",255,22,0) end end addEvent("onClientVehicleWeaponFire", false) addEventHandler("onClientVehicleWeaponFire", getLocalPlayer(), eventVehicleFire) ------------------------------------------------- function checkVehicleMovable(veh) if isElement(veh) then local model = getElementModel(veh) if model then local tires,engine,parts = getVehicleAddonInfos (model) if((getElementData(col,"Tire_inVehicle") or 0) < tonumber(tires)) then setVehicleEngineState (veh,false) return end if((getElementData(col,"Engine_inVehicle") or 0) < tonumber(engine)) then setVehicleEngineState(veh,false) return end if((getElementData(col,"Parts_inVehicle") or 0) < tonumber(parts)) then setVehicleEngineState(veh,false) return end end end end function getElementSpeed(element,unit) if (unit == nil) then unit = 0 end if (isElement(element)) then local x,y,z = getElementVelocity(element) if (unit=="кмч" or unit==1 or unit =='1') then return math.floor((x^2 + y^2 + z^2) ^ 0.5 * 100) else return math.floor((x^2 + y^2 + z^2) ^ 0.5 * 100 * 1.609344) end else return false end end lightState = 0 localPlayer = getLocalPlayer () addEventHandler("onClientVehicleEnter", getRootElement(), function(thePlayer, seat) if thePlayer == getLocalPlayer() then if seat == 0 then bindKey ( "l", "down", showLightState_panel ) addEventHandler("onClientRender",root, showPanel_main ) lightState = getVehicleOverrideLights ( source ) or 0 end end end ) addEventHandler("onClientVehicleExit", getRootElement(), function(thePlayer, seat) if thePlayer == getLocalPlayer() then if seat == 0 then removeEventHandler("onClientRender",root, showPanel_main ) unbindKey ( "l", "down" ) lightState = 0 end end end ) function showLightState_panel () if lightState == 0 or lightState == 1 then lightState = 2 setVehicleOverrideLights( getPedOccupiedVehicle ( localPlayer ), 2 ) else setVehicleOverrideLights( getPedOccupiedVehicle ( localPlayer ), 1 ) lightState = 0 end end function showPanel_main () if not getPedOccupiedVehicle ( localPlayer ) then removeEventHandler("onClientRender",root, showPanel_main ) unbindKey ( "l", "down" ) lightState = 0 return true end end local color = {} local radio = {} local sounds = {} local sW,sH = guiGetScreenSize() addEventHandler("onClientRender",getRootElement(),function() local veh = getPedOccupiedVehicle(getLocalPlayer()) if veh then local parent = getElementData(veh,"parent") local eng_health = getElementData(parent,"Engine_inVehicledam") or 0 local tire_health = getElementData(parent,"Tire_inVehicledam") or 0 local parts_health = getElementData(parent,"Parts_inVehicledam") or 0 local fuel = getElementData(parent,"fuel") or 0 local maxfuel = getElementData(veh,"maxfuel") if maxfuel == false or nil then return end if fuel == false or nil then return end if fuel > maxfuel/2 then color.fuel_r = 0 color.fuel_g = 255 color.fuel_b = 0 elseif fuel <= maxfuel/2 and fuel > 10 then color.fuel_r = 255 color.fuel_g = 255 color.fuel_b = 0 elseif fuel < 10 then color.fuel_r = 255 color.fuel_g = 0 color.fuel_b = 0 end --statusbar fuel if maxfuel == 140 then maxpalivo = -1.35 elseif maxfuel == 100 then maxpalivo = -0.98 elseif maxfuel == 80 then maxpalivo = -0.78 elseif maxfuel == 60 then maxpalivo = -0.58 elseif maxfuel == 50 then maxpalivo = -0.48 elseif maxfuel == 30 then maxpalivo = -0.29 elseif maxfuel == 0 then maxpalivo = -1.35 end if lightState == 0 or lightState == 1 then color1,color2,color3 = 255,255,255 dxDrawText ( " OFF",sW * 0.070,sH * 0.410-0.001,sW * 0.060,sH * 0.015, tocolor ( color1,color2,color3, 200 ), 1, "sans", "left", "top", false, false, true) else color1,color2,color3 = 215,200,105 dxDrawText ( " ON",sW * 0.070,sH * 0.410-0.001,sW * 0.060,sH * 0.015, tocolor ( color1,color2,color3, 200 ), 1, "sans", "left", "top", false, false, true) end local speed = getElementSpeed(getPedOccupiedVehicle(getLocalPlayer()), "Km/h") if not speed then return end dxDrawText ( "SPD "..speed,sW * 0.007,sH * 0.330-0.001,sW * 0.060,sH * 0.015, tocolor ( color1,color2,color3, 200 ), 1, "sans", "left", "top", false, false, true) --statusbar palivo local palivo = math.floor(getElementData(getElementData(veh,"parent"),"fuel") or 0) dxDrawBox(sW * 0.10,sH * 0.446,5,-105,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.10,sH * 0.446,5,palivo/maxpalivo,tocolor(255,255,0,100),tocolor(color1,color2,color3,50)) -- statusbar armor local arm = math.floor(getElementData(getElementData(veh,"parent"),"vehicle_armor") or 0) dxDrawBox(sW * 0.12,sH * 0.446,5,-105,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.12,sH * 0.446,5,arm/-9.6,tocolor(0,0,255,100),tocolor(color1,color2,color3,50)) -- statusbar health local health = math.floor(getElementHealth(veh) or 0) dxDrawBox(sW * 0.11,sH * 0.446,5,-105,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.11,sH * 0.446,5,health/-9.6,tocolor(0,255,0,100),tocolor(color1,color2,color3,50)) -- box name detail dxDrawBox(sW * 0.005,sH * 0.330,sW * 0.060,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.005,sH * 0.350,sW * 0.060,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.005,sH * 0.370,sW * 0.060,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.005,sH * 0.390,sW * 0.060,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.005,sH * 0.430,sW * 0.060,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.005,sH * 0.410,sW * 0.060,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) -- box detail kolvo dxDrawBox(sW * 0.070,sH * 0.350,sW * 0.025,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.070,sH * 0.370,sW * 0.025,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.070,sH * 0.390,sW * 0.025,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.070,sH * 0.430,sW * 0.025,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) dxDrawBox(sW * 0.070,sH * 0.410,sW * 0.025,sH * 0.015,tocolor(0,0,0,100),tocolor(color1,color2,color3,50)) -- box detail status --dxDrawBox(sW * 0.100,sH * 0.350,sW * 0.003,sH * 0.015,tocolor(color.engine_r,color.engine_g,color.engine_b,100),tocolor(255,255,255,50)) -- engine --dxDrawBox(sW * 0.100,sH * 0.370,sW * 0.003,sH * 0.015,tocolor(color.tire_r,color.tire_g,color.tire_b,100),tocolor(255,255,255,50)) -- tire --dxDrawBox(sW * 0.100,sH * 0.390,sW * 0.003,sH * 0.015,tocolor(color.parts_r,color.parts_g,color.parts_b,100),tocolor(255,255,255,50)) -- needparts --dxDrawBox(sW * 0.100,sH * 0.430,sW * 0.003,sH * 0.015,tocolor(color.fuel_r,color.fuel_g,color.fuel_b,100),tocolor(255,255,255,50)) -- fuel --dxDrawBox(sW * 0.100,sH * 0.410,sW * 0.003,sH * 0.015,tocolor(0,255,0,100),tocolor(255,255,255,50)) -- far -- text for box 1 name detail dxDrawText ("Baterie",sW * 0.007,sH * 0.350-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") dxDrawText ("Roți",sW * 0.007,sH * 0.370-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") dxDrawText ("Bujie",sW * 0.007,sH * 0.390-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") dxDrawText ("Combustibil",sW * 0.007,sH * 0.430-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") dxDrawText ("Faruri",sW * 0.007,sH * 0.410-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") -- text for box 2 kolvo detail dxDrawText ("".. math.floor(tostring(getElementData(getElementData(veh,"parent"),"Engine_inVehicle") or 0)) .."/".. tostring(getElementData(veh,"needengines")).. "",sW * 0.072,sH * 0.350-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") -- engine dxDrawText ("".. math.floor(tostring(getElementData(getElementData(veh,"parent"),"Tire_inVehicle") or 0)) .."/".. tostring(getElementData(veh,"needtires")).."",sW * 0.072,sH * 0.370-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") -- tire dxDrawText ("".. math.floor(tostring(getElementData(getElementData(veh,"parent"),"Parts_inVehicle") or 0)) .."/"..tostring(getElementData(veh,"needparts")).."",sW * 0.072,sH * 0.390-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),1,"sans") -- need parts dxDrawText ("".. math.floor(tostring(getElementData(getElementData(veh,"parent"),"fuel") or 0)).."/"..tostring(getElementData(veh,"maxfuel")).."",sW * 0.070,sH * 0.430-0.001,sW * 0.060,sH * 0.015,tocolor(color1,color2,color3,200),0.9,"sans") -- fuel end end) function dxDrawBox(x, y, w, h, rcolor, lcolor) dxDrawLine(x - 1, y - 1, x - 1, y + h, lcolor, 1) dxDrawLine(x + w, y - 1, x + w, y + h, lcolor, 1) dxDrawLine(x - 1, y + h, x + w, y + h, lcolor, 1) dxDrawLine(x - 1, y - 1, x + w, y - 1, lcolor, 1) dxDrawRectangle(x, y, w, h, rcolor) end addEventHandler("onClientResourceStart",resourceRoot,function() radio["WINDOW"] = guiCreateWindow((sW - 321) / 2, (sH - 258) / 2, 321, 258, "Radio", false) guiWindowSetSizable(radio["WINDOW"], false) radio["BUTTON_PLAY"] = guiCreateButton(10, 229, 87, 19, "Pornește", false, radio["WINDOW"]) radio["BUTTON_CLOSE"] = guiCreateButton(224, 229, 87, 19, "Închide", false, radio["WINDOW"]) radio["GRIDLIST"] = guiCreateGridList(12, 32, 299, 187, false, radio["WINDOW"]) radio["COLUMN"] = guiGridListAddColumn(radio["GRIDLIST"], "Listă", 0.9) addEventHandler("onClientGUIClick",radio["BUTTON_CLOSE"],function() guiSetVisible(radio["WINDOW"],false) showCursor(false) end,false) addEventHandler("onClientGUIClick",radio["BUTTON_PLAY"],function() local inVehicle = getPedOccupiedVehicle(getLocalPlayer()) local select = guiGridListGetItemText(radio["GRIDLIST"],guiGridListGetSelectedItem(radio["GRIDLIST"]),1) if inVehicle and select and getElementData(inVehicle,"vehicle:receiver") == false then for i, data in ipairs(playlist) do if select == data[1] then setElementData(inVehicle,"vehicle:directive",data[2]) setElementData(inVehicle,"vehicle:receiver",true) guiSetText(radio["BUTTON_PLAY"],"Pornit") break end end else setElementData(inVehicle,"vehicle:receiver",false) setElementData(inVehicle,"vehicle:directive",nil) guiSetText(radio["BUTTON_PLAY"],"Oprit") end end,false) guiSetVisible(radio["WINDOW"],false) end) --[[ bindKey("u","down",function() local inVehicle = getPedOccupiedVehicle(getLocalPlayer()) if inVehicle then guiSetVisible(radio["WINDOW"],not guiGetVisible(radio["WINDOW"])) showCursor(not isCursorShowing()) guiGridListClear(radio["GRIDLIST"]) for i, data in ipairs(playlist) do local row = guiGridListAddRow(radio["GRIDLIST"]) guiGridListSetItemText(radio["GRIDLIST"],row,radio["COLUMN"],data[1],false,false) end if getElementData(inVehicle,"vehicle:receiver") == true then guiSetText(radio["BUTTON_PLAY"],"Включена") else guiSetText(radio["BUTTON_PLAY"],"Выключена") end end end) ]] addEventHandler( "onClientElementStreamIn", getRootElement( ),function ( ) if getElementType( source ) == "vehicle" then if getElementData(source,"vehicle:receiver") == true then attach3DSound(source,getElementData(source,"vehicle:directive")) end end end) addEventHandler( "onClientElementStreamOut", getRootElement( ),function ( ) if getElementType( source ) == "vehicle" then if getElementData(source,"vehicle:receiver") == true then detach3DSound(source) end end end) addEventHandler("onClientElementDataChange",getRootElement(),function(dataName) if getElementType(source) == "vehicle" then if dataName == "isExploded" and getElementData(source,"isExploded") == true and getElementData(source,"vehicle:receiver") == true then detach3DSound(source) end if dataName == "vehicle:receiver" and getElementData(source,"vehicle:receiver") == false then detach3DSound(source) end if dataName == "vehicle:receiver" and getElementData(source,"vehicle:receiver") == true then attach3DSound(source,getElementData(source,"vehicle:directive")) end end end) function detach3DSound(fromElement) if sounds[fromElement] ~= nil then local soundElement = sounds[fromElement] detachElements(soundElement,fromElement) stopSound(soundElement) sounds[fromElement] = nil end end addEvent("detach3DSound",true) addEventHandler("detach3DSound",getRootElement(),detach3DSound) function attach3DSound(toElement,directive) local x,y,z = getElementPosition(toElement) local soundElement = init3DSound(directive,x,y,z,toElement) sounds[toElement] = soundElement end addEvent("attach3DSound",true) addEventHandler("attach3DSound",getRootElement(),attach3DSound) function init3DSound(directive,x,y,z,toElement) local sound3d = playSound3D(directive,0,0,0) setSoundMaxDistance(sound3d,15) attachElements(sound3d,toElement,0,0,0) setElementData(toElement,"vehicle:directive",directive) setElementData(toElement,"vehicle:receiver",true) return sound3d end function updatePlayTime() if getElementData(getLocalPlayer(),"logedin") then local playtime = getElementData(getLocalPlayer(),"alivetime") setElementData(getLocalPlayer(),"alivetime",playtime+1) end end setTimer(updatePlayTime,60000,0) local rotate = 0 function renderComa() if getElementData(getLocalPlayer(),"isDead") then local otComa = getTimestamp() setElementData(getLocalPlayer(),"inComa",false) triggerServerEvent("setPedComaAnimation",getLocalPlayer(),false) removeEventHandler("onClientRender",root,renderComa) setElementData(getLocalPlayer(),"notComa",otComa+30*1000) end if rotate == 180 then if not hourglass then hourglass = setTimer(function() rotate = rotate+4 killTimer(hourglass) hourglass = false end,1000,1) end elseif rotate == 360 then if not hourglass2 then hourglass2 = setTimer(function() rotate = 0 killTimer(hourglass2) hourglass2 = false end,1000,1) end else rotate = rotate+4 end dxDrawImage((sW - 200) / 2, (sH - 200) / 2, 200, 200, "images/circle.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawImage((sW - 200) / 2, (sH - 200) / 2, 200, 200, "images/hourglass.png",rotate, 0, 0, tocolor(255, 255, 255, 255), false) end function checkBloodComa() if getElementData(getLocalPlayer(),"logedin") then if getElementData(getLocalPlayer(),"blood") < 3000 then -- if not getElementData(getLocalPlayer(),"inComa") and not getElementData(getLocalPlayer(),"isDead") then if getElementData(getLocalPlayer(),"notComa") > getTimestamp() then return end putPlayerInComa() end end end end setTimer(checkBloodComa,7000,0) function putPlayerInComa() if not getElementData(getLocalPlayer(),"inComa") and not getElementData(getLocalPlayer(),"isDead") then if isElementInWater(getLocalPlayer()) then return end setElementData(getLocalPlayer(),"inComa",true) triggerServerEvent("setPedComaAnimation",getLocalPlayer(),true) addEventHandler("onClientRender",root,renderComa) setTimer(finishComa,math.random(30,60)*1000,1) end end function finishComa() if getElementData(getLocalPlayer(),"inComa") and not getElementData(getLocalPlayer(),"isDead") then local otComa = getTimestamp() setElementData(getLocalPlayer(),"inComa",false) triggerServerEvent("setPedComaAnimation",getLocalPlayer(),false) removeEventHandler("onClientRender",root,renderComa) setElementData(getLocalPlayer(),"notComa",otComa+30*1000) end end function getTimestamp(year, month, day, hour, minute, second) local monthseconds = { 2678400, 2419200, 2678400, 2592000, 2678400, 2592000, 2678400, 2678400, 2592000, 2678400, 2592000, 2678400 } local timestamp = 0 local datetime = getRealTime() year, month, day = year or datetime.year + 1900, month or datetime.month + 1, day or datetime.monthday hour, minute, second = hour or datetime.hour, minute or datetime.minute, second or datetime.second for i=1970, year-1 do timestamp = timestamp + (isLeapYear(i) and 31622400 or 31536000) end for i=1, month-1 do timestamp = timestamp + ((isLeapYear(year) and i == 2) and 2505600 or monthseconds[i]) end timestamp = timestamp + 86400 * (day - 1) + 3600 * hour + 60 * minute + second timestamp = timestamp - 3600 if datetime.isdst then timestamp = timestamp - 3600 end return timestamp end function isLeapYear(year) if year then year = math.floor(year) else year = getRealTime().year + 1900 end return ((year % 4 == 0 and year % 100 ~= 0) or year % 400 == 0) end function drawPlayersInTeam (x,y) local gangname = getElementData(getLocalPlayer(),"gang") if gangname then if gangname == "None" then return end for i, player in ipairs(getElementsByType("player")) do if gangname == getElementData(player,"gang") and player ~= localPlayer then local playerx,playery = getElementPosition ( player ) local _,_,rotplayer = getElementRotation( player ) if getDistanceBetweenPoints2D ( x,y,playerx,playery) < 200 then local markx, marky if x > 0 and y > 0 then markx, marky = centerleft+(math.abs(playerx/2)-math.abs(x/2)), centerleft-(math.abs(playery/2)-math.abs(y/2)) elseif x < 0 and y < 0 then markx, marky = centerleft-(math.abs(playerx/2)-math.abs(x/2)), centerleft+(math.abs(playery/2)-math.abs(y/2)) elseif x < 0 and y > 0 then markx, marky = centerleft-(math.abs(playerx/2)-math.abs(x/2)), centerleft-(math.abs(playery/2)-math.abs(y/2)) elseif x > 0 and y < 0 then markx, marky = centerleft+(math.abs(playerx/2)-math.abs(x/2)), centerleft+(math.abs(playery/2)-math.abs(y/2)) end dxDrawImage(markx-(playerSizeX/2), marky-(playerSizeY/2), playerSizeX, playerSizeY, playerTexture,-rotplayer, 0, 0, tocolor(0, 0, 255, 255)) end end end else return true end end function createGPS() if getElementData(getLocalPlayer(),"logedin") then local x,y = getElementPosition(getLocalPlayer()) local _, _,camrot = getElementRotation(getCamera()) dxSetRenderTarget(rr) dxDrawImageSection(0,0,xsize,xsize,1500+x/2-centerleft,1500-y/2-centerleft,xsize,xsize,mapTexture,0,0,0) drawPlayersInTeam(x,y) dxSetRenderTarget() dxSetRenderTarget(rr2) dxDrawImage(0,0,xsize,xsize,rr,camrot) dxSetRenderTarget() dxDrawImageSection(mapX+20,mapY-81,mapSizeX,mapSizeY,(xsize-mapSizeX)/2,(xsize-mapSizeY)/2,mapSizeX,mapSizeY,rr2,0,0,0) dxDrawImage(playerX-playerSizeX/2,playerY-playerSizeY/2,playerSizeX,playerSizeY,playerTexture,0,0,0,tocolor(255, 0, 0, 255)) dxDrawImage(mapX+7,mapY-103,gpsX,gpsY,gpsTexture) end end --addEventHandler("onClientRender", getRootElement(), createGPS) addEventHandler ( "onClientElementDataChange", getRootElement(), function ( dataName, oldValue ) if source == localPlayer and dataName == "GPS" then local newValue = getElementData ( localPlayer, "GPS" ) or 0 oldValue = oldValue or 0 if oldValue <= 0 and newValue > 0 then addEventHandler("onClientRender", getRootElement(), createGPS) elseif oldValue > 0 and newValue <= 0 then removeEventHandler("onClientRender", getRootElement(), createGPS) end end end ) fixbag = { {"Fumigenă",17}, {"Flashbang",18}, {"Grenadă M67",16}, {"Cuțit de vânătoare",4}, {"Topor",8}, {"Binoclu",43}, {"Bâtă de Baseball",5}, {"Bâtă de golf",2}, {"Drujbă",9}, {"Lopată",6}, {"Pumni",0}, } function renderHUD() local weaponfix = getElementData(getLocalPlayer(),"currentweapon_1") if getElementData(getLocalPlayer(),"logedin") then local zone = getZoneName (getElementPosition(getLocalPlayer())) local x,y = guiGetScreenSize() local paint_color = tocolor(255,255,255) local hud_size = 1 local font = "sans" local text_size = dxGetFontHeight ( hud_size, font ) local screenWidth,screenHeight = guiGetScreenSize() local bX, bY = screenWidth/2,screenHeight/2 clip = getPedAmmoInClip ( getLocalPlayer() ) bala = getPedTotalAmmo ( getLocalPlayer() )-clip setPlayerHudComponentVisible ("weapon", false ) setPlayerHudComponentVisible ("ammo", false) setPlayerHudComponentVisible ("clock", false) if bala < 0 then bala = 0 end local x, y = guiGetScreenSize ( ) posy3= 5 posx2= x-55 posy2= posy3+text_size posx3= x-55 local weap = getElementData (localPlayer,"selectedWeapon") local ammotext = clip .." | "..bala local xlenght = x-20 if weap then for _, fix in ipairs(fixbag) do if getPedWeapon(getLocalPlayer()) >= 18 and getPedWeapon(getLocalPlayer()) < 43 then dxDrawText(weap,posx2-289, posy3+text_size+1, xlenght, y,tocolor(0,0,0,255),hud_size,font,"right","top",false,false,false) dxDrawText(weap,posx3-290, posy3+text_size, xlenght, y,paint_color,hud_size,font,"right","top",false,false,false) elseif getPedWeapon(getLocalPlayer()) == fix[2] then dxDrawText(fix[1],posx2-289, posy3+text_size+1, xlenght, y,tocolor(0,0,0,255),hud_size,font,"right","top",false,false,false) dxDrawText(fix[1],posx3-290, posy3+text_size, xlenght, y,paint_color,hud_size,font,"right","top",false,false,false) end if getPedWeapon(getLocalPlayer()) > 9 then dxDrawText(""..ammotext,posx3-289, posy2+text_size+1, xlenght, y,tocolor(0,0,0,255),hud_size,font,"right","top",false,false,false) dxDrawText(""..ammotext,posx3-290, posy2+text_size, xlenght, y,paint_color,hud_size,font,"right","top",false,false,false) end end end dxDrawText(zone, screenWidth * 0.01, screenHeight* 0.981, xlenght, y,tocolor(0,0,0,255),hud_size,font,"left","top",false,false,false) dxDrawText(zone, screenWidth * 0.01, screenHeight* 0.98, xlenght, y,paint_color,hud_size,font,"left","top",false,false,false) if getElementData(getLocalPlayer(),"Ceas") >= 1 then local hour, minutes = getTime() if minutes < 10 then add0 = "0" else add0 = "" end local time = hour..":"..add0..""..minutes dxDrawText(time,x*0.93-1,posy2+text_size*2+1, xlenght, y,tocolor(0,0,0,255),hud_size+0.1,font,"right","top",false,false,false) dxDrawText(time,x*0.93,posy2+text_size*2, xlenght, y,paint_color,hud_size+0.1,font,"right","top",false,false,false) end end end addEventHandler("onClientRender",getRootElement(),renderHUD) --[[ function shakeCamera(weapon) x,y,z = getPedBonePosition ( getLocalPlayer(), 26 ) if weapon == 22 then createExplosion ( x,y,z + 10,12,false,0.1,false) elseif weapon == 24 then createExplosion ( x,y,z + 10,12,false,0.2,false) elseif weapon == 25 then createExplosion ( x,y,z + 10,12,false,0.4,false) elseif weapon == 26 then createExplosion ( x,y,z + 10,12,false,0.5,false) elseif weapon == 27 then createExplosion ( x,y,z + 10,12,false,0.4,false) elseif weapon == 28 then createExplosion ( x,y,z + 10,12,false,0.1,false) elseif weapon == 29 then createExplosion ( x,y,z + 10,12,false,0.1,false) elseif weapon == 30 then createExplosion ( x,y,z+10,12,false,0.1,false) elseif weapon == 31 then createExplosion ( x,y,z + 10,12,false,0.1,false) elseif weapon == 32 then createExplosion ( x,y,z + 10,12,false,0.1,false) elseif weapon == 33 then createExplosion ( x,y,z + 10,12,false,0.1,false) elseif weapon == 38 then createExplosion ( x,y,z + 10,12,false,0.5,false) end end addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), shakeCamera ) ]] Thanks in advance ^^ Link to comment
3aGl3 Posted April 28, 2017 Share Posted April 28, 2017 (edited) I guess that either the render target could not be created successfully or that rr is used somewhere else. Since you never set the scope of rr it's a global variable for the entire client side. To eliminate that possibility just add this to the top of the script: local rr, rr2 If that doesn't fix the error it's likely that the creation of the render target failed, you can't do anything about that. Edit: Just to clarify, "you can't do anything about that" means that render target creation fails because of hardware limitations. So if you can reduce memory usage that could possibly fix the problem. Edited April 28, 2017 by 3aGl3 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