FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    I need some help for the script.lua of my map

    Scheduled Pinned Locked Moved Mapping
    17 Posts 4 Posters 919 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Ghoustaq_14
      last edited by

      or give me some examples, I will try to study them

      Anachronism_A 1 Reply Last reply Reply Quote 0
      • Anachronism_A
        Anachronism_ @Ghoustaq_14
        last edited by

        @ghoustaq_14

        You can get the Tower Defense Survival map from the vault and look at the script file to see some code examples that you could learn from.

        pfp credit to gieb

        G 1 Reply Last reply Reply Quote 0
        • G
          Ghoustaq_14 @Anachronism_
          last edited by

          @penguin_ hello guy, I have written some codes for this function, but it doesn't work. Can you help fixing them?

          Here are the script codes:

          local ScenarioUtils = import('/lua/sim/ScenarioUtilities.lua')
          local ScenarioFramework = import('/lua/ScenarioFramework.lua')

          --units to be restricted
          local AIRbuildRestriction = categories.AIR + categories.EXPERIMENTAL + categories.STRATEGIC * (categories.TECH3) + categories.ANTIAIR * (categories.STRUCTURE) + categories.ANTIAIR * (categories.MOBILE)

          local rectSizeX = 5
          local rectSizeY = 5
          local radius = 3.5
          local distance = 2
          local Color0 = 'FFCEA984' -- CIVILIAN Color
          local Color1 = 'FFe80a0a' -- Cybran red
          local Color2 = 'ff2e8b57' -- new green
          local Color3 = 'FF2929e1' -- UEF blue
          local Color4 = 'ffa79602' -- Sera golden
          local Color5 = 'ffffffff' -- white
          local Color6 = 'FF2F4F4F' -- dark green
          local Color7 = 'ff000000' -- black
          local Color8 = 'ff901427' -- dark red
          local Color9 = 'ff40bf40' -- mid green
          local Color10 = 'FF5F01A7' -- dark purple
          local Color = {'FFe80a0a', 'ff2e8b57', 'FF2929e1', 'ffa79602', 'ffffffff', 'FF2F4F4F', 'ff000000', 'ff901427', 'ff40bf40', 'FF5F01A7'}

          function OnPopulate()
          ScenarioUtils.InitializeArmies()
          local tblArmy = ListArmies()
          for index, army in tblArmy do
          ScenarioFramework.AddRestriction(army, AIRbuildRestriction)
          end

          local self = import('/lua/sim/Entity.lua').Entity()
          for k = 1, 99 do
          	local entryName = 'Entry_' .. k
          	local exitName = 'Exit_' .. k
          	local midpointName = 'Midpoint_' .. k
          	local entryPos = ScenarioUtils.MarkerToPosition(entryName)
          	local exitPos = ScenarioUtils.MarkerToPosition(exitName)
          	local MIDPOINTPos = ScenarioUtils.MarkerToPosition(midpointName)
          	
          	ForkThread(TeleportThread, self, entryPos, exitPos)
          	CreateTeleportMaintenanceEffects(entryPos, exitPos)
          end
          

          end

          TeleportThread = function(self, entryPos, exitPos)
          local telUnits
          local killUnits
          local ferrymanX

          while true do
                      for INDEX, BRAIN in ArmyBrains do	
          	telUnits = BRAIN:GetUnitsAroundPoint( categories.MOBILE, entryPos, 3.5, 'Ally')
          	killUnits = BRAIN:GetUnitsAroundPoint( categories.MOBILE, exitPos, 3.5, 'Ally')
          	ferrymanX = BRAIN:GetUnitsAroundPoint( categories.ENGINEER, MIDPOINTPos, 5.5, 'Ally')
          
          	
          	if ferrymanX ~= nil then
          		if table.getn(ferrymanX) >= 1 then
          	if telUnits ~= nil then
          		if table.getn(telUnits) >= 1 then
          			for k, v in telUnits do
          				if table.find(v:GetBlueprint().Categories,'AIR')  then	
          				#v:GetPosition()
          				else
          				      local MaxHealthofUnit = v:GetMaxHealth()
          				      ForkThread(WarpThread,self, entryPos, exitPos, v)
          				end
          			end
          		end
          	end
          	if killUnits ~= nil then
          		if table.getn(killUnits) >= 1 then
          			for k, v in killUnits do
          				if table.find(v:GetBlueprint().Categories,'STRUCTURE') then
          					v:Destroy()
          				end
          			end
          		end
          	end
          	end
                              end
          	end
          	WaitSeconds(3)
          end
          

          end

          WarpThread = function(self, entryPos, exitPos, v)
          local ex, ey, ez = unpack(entryPos)
          local tx, ty, tz = unpack(exitPos)

          if table.find(v:GetBlueprint().Categories,'MOBILE') or table.find(v:GetBlueprint().Categories,'PROJECTILE') then
                 if ex >= tx and ez > tz then
          		Warp(v, Vector( tx-rectSizeX+Random(-rectSizeX/0.1, 0)/10, ty, tz-rectSizeX+Random(-rectSizeX/0.1, 0)/10))
          		#print('uzoom')
                 end
                 if ex >= tx and ez <= tz then
          		Warp(v, Vector( tx-rectSizeX+Random(-rectSizeX/0.1, 0)/10, ty, tz+rectSizeX+Random(0, rectSizeX/0.1)/10))
          		#print('uzoom')
                 end
                 if ex < tx and ez > tz then
          		Warp(v, Vector( tx+rectSizeX+Random(0, rectSizeX/0.1)/10, ty, tz-rectSizeX+Random(-rectSizeX/0.1, 0)/10))
          		#print('uzoom')
                 end
                 if ex < tx and ez <= tz then
          		Warp(v, Vector( tx+rectSizeX+Random(0, rectSizeX/0.1)/10, ty, tz+rectSizeX+Random(0, rectSizeX/0.1)/10))
          		#print('uzoom')
                 end
          elseif table.find(v:GetBlueprint().Categories,'STRUCTURE') then
          	v:Destroy()
          end
          

          end

          function CreateTeleportMaintenanceEffects (entryPos, exitPos)
          #local ex, ey, ez = unpack(entryPos)
          #local tx, ty, tz = unpack(exitPos)

          #CreateUnitHPR('uel0001', 1, ex - rectSizeX/2, ey,ez - rectSizeY/2 , -180, 0, 0) 
          #CreateUnitHPR('uel0001', 1, ex + rectSizeX/2, ey,ez - rectSizeY/2 , -180, 0, 0) 
          #CreateUnitHPR('uel0001', 1, ex - rectSizeX/2, ey,ez + rectSizeY/2 , -180, 0, 0) 
          #CreateUnitHPR('uel0001', 1, ex + rectSizeX/2, ey,ez + rectSizeY/2 , -180, 0, 0) 
          
          local entryEnt = import('/lua/sim/Entity.lua').Entity()
          local exitEnt = import('/lua/sim/Entity.lua').Entity()
          Warp(entryEnt, Vector(entryPos[1],entryPos[2] + 0.2,entryPos[3] ))
          Warp( exitEnt, Vector(exitPos[1],exitPos[2] + 0.2,exitPos[3] ))	
          

          end

          function CreateTeleportMaintenanceEffects (entryPos, exitPos)
          #local ex, ey, ez = unpack(entryPos)
          #local tx, ty, tz = unpack(exitPos)

          #CreateUnitHPR('uel0001', 1, ex - rectSizeX/2, ey,ez - rectSizeY/2 , -180, 0, 0) 
          #CreateUnitHPR('uel0001', 1, ex + rectSizeX/2, ey,ez - rectSizeY/2 , -180, 0, 0) 
          #CreateUnitHPR('uel0001', 1, ex - rectSizeX/2, ey,ez + rectSizeY/2 , -180, 0, 0) 
          #CreateUnitHPR('uel0001', 1, ex + rectSizeX/2, ey,ez + rectSizeY/2 , -180, 0, 0) 
          
          local entryEnt = import('/lua/sim/Entity.lua').Entity()
          local exitEnt = import('/lua/sim/Entity.lua').Entity()
          Warp(entryEnt, Vector(entryPos[1],entryPos[2] + 0.2,entryPos[3] ))
          Warp( exitEnt, Vector(exitPos[1],exitPos[2] + 0.2,exitPos[3] ))	
          

          end

          function OnStart(self)
          end

          Anachronism_A 1 Reply Last reply Reply Quote 0
          • maggeM
            magge Global Moderator
            last edited by

            The code style is just all messy in this forum. Just use pastebin.com to share your code. Or even better, GitHub.

            Join a FAFtastic Team

            G 2 Replies Last reply Reply Quote 0
            • Anachronism_A
              Anachronism_ @Ghoustaq_14
              last edited by

              @ghoustaq_14
              I suggest you join the FAF Discord, get the modder role in the #role-selection channel there, and then check out the #modification-resources channel and ask more specific questions in the #modding-general channel.

              pfp credit to gieb

              1 Reply Last reply Reply Quote 0
              • G
                Ghoustaq_14 @magge
                last edited by

                @magge Hi buddy, I have shared it on GitHub. Do me a favor please😊

                Click on this link below:
                https://github.com/Ghoustaq-14/code-share-for-FAF/blob/main/a warp-test

                1 Reply Last reply Reply Quote 0
                • G
                  Ghoustaq_14 @magge
                  last edited by

                  @magge said in I need some help for the script.lua of my map:

                  The code style is just all messy in this forum. Just use pastebin.com to share your code. Or even better, GitHub.

                  hey buddy! Do you have any idea of my codes? I don't know what's wrong with them🙄 Just give me some tips.Thanks so much😊

                  1 Reply Last reply Reply Quote 0
                  • maggeM
                    magge Global Moderator
                    last edited by

                    Sorry, I am not familiar with LUA.

                    Join a FAFtastic Team

                    1 Reply Last reply Reply Quote 0
                    • RoweyR
                      Rowey
                      last edited by

                      What code editor are you using as we do have a Intelisense plugin that's being worked on for faf which is located on the faforever GitHub

                      "The needs of the many outweigh the needs of the few" - Spock

                      G 2 Replies Last reply Reply Quote 0
                      • G
                        Ghoustaq_14 @Rowey
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • G
                          Ghoustaq_14 @Rowey
                          last edited by

                          @rowey said in I need some help for the script.lua of my map:

                          What code editor are you using as we do have a Intelisense plugin that's being worked on for faf which is located on the faforever GitHub

                          I use SciTE. Do you have a better choice?

                          1 Reply Last reply Reply Quote 0
                          • RoweyR
                            Rowey
                            last edited by

                            Majority use Visual Studio Code for development as that's what our Intelisense is created for

                            "The needs of the many outweigh the needs of the few" - Spock

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              Ghoustaq_14 @Rowey
                              last edited by

                              @rowey said in I need some help for the script.lua of my map:

                              Majority use Visual Studio Code for development as that's what our Intelisense is created for

                              OK, I have installed Visual Studio Code, can you tell me where to download the "Intelisense plugin"?😊 I cannot wait to try it.

                              1 Reply Last reply Reply Quote 0
                              • RoweyR
                                Rowey
                                last edited by Rowey

                                https://github.com/FAForever/fa-lua-vscode-extension

                                "The needs of the many outweigh the needs of the few" - Spock

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  Ghoustaq_14 @Rowey
                                  last edited by

                                  @rowey said in I need some help for the script.lua of my map:

                                  https://github.com/FAForever/fa-lua-vscode-extension

                                  Thank you for helping buddy👏 ,you are so kind

                                  1 Reply Last reply Reply Quote 0
                                  • RoweyR
                                    Rowey
                                    last edited by

                                    @Ghoustaq_14 Any other question feel free to reach out on the discord in adding yourself a role in #role-selection and give your self the mapping role and all the experience people live their and will be bale to aid you further

                                    "The needs of the many outweigh the needs of the few" - Spock

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post