Небольшой инструмент, позволяющий генерировать что-то с задержкой

noop_dummy_phys.blk

mass:r=1.0
momentOfInertia:p3=0.0, 0.0, 0.0
caliber:r=0.1
speed:r=0.0
speedPitch:r=0.0
maxDistance:r=1.0
physMat:t="walkRay"
logCCD:b=no
useFutureContacts:b=no
frictionGround:r=100.0
entityTemplate:t="rdg1_smoke_grenade"
entityPhysTemplate:t="big_action_noop_phys"

collisionResource{

  props{
    volumeBox:t="box"
  }
}

ccdSpheres{
  ccd:p4=0.0, 0.02, 0.0, 0.03
}

splashDamage{
  radius:p2=0.1, 0.1
  penetration:p2=1.0, 1.0
  damage:r=1.0
  dmgOffset:p3=0.0, 0.1, 0.0
}

explSound{
  explSoundPath:t="impact/grenade"
}

damage{

  explosive{
    strengthEquivalent:r=1.0
    brisanceEquivalent:r=1.0
  }
}

solver{
  energyConservation:r=0.85
}

enttiies.blk

big_action_noop_phys{
  _use:t="projectile_phys_with_shell"
  _use:t="rdg1_shell"
  collres__res:t="grenade_rdg_collision"
  phys_obj_net_phys__blk:t="content/enlisted/gamedata/weapons/grenades/rdg1_smoke.blk"
}

big_action_noop_phys_activator{
  transform:m=[[1.0, 0.0, 0.0] [0.0, 1.0, 0.0] [0.0, 0.0, 1.0] [0.0, 0.0, 0.0]]
  on_create__spawnActivatedShellBlk:t="%ugm/data/weapons/shells/noop_dummy_phys.blk"
  on_create__setVelocity:p3=1.0, 0.0, 0.0

  _group{
    _tags:t="server"
    activator__spawnShellDelay:r=2.0  // time delay
    activator__spawnShellAtTime:r=-1.0

    "activator__weaponEid:eid"{
    }
  }

  "ownerEid:eid"{
  }
}

big_action_lazy_spawner{
  _use:t="big_action_noop_phys_activator"
  // on_create__addShellTemplate:t="block_rethrow_shell" // patch to add on_explosion__create something

  _group{
    _tags:t="server"
    activator__spawnShellDelay:r=2.0  // time delay
  }
}

// eg.
// xxx_spawner_spawning {
//   "on_explosion__create:list<t>"{
//      // tmplt:t=""
//    }
// }
// 
// xxx_spawner {
//   _use:t="big_action_lazy_spawner"
//   on_create__addShellTemplate:t="xxx_spawner_spawning"
// }

5 лайков