India Posted February 4, 2021 Share Posted February 4, 2021 I am using script for f11 map, problem is when i open f11 some scripts shows on infront of the map, here is picture what i mean, when i press the F11 i just want map to show on the screen, i want the rest scripts to hide when map opened https://i.ibb.co/JzLf7Cr/mta-screen-2021-02-04-17-24-38.png[/img] client: local screenW,screenH = guiGetScreenSize() local middleX,middleY = screenW/2,screenH/2 local localPlayer = getLocalPlayer() local thisResource = getThisResource() local toggle = false local zoom = 1 local zoomRate = 0.1 local movementSpeed = 5 local minZoomLimit = 1 local maxZoomLimit = 5 local xOffset = 0 local yOffset = 0 local x,y = 0,0 local hSize,vSize = 0,0 local R,G,B,A = 255,255,255,175 local mapDrawColor = tocolor(R,G,B,A) local normalColor = tocolor(255,255,255,255) local mapFile = ":maximap/images/radar.png" local topLeftWorldX,topLeftWorldY = -3000,3000 local lowerRightWorldX,lowerRightWorldY = 3000,-3000 local mapWidth,mapHeight = 6000,6000 local pixelsPerMeter = screenH/6000 local imageOwnerResource = getThisResource() toggleControl("radar",false) local abs=math.abs function calculateFirstCoordinates() -- This function is for making export functions work without the map having been opened once hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom end addEventHandler("onClientResourceStart",getResourceRootElement(),calculateFirstCoordinates) function unloadImageOnOwnerResourceStop(resource) if resource==imageOwnerResource and resource~=thisResource then setPlayerMapImage() end end addEventHandler("onClientResourceStop",getRootElement(),unloadImageOnOwnerResourceStop) function drawMap() if not toggle then dxDrawImage(0,0,0,0,mapFile,0,0,0,0,false) -- This is actually important, because otherwise you'd get huge lag when opening the maximap after a while (it seems to unload the image after a short while) else checkMovement() hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,false) drawRadarAreas() drawBlips() drawLocalPlayerArrow() end end addEventHandler("onClientPreRender",getRootElement(),drawMap) function drawRadarAreas() local radarareas=getElementsByType("radararea") if #radarareas>0 then local tick=abs(getTickCount()%1000-500) local aFactor=tick/500 for k,v in ipairs(radarareas) do local x,y=getElementPosition(v) local sx,sy=getRadarAreaSize(v) local r,g,b,a=getRadarAreaColor(v) local flashing=isRadarAreaFlashing(v) if flashing then a=a*aFactor end local hx1,hy1 = getMapFromWorldPosition(x,y+sy) local hx2,hy2 = getMapFromWorldPosition(x+sx,y) local width = hx2-hx1 local height = hy2-hy1 dxDrawRectangle(hx1,hy1,width,height,tocolor(r,g,b,a),false) end end end function drawBlips() for k,v in ipairs(getElementsByType("blip")) do if not getElementData(v,"DoNotDrawOnMaximap") then local icon=getBlipIcon(v) or 0 local size=(getBlipSize(v) or 2)*4 local r,g,b,a=getBlipColor(v) if icon~=0 then r,g,b=255,255,255 size=16 end local x,y,z=getElementPosition(v) x,y=getMapFromWorldPosition(x,y) local halfsize=size/2 dxDrawImage(x-halfsize,y-halfsize,size,size,"images/blips/"..icon..".png",0,0,0,tocolor(r,g,b,a),false) end end end function drawLocalPlayerArrow() local x,y,z=getElementPosition(localPlayer) local r=getPedRotation(localPlayer) local mapX,mapY=getMapFromWorldPosition(x,y) dxDrawImage(mapX-8,mapY-8,16,16,"images/blips/2.png",(-r)%360,0,0,normalColor,false) end function zoomOutRecalculate() local newVSize=pixelsPerMeter*mapHeight*zoom if newVSize>screenH then local newY=middleY-newVSize/2+yOffset*zoom if newY>0 then yOffset=-(middleY-newVSize/2)/zoom elseif newY<=(-newVSize+screenH) then yOffset=(middleY-newVSize/2)/zoom end else yOffset=0 end local newHSize=pixelsPerMeter*mapWidth*zoom if newHSize>screenW then local newX=middleX-newHSize/2+xOffset*zoom if newX>=0 then xOffset=-(middleX-newHSize/2)/zoom elseif newX<=(-newHSize+screenW) then xOffset=(middleX-newHSize/2)/zoom end else xOffset=0 end end function checkMovement() -- Zoom if getPedControlState("radar_zoom_in") and zoom<maxZoomLimit then zoom=zoom+zoomRate if zoom>maxZoomLimit then zoom=maxZoomLimit end elseif getPedControlState("radar_zoom_out") and zoom>minZoomLimit then zoom=zoom-zoomRate if zoom<minZoomLimit then zoom=minZoomLimit end zoomOutRecalculate() end -- Move if getPedControlState("radar_move_north") then local newY=y-yOffset*zoom+(yOffset+movementSpeed)*zoom if newY<0 then yOffset=yOffset+movementSpeed end end if getPedControlState("radar_move_south") then local newY=y-yOffset*zoom+(yOffset-movementSpeed)*zoom if newY>(-vSize+screenH) then yOffset=yOffset-movementSpeed end end if getPedControlState("radar_move_west") then local newXOff=(xOffset+movementSpeed) local newX=x-xOffset*zoom+newXOff*zoom if newX<0 then xOffset=xOffset+movementSpeed end end if getPedControlState("radar_move_east") then local newX=x-xOffset*zoom+(xOffset-movementSpeed)*zoom if newX>(-hSize+screenW) then xOffset=xOffset-movementSpeed end end end addEvent("onClientPlayerMapHide") addEvent("onClientPlayerMapShow") setElementData(getLocalPlayer(),"mapRender",true) function toggleMap() if not getElementData(getLocalPlayer(),"logedin") then return end if not getElementData(getLocalPlayer(),"mapRender") then return end if getElementData(getLocalPlayer(),"Harita") < 1 then return end --Eğer Harita var ise F11 Haritayı Açar. if toggle then if triggerEvent("onClientPlayerMapHide",getRootElement(),false) then toggle=false end else if triggerEvent("onClientPlayerMapShow",getRootElement(),false) then toggle=true end end end bindKey("F11","up",toggleMap) -- Export functions function getPlayerMapBoundingBox() return x,y,x+hSize,y+vSize end function setPlayerMapBoundingBox(startX,startY,endX,endY) if type(startX)=="number" and type(startY)=="number" and type(endX)=="number" and type(endY)=="number" then -- TODO return true end return false end function isPlayerMapVisible() return toggle end function setPlayerMapVisible(newToggle) if type(newToggle)=="boolean" then toggle=newToggle if toggle then triggerEvent("onClientPlayerMapShow",getRootElement(),true) else triggerEvent("onClientPlayerMapHide",getRootElement(),true) end return true end return false end function getMapFromWorldPosition(worldX,worldY) local mapX=x+pixelsPerMeter*(worldX-topLeftWorldX)*zoom local mapY=y+pixelsPerMeter*(topLeftWorldY-worldY)*zoom return mapX,mapY end function getWorldFromMapPosition(mapX,mapY) local worldX=topLeftWorldX+mapWidth/hSize*(mapX-x) local worldY=topLeftWorldY-mapHeight/vSize*(mapY-y) return worldX,worldY end function setPlayerMapImage(image,tLX,tLY,lRX,lRY) if image and type(image)=="string" and type(tLX)=="number" and type(tLY)=="number" and type(lRX)=="number" and type(lRY)=="number" then sourceResource = sourceResource or thisResource if string.find(image,":")~=1 then sourceResourceName = getResourceName(sourceResource) image = ":"..sourceResourceName.."/"..image end if dxDrawImage(0,0,0,0,image,0,0,0,0,false) then imageOwnerResource = sourceResource mapFile = image topLeftWorldX,topLeftWorldY = tLX,tLY lowerRightWorldX,lowerRightWorldY = lRX,lRY mapWidth,mapHeight = lRX-tLX,tLY-lRY pixelsPerMeter = math.min(screenW/(mapWidth),screenH/mapHeight) zoom = 1 xOffset = 0 yOffset = 0 return true end elseif not image then imageOwnerResource = thisResource mapFile = ":maximap/images/radar.jpg" topLeftWorldX,topLeftWorldY = -3000,3000 lowerRightWorldX,lowerRightWorldY = 3000,-3000 mapWidth,mapHeight = 6000,6000 pixelsPerMeter = screenH/6000 zoom = 1 xOffset = 0 yOffset = 0 return true end return false end function getPlayerMapImage() return mapFile end function setPlayerMapColor(r,g,b,a) local color=tocolor(r,g,b,a) if color then mapDrawColor = color R,G,B,A = r,g,b,a return true end return false end function setPlayerMapMovementSpeed(s) if type(s)=="number" then movementSpeed=s return true end return false end function getPlayerMapMovementSpeed() return movementSpeed end function getPlayerMapZoomFactor() return zoom end function getPlayerMapZoomRate() return zoomRate end function getBlipShowingOnMaximap(blip) if isElement(blip) and getElementType(blip)=="blip" then return not getElementData(blip,"DoNotDrawOnMaximap") end return false end function setBlipShowingOnMaximap(blip,toggle) if isElement(blip) and getElementType(blip)=="blip" and type(toggle)=="boolean" then return setElementData(blip,"DoNotDrawOnMaximap",not toggle,false) end return false end function setPlayerMapZoomFactor(z) if type(z)=="number" then if z>=minZoomLimit and z<=maxZoomLimit then local prevZoom=zoom zoom=z if z<prevZoom then zoomOutRecalculate() end return true end end return false end function setPlayerMapZoomRate(z) if type(z)=="number" then zoomRate=z return true end return false end function setPlayerMapMinZoomLimit(l) if type(l)=="number" then minZoomLimit=l return true end return false end function setPlayerMapMaxZoomLimit(l) if type(l)=="number" then maxZoomLimit=l return true end return false end function getPlayerMapMinZoomLimit() return minZoomLimit end function getPlayerMapMaxZoomLimit() return maxZoomLimit end function getPlayerMapColor() return R,G,B,A end Link to comment
SpecT Posted February 4, 2021 Share Posted February 4, 2021 To toggle the chat you can add showChat(false) when the map is opened and showChat(true) when the map is hidden. About the radar and the other info you should make some changes to their code. In the map client file you should add in the toggleMap() function 2 setElementData where the map is shown and hidden. setElementData(localPlayer, "mapShown", true,false) -- shown setElementData(localPlayer, "mapShown", false,false) -- hidden Then in the client files of the other resources I told you above (radar and the info on the right corner) you will need to add this in the functions which are triggered "onClientRender": if not getElementData(localPlayer, "mapShown") then return end Link to comment
koragg Posted February 5, 2021 Share Posted February 5, 2021 Use isPlayerMapVisible in the rendering / enabling functions of those resources like this: if isPlayerMapVisible() then return end Link to comment
India Posted February 5, 2021 Author Share Posted February 5, 2021 (edited) 10 hours ago, koragg said: Use isPlayerMapVisible in the rendering / enabling functions of those resources like this: if isPlayerMapVisible() then return end already there is code like this Edited February 5, 2021 by India Link to comment
SpecT Posted February 5, 2021 Share Posted February 5, 2021 14 hours ago, India said: Not works What exactly doesn't work ? Can you show what you have tried ? Link to comment
India Posted February 5, 2021 Author Share Posted February 5, 2021 1 hour ago, SpecT said: What exactly doesn't work ? Can you show what you have tried ? Here is my lua, can't you add what u mean? local screenW,screenH = guiGetScreenSize() local middleX,middleY = screenW/2,screenH/2 local localPlayer = getLocalPlayer() local thisResource = getThisResource() local toggle = false local zoom = 1 local zoomRate = 0.1 local movementSpeed = 5 local minZoomLimit = 1 local maxZoomLimit = 5 local xOffset = 0 local yOffset = 0 local x,y = 0,0 local hSize,vSize = 0,0 local R,G,B,A = 255,255,255,175 local mapDrawColor = tocolor(R,G,B,A) local normalColor = tocolor(255,255,255,255) local mapFile = ":maximap/images/radar.png" local topLeftWorldX,topLeftWorldY = -3000,3000 local lowerRightWorldX,lowerRightWorldY = 3000,-3000 local mapWidth,mapHeight = 6000,6000 local pixelsPerMeter = screenH/6000 local imageOwnerResource = getThisResource() toggleControl("radar",false) local abs=math.abs function calculateFirstCoordinates() -- This function is for making export functions work without the map having been opened once hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom end addEventHandler("onClientResourceStart",getResourceRootElement(),calculateFirstCoordinates) function unloadImageOnOwnerResourceStop(resource) if resource==imageOwnerResource and resource~=thisResource then setPlayerMapImage() end end addEventHandler("onClientResourceStop",getRootElement(),unloadImageOnOwnerResourceStop) function drawMap() if not toggle then dxDrawImage(0,0,0,0,mapFile,0,0,0,0,false) -- This is actually important, because otherwise you'd get huge lag when opening the maximap after a while (it seems to unload the image after a short while) else checkMovement() hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,false) drawRadarAreas() drawBlips() drawLocalPlayerArrow() end end addEventHandler("onClientPreRender",getRootElement(),drawMap) function drawRadarAreas() local radarareas=getElementsByType("radararea") if #radarareas>0 then local tick=abs(getTickCount()%1000-500) local aFactor=tick/500 for k,v in ipairs(radarareas) do local x,y=getElementPosition(v) local sx,sy=getRadarAreaSize(v) local r,g,b,a=getRadarAreaColor(v) local flashing=isRadarAreaFlashing(v) if flashing then a=a*aFactor end local hx1,hy1 = getMapFromWorldPosition(x,y+sy) local hx2,hy2 = getMapFromWorldPosition(x+sx,y) local width = hx2-hx1 local height = hy2-hy1 dxDrawRectangle(hx1,hy1,width,height,tocolor(r,g,b,a),false) end end end function drawBlips() for k,v in ipairs(getElementsByType("blip")) do if not getElementData(v,"DoNotDrawOnMaximap") then local icon=getBlipIcon(v) or 0 local size=(getBlipSize(v) or 2)*4 local r,g,b,a=getBlipColor(v) if icon~=0 then r,g,b=255,255,255 size=16 end local x,y,z=getElementPosition(v) x,y=getMapFromWorldPosition(x,y) local halfsize=size/2 dxDrawImage(x-halfsize,y-halfsize,size,size,"images/blips/"..icon..".png",0,0,0,tocolor(r,g,b,a),false) end end end function drawLocalPlayerArrow() local x,y,z=getElementPosition(localPlayer) local r=getPedRotation(localPlayer) local mapX,mapY=getMapFromWorldPosition(x,y) dxDrawImage(mapX-8,mapY-8,16,16,"images/blips/2.png",(-r)%360,0,0,normalColor,false) end function zoomOutRecalculate() local newVSize=pixelsPerMeter*mapHeight*zoom if newVSize>screenH then local newY=middleY-newVSize/2+yOffset*zoom if newY>0 then yOffset=-(middleY-newVSize/2)/zoom elseif newY<=(-newVSize+screenH) then yOffset=(middleY-newVSize/2)/zoom end else yOffset=0 end local newHSize=pixelsPerMeter*mapWidth*zoom if newHSize>screenW then local newX=middleX-newHSize/2+xOffset*zoom if newX>=0 then xOffset=-(middleX-newHSize/2)/zoom elseif newX<=(-newHSize+screenW) then xOffset=(middleX-newHSize/2)/zoom end else xOffset=0 end end function checkMovement() -- Zoom if getPedControlState("radar_zoom_in") and zoom<maxZoomLimit then zoom=zoom+zoomRate if zoom>maxZoomLimit then zoom=maxZoomLimit end elseif getPedControlState("radar_zoom_out") and zoom>minZoomLimit then zoom=zoom-zoomRate if zoom<minZoomLimit then zoom=minZoomLimit end zoomOutRecalculate() end -- Move if getPedControlState("radar_move_north") then local newY=y-yOffset*zoom+(yOffset+movementSpeed)*zoom if newY<0 then yOffset=yOffset+movementSpeed end end if getPedControlState("radar_move_south") then local newY=y-yOffset*zoom+(yOffset-movementSpeed)*zoom if newY>(-vSize+screenH) then yOffset=yOffset-movementSpeed end end if getPedControlState("radar_move_west") then local newXOff=(xOffset+movementSpeed) local newX=x-xOffset*zoom+newXOff*zoom if newX<0 then xOffset=xOffset+movementSpeed end end if getPedControlState("radar_move_east") then local newX=x-xOffset*zoom+(xOffset-movementSpeed)*zoom if newX>(-hSize+screenW) then xOffset=xOffset-movementSpeed end end end addEvent("onClientPlayerMapHide") addEvent("onClientPlayerMapShow") setElementData(getLocalPlayer(),"mapRender",true) function toggleMap() if not getElementData(getLocalPlayer(),"logedin") then return end if not getElementData(getLocalPlayer(),"mapRender") then return end if getElementData(getLocalPlayer(),"Harita") < 1 then return end --Eğer Harita var ise F11 Haritayı Açar. if toggle then if triggerEvent("onClientPlayerMapHide",getRootElement(),false) then toggle=false end else if triggerEvent("onClientPlayerMapShow",getRootElement(),false) then toggle=true end end end bindKey("F11","up",toggleMap) -- Export functions function getPlayerMapBoundingBox() return x,y,x+hSize,y+vSize end function setPlayerMapBoundingBox(startX,startY,endX,endY) if type(startX)=="number" and type(startY)=="number" and type(endX)=="number" and type(endY)=="number" then -- TODO return true end return false end function isPlayerMapVisible() return toggle end function setPlayerMapVisible(newToggle) if type(newToggle)=="boolean" then toggle=newToggle if toggle then triggerEvent("onClientPlayerMapShow",getRootElement(),true) else triggerEvent("onClientPlayerMapHide",getRootElement(),true) end return true end return false end function getMapFromWorldPosition(worldX,worldY) local mapX=x+pixelsPerMeter*(worldX-topLeftWorldX)*zoom local mapY=y+pixelsPerMeter*(topLeftWorldY-worldY)*zoom return mapX,mapY end function getWorldFromMapPosition(mapX,mapY) local worldX=topLeftWorldX+mapWidth/hSize*(mapX-x) local worldY=topLeftWorldY-mapHeight/vSize*(mapY-y) return worldX,worldY end function setPlayerMapImage(image,tLX,tLY,lRX,lRY) if image and type(image)=="string" and type(tLX)=="number" and type(tLY)=="number" and type(lRX)=="number" and type(lRY)=="number" then sourceResource = sourceResource or thisResource if string.find(image,":")~=1 then sourceResourceName = getResourceName(sourceResource) image = ":"..sourceResourceName.."/"..image end if dxDrawImage(0,0,0,0,image,0,0,0,0,false) then imageOwnerResource = sourceResource mapFile = image topLeftWorldX,topLeftWorldY = tLX,tLY lowerRightWorldX,lowerRightWorldY = lRX,lRY mapWidth,mapHeight = lRX-tLX,tLY-lRY pixelsPerMeter = math.min(screenW/(mapWidth),screenH/mapHeight) zoom = 1 xOffset = 0 yOffset = 0 return true end elseif not image then imageOwnerResource = thisResource mapFile = ":maximap/images/radar.jpg" topLeftWorldX,topLeftWorldY = -3000,3000 lowerRightWorldX,lowerRightWorldY = 3000,-3000 mapWidth,mapHeight = 6000,6000 pixelsPerMeter = screenH/6000 zoom = 1 xOffset = 0 yOffset = 0 return true end return false end function getPlayerMapImage() return mapFile end function setPlayerMapColor(r,g,b,a) local color=tocolor(r,g,b,a) if color then mapDrawColor = color R,G,B,A = r,g,b,a return true end return false end function setPlayerMapMovementSpeed(s) if type(s)=="number" then movementSpeed=s return true end return false end function getPlayerMapMovementSpeed() return movementSpeed end function getPlayerMapZoomFactor() return zoom end function getPlayerMapZoomRate() return zoomRate end function getBlipShowingOnMaximap(blip) if isElement(blip) and getElementType(blip)=="blip" then return not getElementData(blip,"DoNotDrawOnMaximap") end return false end function setBlipShowingOnMaximap(blip,toggle) if isElement(blip) and getElementType(blip)=="blip" and type(toggle)=="boolean" then return setElementData(blip,"DoNotDrawOnMaximap",not toggle,false) end return false end function setPlayerMapZoomFactor(z) if type(z)=="number" then if z>=minZoomLimit and z<=maxZoomLimit then local prevZoom=zoom zoom=z if z<prevZoom then zoomOutRecalculate() end return true end end return false end function setPlayerMapZoomRate(z) if type(z)=="number" then zoomRate=z return true end return false end function setPlayerMapMinZoomLimit(l) if type(l)=="number" then minZoomLimit=l return true end return false end function setPlayerMapMaxZoomLimit(l) if type(l)=="number" then maxZoomLimit=l return true end return false end function getPlayerMapMinZoomLimit() return minZoomLimit end function getPlayerMapMaxZoomLimit() return maxZoomLimit end function getPlayerMapColor() return R,G,B,A end Link to comment
βurak Posted February 5, 2021 Share Posted February 5, 2021 function toggleMap() if not getElementData(getLocalPlayer(),"logedin") then return end if not getElementData(getLocalPlayer(),"mapRender") then return end if getElementData(getLocalPlayer(),"Harita") < 1 then return end --Eğer Harita var ise F11 Haritayı Açar. if toggle then showChat(true) setPlayerHudComponentVisible("radar", true) if triggerEvent("onClientPlayerMapHide",getRootElement(),false) then toggle=false end else showChat(false) setPlayerHudComponentVisible("radar", false) if triggerEvent("onClientPlayerMapShow",getRootElement(),false) then toggle=true end end end bindKey("F11","up",toggleMap) change this part of your code like this 1 Link to comment
India Posted February 6, 2021 Author Share Posted February 6, 2021 (edited) 16 hours ago, Burak5312 said: change this part of your code like this Hacı, F11 açtığımda radar HUD kalkıyor ama 1-2saniye sonra tekrar görünür hale geliyor. (Sorry for Turkish, he is Turkish people) Neden öyle olduğunu söyliyim survivorSystem_client.lua dosyasında böyle bir fonksiyon var setTimer yeri her 1saniye de resetliyor. O yüzden Map açıldıktan sonra radar görünür hale geliyor. Nasıl yaparız if getElementData(getLocalPlayer(),"logedin") then toggleControl ("radar",false) setPlayerHudComponentVisible ("clock",false) setPlayerHudComponentVisible ("radar",false) setPlayerHudComponentVisible ("money",false) setPlayerHudComponentVisible ("health",false) setPlayerHudComponentVisible ("weapon",false) setPlayerHudComponentVisible ("breath",false) setPlayerHudComponentVisible ("area_name", false ) setPlayerHudComponentVisible ("vehicle_name", false ) setPedTargetingMarkerEnabled(false) --(true) olarak yaparsan Karakter üstü Target işareti aktif hale gelir. -- if getElementData(getLocalPlayer(),"Harita") >= 1 then -- toggleControl ("radar",true) -- end if getElementData(getLocalPlayer(),"GPS") >= 1 then setPlayerHudComponentVisible ("radar",true) end if getElementData(getLocalPlayer(),"Saat") >= 1 then setPlayerHudComponentVisible ("clock",true) end end end setTimer(playerStatsClientSite,1000,0) Edited February 6, 2021 by India Link to comment
βurak Posted February 6, 2021 Share Posted February 6, 2021 (edited) if getElementData(getLocalPlayer(),"logedin") then toggleControl ("radar",false) setPlayerHudComponentVisible ("clock",false) if(isPlayerMapVisible() == true) then setPlayerHudComponentVisible ("radar",false) end setPlayerHudComponentVisible ("money",false) setPlayerHudComponentVisible ("health",false) setPlayerHudComponentVisible ("weapon",false) setPlayerHudComponentVisible ("breath",false) setPlayerHudComponentVisible ("area_name", false ) setPlayerHudComponentVisible ("vehicle_name", false ) setPedTargetingMarkerEnabled(false) --(true) olarak yaparsan Karakter üstü Target işareti aktif hale gelir. -- if getElementData(getLocalPlayer(),"Harita") >= 1 then -- toggleControl ("radar",true) -- end if getElementData(getLocalPlayer(),"GPS") >= 1 then if(isPlayerMapVisible() == false) then setPlayerHudComponentVisible ("radar",true) end end if getElementData(getLocalPlayer(),"Saat") >= 1 then setPlayerHudComponentVisible ("clock",true) end end end setTimer(playerStatsClientSite,1000,0) if ile kontrol edebilirsin ancak her 1 saniyede bir radarı neden kapatıyorsun ki? tek seferlik yapsan çalışacaktır birde isPlayerMapVisible fonksiyonu normal mta nın fonksiyonu o fonksiyonun ismini değiştirsen iyi olur sorun çıkartabilir birde map görününürlüğünü kontrol fonksiyon ile survival dediğin script ayrımı? ayrı ise farklı scriptler olduğu için exports kullan exports yoksa map scriptin meta.xml sine exports ile ekle o fonksiyonu Edited February 6, 2021 by Burak5312 1 Link to comment
India Posted February 6, 2021 Author Share Posted February 6, 2021 (edited) 2 hours ago, Burak5312 said: if ile kontrol edebilirsin ancak her 1 saniyede bir radarı neden kapatıyorsun ki? tek seferlik yapsan çalışacaktır birde isPlayerMapVisible fonksiyonu normal mta nın fonksiyonu o fonksiyonun ismini değiştirsen iyi olur sorun çıkartabilir birde map görününürlüğünü kontrol fonksiyon ile survival dediğin script ayrımı? ayrı ise farklı scriptler olduğu için exports kullan exports yoksa map scriptin meta.xml sine exports ile ekle o fonksiyonu Her saniyede bir radarı kapatmıyor. DayZ Oyun Modu olduğu için mesela, yerden GPS aldı 1saniye sonra GPS gösteriyor. setTimer kaldırırsam F11 açıp kapattıktan sonra GPS gözüküyor zaten export ekli. Bu attığın kod da "GPS" itemi olmasa GPS açık halde, ve F11 açıldğında hala önünde duruyor <export function="isPlayerMapVisible" type="client"/> Peki şöyle denesek; İlla F11 açıldığında radar kaldırmak zorunda değil, F11 açıldığında radar arkasında da kalabilir Edited February 6, 2021 by India Link to comment
βurak Posted February 6, 2021 Share Posted February 6, 2021 hmmm ozaman postgui parametresini true yap bakalım ne olcak function drawMap() if not toggle then dxDrawImage(0,0,0,0,mapFile,0,0,0,0,true) -- This is actually important, because otherwise you'd get huge lag when opening the maximap after a while (it seems to unload the image after a short while) else checkMovement() hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,false) drawRadarAreas() drawBlips() drawLocalPlayerArrow() end end addEventHandler("onClientPreRender",getRootElement(),drawMap) 1 Link to comment
India Posted February 6, 2021 Author Share Posted February 6, 2021 1 hour ago, Burak5312 said: hmmm ozaman postgui parametresini true yap bakalım ne olcak function drawMap() if not toggle then dxDrawImage(0,0,0,0,mapFile,0,0,0,0,true) -- This is actually important, because otherwise you'd get huge lag when opening the maximap after a while (it seems to unload the image after a short while) else checkMovement() hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,false) drawRadarAreas() drawBlips() drawLocalPlayerArrow() end end addEventHandler("onClientPreRender",getRootElement(),drawMap) Değişiklik yok xd Link to comment
βurak Posted February 6, 2021 Share Posted February 6, 2021 (edited) local screenW,screenH = guiGetScreenSize() local middleX,middleY = screenW/2,screenH/2 local localPlayer = getLocalPlayer() local thisResource = getThisResource() local toggle = false local zoom = 1 local zoomRate = 0.1 local movementSpeed = 5 local minZoomLimit = 1 local maxZoomLimit = 5 local xOffset = 0 local yOffset = 0 local x,y = 0,0 local hSize,vSize = 0,0 local R,G,B,A = 255,255,255,175 local mapDrawColor = tocolor(R,G,B,A) local normalColor = tocolor(255,255,255,255) local mapFile = ":maximap/images/radar.png" local topLeftWorldX,topLeftWorldY = -3000,3000 local lowerRightWorldX,lowerRightWorldY = 3000,-3000 local mapWidth,mapHeight = 6000,6000 local pixelsPerMeter = screenH/6000 local imageOwnerResource = getThisResource() toggleControl("radar",false) local abs=math.abs function calculateFirstCoordinates() -- This function is for making export functions work without the map having been opened once hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom end addEventHandler("onClientResourceStart",getResourceRootElement(),calculateFirstCoordinates) function unloadImageOnOwnerResourceStop(resource) if resource==imageOwnerResource and resource~=thisResource then setPlayerMapImage() end end addEventHandler("onClientResourceStop",getRootElement(),unloadImageOnOwnerResourceStop) function drawMap() if not toggle then dxDrawImage(0,0,0,0,mapFile,0,0,0,0,true) -- This is actually important, because otherwise you'd get huge lag when opening the maximap after a while (it seems to unload the image after a short while) else checkMovement() hSize=pixelsPerMeter*mapWidth*zoom vSize=pixelsPerMeter*mapHeight*zoom x=middleX-hSize/2+xOffset*zoom y=middleY-vSize/2+yOffset*zoom dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,true) drawRadarAreas() drawBlips() drawLocalPlayerArrow() end end addEventHandler("onClientPreRender",getRootElement(),drawMap) function drawRadarAreas() local radarareas=getElementsByType("radararea") if #radarareas>0 then local tick=abs(getTickCount()%1000-500) local aFactor=tick/500 for k,v in ipairs(radarareas) do local x,y=getElementPosition(v) local sx,sy=getRadarAreaSize(v) local r,g,b,a=getRadarAreaColor(v) local flashing=isRadarAreaFlashing(v) if flashing then a=a*aFactor end local hx1,hy1 = getMapFromWorldPosition(x,y+sy) local hx2,hy2 = getMapFromWorldPosition(x+sx,y) local width = hx2-hx1 local height = hy2-hy1 dxDrawRectangle(hx1,hy1,width,height,tocolor(r,g,b,a),true) end end end function drawBlips() for k,v in ipairs(getElementsByType("blip")) do if not getElementData(v,"DoNotDrawOnMaximap") then local icon=getBlipIcon(v) or 0 local size=(getBlipSize(v) or 2)*4 local r,g,b,a=getBlipColor(v) if icon~=0 then r,g,b=255,255,255 size=16 end local x,y,z=getElementPosition(v) x,y=getMapFromWorldPosition(x,y) local halfsize=size/2 dxDrawImage(x-halfsize,y-halfsize,size,size,"images/blips/"..icon..".png",0,0,0,tocolor(r,g,b,a),true) end end end function drawLocalPlayerArrow() local x,y,z=getElementPosition(localPlayer) local r=getPedRotation(localPlayer) local mapX,mapY=getMapFromWorldPosition(x,y) dxDrawImage(mapX-8,mapY-8,16,16,"images/blips/2.png",(-r)%360,0,0,normalColor,true) end function zoomOutRecalculate() local newVSize=pixelsPerMeter*mapHeight*zoom if newVSize>screenH then local newY=middleY-newVSize/2+yOffset*zoom if newY>0 then yOffset=-(middleY-newVSize/2)/zoom elseif newY<=(-newVSize+screenH) then yOffset=(middleY-newVSize/2)/zoom end else yOffset=0 end local newHSize=pixelsPerMeter*mapWidth*zoom if newHSize>screenW then local newX=middleX-newHSize/2+xOffset*zoom if newX>=0 then xOffset=-(middleX-newHSize/2)/zoom elseif newX<=(-newHSize+screenW) then xOffset=(middleX-newHSize/2)/zoom end else xOffset=0 end end function checkMovement() -- Zoom if getPedControlState("radar_zoom_in") and zoom<maxZoomLimit then zoom=zoom+zoomRate if zoom>maxZoomLimit then zoom=maxZoomLimit end elseif getPedControlState("radar_zoom_out") and zoom>minZoomLimit then zoom=zoom-zoomRate if zoom<minZoomLimit then zoom=minZoomLimit end zoomOutRecalculate() end -- Move if getPedControlState("radar_move_north") then local newY=y-yOffset*zoom+(yOffset+movementSpeed)*zoom if newY<0 then yOffset=yOffset+movementSpeed end end if getPedControlState("radar_move_south") then local newY=y-yOffset*zoom+(yOffset-movementSpeed)*zoom if newY>(-vSize+screenH) then yOffset=yOffset-movementSpeed end end if getPedControlState("radar_move_west") then local newXOff=(xOffset+movementSpeed) local newX=x-xOffset*zoom+newXOff*zoom if newX<0 then xOffset=xOffset+movementSpeed end end if getPedControlState("radar_move_east") then local newX=x-xOffset*zoom+(xOffset-movementSpeed)*zoom if newX>(-hSize+screenW) then xOffset=xOffset-movementSpeed end end end addEvent("onClientPlayerMapHide") addEvent("onClientPlayerMapShow") setElementData(getLocalPlayer(),"mapRender",true) function toggleMap() if not getElementData(getLocalPlayer(),"logedin") then return end if not getElementData(getLocalPlayer(),"mapRender") then return end if getElementData(getLocalPlayer(),"Harita") < 1 then return end --Eğer Harita var ise F11 Haritayı Açar. if toggle then if triggerEvent("onClientPlayerMapHide",getRootElement(),false) then toggle=false end else if triggerEvent("onClientPlayerMapShow",getRootElement(),false) then toggle=true end end end bindKey("F11","up",toggleMap) -- Export functions function getPlayerMapBoundingBox() return x,y,x+hSize,y+vSize end function setPlayerMapBoundingBox(startX,startY,endX,endY) if type(startX)=="number" and type(startY)=="number" and type(endX)=="number" and type(endY)=="number" then -- TODO return true end return false end function isPlayerMapVisible() return toggle end function setPlayerMapVisible(newToggle) if type(newToggle)=="boolean" then toggle=newToggle if toggle then triggerEvent("onClientPlayerMapShow",getRootElement(),true) else triggerEvent("onClientPlayerMapHide",getRootElement(),true) end return true end return false end function getMapFromWorldPosition(worldX,worldY) local mapX=x+pixelsPerMeter*(worldX-topLeftWorldX)*zoom local mapY=y+pixelsPerMeter*(topLeftWorldY-worldY)*zoom return mapX,mapY end function getWorldFromMapPosition(mapX,mapY) local worldX=topLeftWorldX+mapWidth/hSize*(mapX-x) local worldY=topLeftWorldY-mapHeight/vSize*(mapY-y) return worldX,worldY end function setPlayerMapImage(image,tLX,tLY,lRX,lRY) if image and type(image)=="string" and type(tLX)=="number" and type(tLY)=="number" and type(lRX)=="number" and type(lRY)=="number" then sourceResource = sourceResource or thisResource if string.find(image,":")~=1 then sourceResourceName = getResourceName(sourceResource) image = ":"..sourceResourceName.."/"..image end if dxDrawImage(0,0,0,0,image,0,0,0,0,false) then imageOwnerResource = sourceResource mapFile = image topLeftWorldX,topLeftWorldY = tLX,tLY lowerRightWorldX,lowerRightWorldY = lRX,lRY mapWidth,mapHeight = lRX-tLX,tLY-lRY pixelsPerMeter = math.min(screenW/(mapWidth),screenH/mapHeight) zoom = 1 xOffset = 0 yOffset = 0 return true end elseif not image then imageOwnerResource = thisResource mapFile = ":maximap/images/radar.jpg" topLeftWorldX,topLeftWorldY = -3000,3000 lowerRightWorldX,lowerRightWorldY = 3000,-3000 mapWidth,mapHeight = 6000,6000 pixelsPerMeter = screenH/6000 zoom = 1 xOffset = 0 yOffset = 0 return true end return false end function getPlayerMapImage() return mapFile end function setPlayerMapColor(r,g,b,a) local color=tocolor(r,g,b,a) if color then mapDrawColor = color R,G,B,A = r,g,b,a return true end return false end function setPlayerMapMovementSpeed(s) if type(s)=="number" then movementSpeed=s return true end return false end function getPlayerMapMovementSpeed() return movementSpeed end function getPlayerMapZoomFactor() return zoom end function getPlayerMapZoomRate() return zoomRate end function getBlipShowingOnMaximap(blip) if isElement(blip) and getElementType(blip)=="blip" then return not getElementData(blip,"DoNotDrawOnMaximap") end return false end function setBlipShowingOnMaximap(blip,toggle) if isElement(blip) and getElementType(blip)=="blip" and type(toggle)=="boolean" then return setElementData(blip,"DoNotDrawOnMaximap",not toggle,false) end return false end function setPlayerMapZoomFactor(z) if type(z)=="number" then if z>=minZoomLimit and z<=maxZoomLimit then local prevZoom=zoom zoom=z if z<prevZoom then zoomOutRecalculate() end return true end end return false end function setPlayerMapZoomRate(z) if type(z)=="number" then zoomRate=z return true end return false end function setPlayerMapMinZoomLimit(l) if type(l)=="number" then minZoomLimit=l return true end return false end function setPlayerMapMaxZoomLimit(l) if type(l)=="number" then maxZoomLimit=l return true end return false end function getPlayerMapMinZoomLimit() return minZoomLimit end function getPlayerMapMaxZoomLimit() return maxZoomLimit end function getPlayerMapColor() return R,G,B,A end Edited February 6, 2021 by Burak5312 1 Link to comment
India Posted February 6, 2021 Author Share Posted February 6, 2021 (edited) 1 hour ago, Burak5312 said: Sağolasın hacı çok teşekkür ederim. İlgilendiğin için ve zamanın için Nasıl yaptığını da söyler misin hangi satır ile oynadın Edited February 6, 2021 by India Link to comment
βurak Posted February 6, 2021 Share Posted February 6, 2021 rica ederim dxDrawImage ve diğer dx fonksiyonların postGUI parametresi var sonunda true veya false onları true olarak değiştirdim bu şekilde diğer tüm yazıların ekranda ne varsa hepsinin üstüne yazıyor yani öncelik veriyor bunların hepsinin sonundaki parametreleri true yaptım dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,true) dxDrawImage(x,y,hSize,vSize,mapFile,0,0,0,mapDrawColor,true) dxDrawRectangle(hx1,hy1,width,height,tocolor(r,g,b,a),true) dxDrawImage(x-halfsize,y-halfsize,size,size,"images/blips/"..icon..".png",0,0,0,tocolor(r,g,b,a),true) dxDrawImage(mapX-8,mapY-8,16,16,"images/blips/2.png",(-r)%360,0,0,normalColor,true) bu arada likelarsan sevinirim 1 Link to comment
India Posted February 6, 2021 Author Share Posted February 6, 2021 1 hour ago, Burak5312 said: rica ederim dxDrawImage ve diğer dx fonksiyonların postGUI parametresi var sonunda true veya false onları true olarak değiştirdim bu şekilde diğer tüm yazıların ekranda ne varsa hepsinin üstüne yazıyor yani öncelik veriyor bunların hepsinin sonundaki parametreleri true yaptım. bu arada like atarsan sevinirim Anladım. Tekrar teşekkür ederim 1 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