跳转到帖子

Prof_hilactic

Members
  • 帖子数

    33
  • 注册日期

  • 上次访问

最新回复 发布由 Prof_hilactic

  1. Since 1.5.4 I have this custom mission that keep crashing.

    It happens 2 minutes in the mission just after the 2 F15 takes off and acquires targets.

     

    I tried the mission in 1.5.3 and it works no problem. I also transferred the mission on the Nevada map (2.0.2) to see if it was my script bugging DCS but it works without out any issue.

     

    I am including the mission, logs and crash dumps

     

    edit: added a.zip of the crash dump

     

    # -------------- 20160701-185616 --------------

     

    # C0000005 ACCESS_VIOLATION at B51DEBFF 00:00000000

    00000000 00000000 0000:00000000

    B51DEBFF 008FEAF0 0000:00000000 ?Parse@viObjectShape@@UEAAXAEAVModelParser@Graphics@@AEBVPosition3@@PEAV?$HeapVector@PEAVVolumeEffect@Graphics@@@@@Z()+3F

    FCED0CF8 008FEFB0 0000:00000000

    FCEFAE4E 008FF120 0000:00000000

    FCEBA5A3 008FF160 0000:00000000

    B7F7645F 008FF1E0 0000:00000000

    B7F769A5 008FF230 0000:00000000

    FD1184B8 008FF2A0 0000:00000000

    FD11E2D1 008FF300 0000:00000000

    FD10DC84 008FF330 0000:00000000

    FD10DBD4 008FF360 0000:00000000

    FCDED35F 008FFA10 0000:00000000

    FD2124E9 008FFA50 0000:00000000

    C13B8102 008FFA80 0000:00000000 BaseThreadInitThunk()+22

    C381C5B4 008FFAD0 0000:00000000 RtlUserThreadStart()+34

    test_sead_pat3.miz

    Logs.zip

  2. Hi

    I am trying to detect if a laser spot is inside a zone or not but I don t know if a Spot is an Object or not (i.e can I use world.searchObjects in conjunction with Spot?)

     

    test = 'test'
    local zone = trigger.misc.getZone(test)
    local Spots = {}
    
    local volume = {
       id = world.VolumeType.SPHERE,
       params = {
           point = zone.point,
           radius = zone.radius
       }
    }
    
    local jtac = Unit.getByName('jtac')
    local target = Unit.getByName('target'):getPoint()
    
    local ray = Spot.createInfraRed(jtac, {x = 0, y = 1, z = 0}, target, 1337)
    local spotloc = Spot.getPoint(ray)
    --trigger.action.smoke(spotloc, trigger.smokeColor.Green)
    
    local ifFound = function(Spots, data)
    trigger.action.smoke(spotloc, trigger.smokeColor.Green)
     data = Spot:getTypeName()
     env.info(data .. 'Spot Found')
     
      
     return true
    end
    env.info('test')
    
    world.searchObjects(Spot.Category.LASER, volume, ifFound, data)
    

     

    Any ideas?

    • Like 1
  3. Hi FlightControl,

     

    Great Job with MOOSE, I love it.

     

    I am trying to play around with the escort script but I have a problem with the escort attacking a target. They see the target but do not fire at it. They just follow me around dutifully even if I told them to shoot at it. What am I doing wrong?

     

    Also thank you for rescuing the SEAD script. it will prevent people to suffer through my bad lua programming :music_whistling:

    test_1.miz

  4. Not sure if it is a bug or a "feature", the DSMS do not save the different setting for the CBU-97.

     

    If I select some CBU-97 go into Prof to change to CCRP

    click save

    go to setting

    set the min alt to 500

    click save

    go back to the DSMS

    unselect the CBU-97

    select the CBU-97

    go into prof

    no setting saved

     

    I tried the same with the CBU-105 and it is the same story

    DSMS bug.trk

  5. I can confirm the behavior:

     

    In ME memory usage just shy of 10 gigs jump to 12 gigs during the mission

    If I launch the mission directly it only use 7 gigs

     

    On the same subject. When I enter DCS the memory usage is 1 Gig,if I launch a mission, memory usage jump to 7 gigs. if I exit the mission and go back to the start screen the memory usage stay at 7 gigs, it does not go back to 1 gig.

     

    I did some test if I have 2 missions (Mission A = 7 gigs memory usage; Mission B = 9 gigs memory usage). If I launch Mission A after Mission B the memory usage stay at 9 Gigs, it does not go down to 7 gigs

  6. If the units are set "on road" they move perfectly over the bridge :thumbup:

     

    Except one bridge so far (straigh north of Kobuleti 41 53'59"N 41 46'35"E) the units sink into the embankment and pop up once they reach the actual bridge.

     

    However if the units are set "off road" they sink in all the embankment leading to the bridge I tried so far.

     

    I will try the other bridges and see if there is more.

  7. Well I just got a Galax GTX 980 HOF with an I7 4790K running on an LG at 3440x1440

     

    FPS with the A-10 was above 100 constantly

    With the Mig 21 which use to kill my previous system is now running at 80 FPS if I don t look at the cockpit too much. Looking at the seat the FPS drop down to 60 FPS.

     

    With the occulus it is a dream no stutter at all (except for the mig) :pilotfly:

  8. Now that life is a bit less busy, I am able to spend more time on DCS :pilotfly:

     

    Here is an update on the script, it works with mist 3.5 and DCS 1.2.10.

     

    I have added the AGM-88 and the probability of a SAM evading the missile is skill based :

     

    An Average SAM will have 10% chance

    Good 50%

    High 70%

    Excellent 90%

     

    To prevent any copy paste error I have included the Lua and one exemple.

     

    I still haven't made any progress in learning Lua so any help making the script more tidy is welcome.

     

    Have fun

    SAM_smart_final.miz

    sam_smart_finale.lua

  9. This is my first try at a script and it is a bit of a Frankenstein (bits of script taken left right and center) so if you recognise part of the script as being yours, it is normal and thank you.

     

    The aim was to have the sam radar to shut off for a random time and for the unit to disperse randomly if a SEAD missile is targeting it .

     

     

    SEAD_launch = {}

    function SEAD_launch:onEvent(event)

     

    if event.id == world.event.S_EVENT_SHOT then -- detecte un depart missile/bomb/cannon

    local _grp = Unit.getGroup(event.initiator)-- identifie le groupe qui a tire

    local _groupname = _grp:getName() -- retourne le nom du groupe

    local _unittable = {event.initiator:getName()} -- retourne le nom des unites dans le groupe

    local _SEADmissile = event.weapon -- identifie l'arme utilise

    local _SEADmissileName = _SEADmissile:getTypeName() -- retourne le type d'arme

    trigger.action.outText( string.format("Alerte, depart missile " ..string.format(_SEADmissileName)), 20)

    -- debut de la deuxieme boucle

    if _SEADmissileName == "KH-58" or _SEADmissileName == "KH-25MPU" then -- Si l arme utilise est un KH-58 ou Kh-25MPU

     

    local _targetMim = Weapon.getTarget(_SEADmissile)

    local _targetMimname = Unit.getName(_targetMim)

    local _targetMimgroup = Unit.getGroup(Weapon.getTarget(_SEADmissile))

    local _targetMimcont= _targetMimgroup:getController()

    mist.groupRandomDistSelf(_targetMimgroup,300,'Rank',250,20)

    Controller.setOption(_targetMimcont, AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.GREEN)

    local SuppressedGroups = {}

    local function SuppressionEnd(id)

    id.ctrl:setOption(AI.Option.Ground.id.ALARM_STATE,AI.Option.Ground.val.ALARM_STATE.RED)

    SuppressedGroups[id.groupName] = nil

    end

    local id = {

    groupName = _targetMimgroup,

    ctrl = _targetMimcont

    }

    local delay = math.random(5, 15)

    if SuppressedGroups[id.groupName] == nil then

    SuppressedGroups[id.groupName] = {

    SuppressionEndTime = timer.getTime() + delay,

    SuppressionEndN = SuppressionEndCounter --Store instance of SuppressionEnd() scheduled function

    }

     

     

    timer.scheduleFunction(SuppressionEnd, id, SuppressedGroups[id.groupName].SuppressionEndTime) --Schedule the SuppressionEnd() function

    end

    end

    end

     

    end

     

    world.addEventHandler(SEAD_launch)

     

     

     

     

    It works, however it moves the full group and I would like only one unit (the radar) to move. How do I do it or is it impossible? (having a group of one unit is not an option the SA-6 needs a radar and a missile launcher in the same group)

     

    P.S the code is a right mess any help on cleaning it would be greatly appreciated, so I can learn.

    P.P.S there is some odd behiavour with the KH-58. Against a sborka the missile self destroy as soon as the radar shut off. Against a SA-6 STR it flies ok and will even re-aquire the target if the radar is turned back on. I might need to find a way to delay the restart of the radar until the KH-58 is dead.

    • Like 1
  10. Ok managed to get the targetdetected script to work

     

    function targetDetection()
    
    local possibleintruder = Unit.getByName('A-10')
    local EWRgroup = Group.getByName('Sam')
    local EWRgroupcontroller = EWRgroup:getController()
    possibleintrudergroupdetected = Controller.isTargetDetected(EWRgroupcontroller, possibleintruder, RADAR)
    if possibleintrudergroupdetected == true or possibleintrudergroupdetected == 1 then
    trigger.action.outText("detected", 5)
    trigger.action.setUserFlag('10', true)
    elseif possibleintrudergroupdetected == false or possibleintrudergroupdetected == 0 then
    trigger.action.outText("not detected", 5)
    trigger.action.setUserFlag('10', false)
    
    end
    end
    mist.scheduleFunction(targetDetection, {}, timer.getTime() + 10, 10)

     

    However it is stuck with A-10 as a unit. How do I change this for any type of '[blue][plane]'? I tried with

     

    local airunit = mist.makeUnitTable({'[blue][plane]'})

    and replacing A-10 with airunit but no luck

  11. Grimes,

     

    I have some problem with a couple of mist function.

     

    First:

    local radar_wp1 = mist.utils.makeVec3GL(trigger.misc.getZone('Zone2').point)

     

    throw an error about "can t perform arithmetic on a table". I manage to go past it with

     

    local radar_wap1 = mist.utils.zoneToVec3('Zone2')

     

    Second:

    local radar_wap1 = mist.utils.zoneToVec3('Zone2')

    local radar_wap2 = mist.utils.zoneToVec3('Zone3')

    mist.groupToRandomPoint(_targetMimgroup,{radar_wap1, radar_wap2})

     

    I get the error

     

    attempt to index local 'point' (a nil value)

    stack traceback:

    [C]: ?

    [string "C:\Users\rno\AppData\Local\Temp\DCS\/~mis00..."]:3176: in function 'getRandPointInCircle'

    [string "C:\Users\rno\AppData\Local\Temp\DCS\/~mis00..."]:3221: in function 'groupToRandomPoint'

    [string "C:\Users\rno\AppData\Local\Temp\DCS\/~mis00..."]:32: in function 'onEvent'

    [string "Scripts/World/EventHandlers.lua"]:13: in function <[string "Scripts/World/EventHandlers.lua"]:11>

     

    What am I doing wrong?

  12. Just when I thought I understood lua, I stumble on another arcane requirement. :helpsmilie:

     

    This time it is with

     

    Controller.isTargetDetected(Controller self,

    Object target,

    [Controller.Detection detection1,

    Controller.Detection detection2,

    ...

    Controller.Detection detectionN] or nil)

     

    what do I need to put in [Controller.Detection detection1] to use RADAR?

     

    local radar1 = 'radar1'
    local target1 = 'target1'
    local OriginGroup, TargetGroup = Group.getByName(radar1), Group.getByName(target1)
    local OriginUnits, TargetUnits = OriginGroup:getUnits(), TargetGroup:getUnits()	
    local detect =Controller.isTargetDetected(OriginGroup,TargetGroup,RADAR)
    if detect == true or detect == 1 then
    trigger.action.outText("detected", 40)
    trigger.action.setUserFlag('10', true)
    elseif detect == false or detect == 0 then
    trigger.action.outText("not detected", 40)
    trigger.action.setUserFlag('10', false)
    end

     

    I tried with a tungunska once an A-10 is in range and the only thing I can see is the message "not detected' even if the tungunska is actively trackingthe A-10.

     

    also what do I need to do to have this checked every 10 seconds or so using mist.schedulefunction?

×
×
  • 创建新的...