中国虚拟军事网(VME)- 专注于武装突袭系列虚拟军事游戏

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 1951|回复: 4

[讨论] 提高学术氛围,一日顶一下这个问题直到解决为止 关于SMK动作利用触发器和脚本调用...

[复制链接]
发表于 2012-6-12 09:44:55 | 显示全部楼层 |阅读模式
首先我说一下,我现在利用
{_x switchMove "i0_s3"} foreach thislist  这个语句可以让任何进入这个触发器范围内的AI做出我想要做的动作
这样就可以在作战中看到AI丰富的动作了,比如一条小巷你加入一个跟小巷差不多宽的触发器在巷子里那么AI通过时就会做出动作
比如:{_x switchMove "ActsPercMrunSlowWrflDf_FlipFlopPara"} foreach thislist  这样写 不管任何AI通过小巷都是翻一个跟头就到对面去  然后重复触发
还可以锁定哪几个AI触发,别的AI不触发,就可以让一些AI翻跟头,另外一些AI做一些别的动作,比如横向持枪迅速跨步而过之类的

但是我发现武装突袭里的动作还是不够多,尤其是针对战场上的躲避掩护动作的~~现在SMK动作丰富了但是很多只有玩家能用~那么现在我提问了怎么样才能调用呢
我解锁了SMK的PBO文件~发现里面有很多各种动作的文件  但是具体要怎么调用还真的不懂呢
 楼主| 发表于 2012-6-12 10:22:28 | 显示全部楼层
{_x switchMove "kneel_toaimHigh.rtm"} foreach thislist

发现使用这样的语句能够调用里面的动作,不过不管那些 RTM文件都只能做出一个举枪瞄准的动作就没下文了~~~  暂时研究出那么多~~smk的bin文件 发一部分出来给大家

define _ARMA_


//Class config.bin{
class CfgPatches
{
class smk_anims
{
  units[] = {};
  weapons[] = {};
  requiredVersion = 0.1;
  requiredAddons[] = {"CA_Anims","CA_Anims_E","CAWeapons"};
};
};
class CfgMovesBasic
{
access = 1;
skeletonName = "";
collisionVertexPattern[] = {"1a","2a","3a","4a","5a","6a","7a","8a","9a","10a","11a","12a","13a","14a","15a","16a","17a","18a","19a","20a","21a","22a","23a","24a","25a","26a","27a","28a","29a","30a","31a","32a","33a","34a","1c","2c","3c","4c","5c","6c","7c","8c"};
collisionGeomCompPattern[] = {1,3};
class Default;
class ManActions;
class Actions
{
  class NoActions: ManActions
  {
   gestureHiB[] = {"WeaponGLMagazineReloadStand","Gesture"};
   gestureHiC[] = {"WeaponMGMagazineReloadStand","Gesture"};
  };
  class CargoActions: NoActions{};
  class StandBase: Default{};
  class RifleBaseLowStandActions: NoActions
  {
   gestureHiB[] = {"WeaponGLMagazineReloadStand","Gesture"};
   handGunOn = "smk_QuickPistolStand";
   fastL = "AmovPercMstpSrasWrflDnon_AmovPercMevaSrasWrflDl";
   fastR = "AmovPercMstpSrasWrflDnon_AmovPercMevaSrasWrflDr";
   leanRRot = 0.5;
   leanRShift = 0.01;
   leanLRot = 0.5;
   leanLShift = 0.01;
  };
  class RifleBaseStandActions: RifleBaseLowStandActions
  {
   handGunOn = "smk_QuickPistolStand";
   fastL = "smk_SpecStandLeft";
   fastR = "smk_SpecStandRight";
   fastB = "smk_SpecStandUp";
   fastLB = "smk_SpecStandTaunt";
   fastRB = "smk_SpecStandDown";
  };
  class RifleStandActions: RifleBaseStandActions{};
  class RifleStandActionsWlkF: RifleStandActions
  {
   Stand = "AmovPercMrunSlowWrflDf_Jog";
  };
  class RifleStandActionsRunF: RifleStandActions
  {
   PlayerStand = "smk_JogF_WeaponDown";
   getOver = "smk_JumpOver";
   PlayerCrouch = "AmovPknlMrunSrasWrflDf";
   Stand = "AmovPercMrunSlowWrflDf_Jog";
  };
  class RifleStandActionsJogF: RifleStandActions
  {
   PlayerStand = "smk_JogF_WeaponDown";
   getOver = "smk_JumpOver";
   PlayerCrouch = "AmovPknlMrunSrasWrflDf";
   Stand = "AmovPercMrunSlowWrflDf_Jog";
  };
  class RifleStandActionsJogWDF: RifleStandActionsJogF
  {
   PlayerStand = "AmovPercMrunSrasWrflDf";
   slowF = "smk_JogF_WeaponDown";
   slowRF = "smk_JogFR_WeaponDown";
   slowLF = "smk_JogFL_WeaponDown";
  };
  class RifleStandActionsJogWDFL: RifleStandActionsJogWDF
  {
   PlayerStand = "AmovPercMrunSrasWrflDfl";
  };
  class RifleStandActionsJogWDFR: RifleStandActionsJogWDF
  {
   PlayerStand = "AmovPercMrunSrasWrflDfr";
  };
  class RifleStandActionsJogFR: RifleStandActionsJogF
  {
   PlayerStand = "smk_JogFR_WeaponDown";
   Stand = "AmovPercMrunSlowWrflDfr_Jog";
   PlayerCrouch = "AmovPknlMrunSrasWrflDfr";
  };
  class RifleStandActionsJogFL: RifleStandActionsJogF
  {
   PlayerStand = "smk_JogFL_WeaponDown";
   Stand = "AmovPercMrunSlowWrflDfl_Jog";
   PlayerCrouch = "AmovPknlMrunSrasWrflDfl";
  };
  class RifleStandActionsJogR: RifleStandActionsJogF
  {
   PlayerCrouch = "AmovPknlMrunSrasWrflDr";
   Stand = "AmovPercMrunSlowWrflDr_Jog";
  };
  class RifleStandActionsJogL: RifleStandActionsJogF
  {
   PlayerCrouch = "AmovPknlMrunSrasWrflDl";
   Stand = "AmovPercMrunSlowWrflDl_Jog";
  };
  class RifleStandActionsJogBR: RifleStandActionsJogF
  {
   PlayerCrouch = "AmovPknlMrunSrasWrflDbr";
   Stand = "AmovPercMrunSlowWrflDbr_Jog";
  };
  class RifleStandActionsJogBL: RifleStandActionsJogF
  {
   PlayerCrouch = "AmovPknlMrunSrasWrflDbl";
   Stand = "AmovPercMrunSlowWrflDbl_Jog";
  };
  class RifleStandActionsJogB: RifleStandActionsJogF
  {
   PlayerCrouch = "AmovPknlMrunSrasWrflDfb";
   Stand = "AmovPercMrunSlowWrflDb_Jog";
  };
  class RifleStandActionsRunF_Jog: RifleStandActionsRunF
  {
   slowF = "AmovPercMrunSlowWrflDf_Jog";
   slowLF = "AmovPercMrunSlowWrflDfl_Jog";
   slowRF = "AmovPercMrunSlowWrflDfr_Jog";
   slowB = "AmovPercMrunSlowWrflDb_Jog";
   slowL = "AmovPercMrunSlowWrflDl_Jog";
   slowR = "AmovPercMrunSlowWrflDr_Jog";
   slowBL = "AmovPercMrunSlowWrflDbl_Jog";
   slowBR = "AmovPercMrunSlowWrflDbr_Jog";
   sitDown = "AmovPercMrunSrasWrflDf";
   Stand = "AmovPercMrunSrasWrflDf";
  };
  class RifleStandActionsRunFL_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDfl";
  };
  class RifleStandActionsRunFR_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDfr";
  };
  class RifleStandActionsRunR_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDr";
  };
  class RifleStandActionsRunL_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDl";
  };
  class RifleStandActionsRunB_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDb";
  };
  class RifleStandActionsRunBR_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDbr";
  };
  class RifleStandActionsRunBL_Jog: RifleStandActionsRunF_Jog
  {
   Stand = "AmovPercMrunSrasWrflDbl";
  };
  class RifleStandEvasiveActions: RifleStandActions
  {
   getOver = "smk_JumpOver";
   PlayerCrouch = "smk_SprintSlide_End";
  };
  class RifleKneelActions: RifleBaseStandActions
  {
   fastL = "smk_SpecCrouchLeft";
   fastR = "smk_SpecCrouchRight";
   fastRB = "smk_SpecCrouchDown";
   fastLB = "smk_SpecCrouchTaunt";
   fastB = "smk_SpecCrouchUp";
   crouch = "AmovPknlMstpSrasWrflDnon_Kneel";
   PlayerCrouch = "AmovPknlMstpSrasWrflDnon_Kneel";
   getOver = "AmovPknlMstpSrasWrflDnon_Sit";
  };
  class RifleKneelEvasiveActions: RifleStandEvasiveActions
  {
   getOver = "smk_JumpOver";
   PlayerCrouch = "smk_SprintSlide";
  };
  class RifleRealKneelActions: RifleKneelActions
  {
   stop = "AmovPknlMstpSrasWrflDnon_Kneel";
   default = "AmovPknlMstpSrasWrflDnon_Kneel";
   PlayerCrouch = "AmovPknlMstpSrasWrflDnon";
  };
  class RifleSprintSlideActions: RifleKneelActions
  {
   stop = "smk_SprintSlide_End";
   default = "smk_SprintSlide_End";
   PlayerCrouch = "AmovPknlMstpSrasWrflDnon_Kneel";
  };
  class RifleSitKneelActions: CargoActions
  {
   stop = "AmovPknlMstpSrasWrflDnon_Sit";
   default = "AmovPknlMstpSrasWrflDnon_Sit";
   PlayerCrouch = "AmovPknlMstpSrasWrflDnon";
   PlayerStand = "AmovPercMstpSrasWrflDnon";
   PlayerProne = "AmovPpneMstpSrasWrflDnon";
   slowF = "AmovPknlMstpSrasWrflDnon";
   walkF = "AmovPknlMstpSrasWrflDnon";
   reloadMagazine[] = {"WeaponMagazineReloadStand","Gesture"};
   gestureHiB[] = {"WeaponGLMagazineReloadStand","Gesture"};
  };
  class RifleProneActions: RifleBaseStandActions
  {
   fastL = "smk_UrbanProneLeft";
   sitDown = "AmovPknlMstpSrasWrflDnon_Kneel";
   fastR = "smk_UrbanProneRight";
   gestureHiB = "WeaponMagazineReloadProne";
   gestureHiC = "WeaponMGMagazineReloadProne";
   WeaponOn = "smk_LauncherProne";
  };
  class RifleActions_Panic: CargoActions
  {
   default = "smk_PanicTakeCoverStat";
   reloadMagazine[] = {"WeaponMagazineReloadStand","Gesture"};
   gestureHiB[] = {"WeaponGLMagazineReloadStand","Gesture"};
   die = "AdthPpneMstpSrasWrflDnon_1";
   PlayerProne = "smk_UrbanProne_Left_to_Prone";
   PlayerCrouch = "smk_PanicTakeCoverUP";
  };
  class RifleActions_UAWKneelLeft: CargoActions
  {
   stop = "smk_UAWKneelLeft";
   default = "smk_UAWKneelLeft";
   reloadMagazine[] = {"WeaponMagazineReloadStand_UAW","Gesture"};
   gestureHiB[] = {"WeaponGLMagazineReloadStand","Gesture"};
   gestureHiC[] = {"WeaponMGMagazineReloadStand","Gesture"};
   die = "AdthPknlMstpSrasWrflDnon_1";
   PlayerProne = "AmovPpneMstpSrasWrflDnon";
   PlayerCrouch = "AmovPknlMstpSrasWrflDnon_Kneel";
   PlayerStand = "smk_UAWStandLeft";
   fastF = "smk_UAWKneelLeftPeak";
   walkL = "smk_UAWKneelLeft_toAim";
   slowL = "smk_UAWKneelLeft_toAim";
   walkR = "smk_UAWKneelLeft_toAimHigh";
   slowR = "smk_UAWKneelLeft_toAimHigh";
   fastR = "smk_UAWKneelLeftBlindHigh";
   slowB = "smk_UAWKneelLeft_Left";
   walkB = "smk_UAWKneelLeft_Left";
   slowF = "smk_UAWKneelLeft_Right";
   walkF = "smk_UAWKneelLeft_Right";
   fastL = "smk_UAWKneelLeftBlind";
   throwGrenade = "smk_UAWKneelLeft_GrenadeThrow";
  };
  class RifleActions_UAWKneelRight: CargoActions
  {
   stop = "smk_UAWKneelRight";
   default = "smk_UAWKneelRight";
   reloadMagazine[] = {"WeaponMagazineReloadStand_UAW","Gesture"};
   gestureHiB[] = {"WeaponGLMagazineReloadStand_UAW","Gesture"};
   gestureHiC[] = {"WeaponMGMagazineReloadStand_UAW","Gesture"};
   die = "AdthPknlMstpSrasWrflDnon_1";
   PlayerProne = "AmovPpneMstpSrasWrflDnon";
   PlayerCrouch = "AmovPknlMstpSrasWrflDnon_Kneel";
   PlayerStand = "smk_UAWStandRight";
   fastF = "smk_UAWKneelRightPeak";
   walkL = "smk_UAWKneelRight_toAimHigh";
   slowL = "smk_UAWKneelRight_toAimHigh";
   walkR = "smk_UAWKneelRight_toAim";
   slowR = "smk_UAWKneelRight_toAim";
   fastR = "smk_UAWKneelRightBlind";
   slowB = "smk_UAWKneelRight_Right";
   walkB = "smk_UAWKneelRight_Right";
   slowF = "smk_UAWKneelRight_Left";
   walkF = "smk_UAWKneelRight_Left";
   fastL = "";
   throwGrenade = "smk_UAWKneelRight_GrenadeThrow";
  };
  class RifleActions_UAWStandLeft: CargoActions
  {
   stop = "smk_UAWStandLeft";
   default = "smk_UAWStandLeft";
   reloadMagazine[] = {"WeaponMagazineReloadStand_UAW","Gesture"};
   gestureHiB[] = {"WeaponGLMagazineReloadStand_UAW","Gesture"};
   gestureHiC[] = {"WeaponMGMagazineReloadStand_UAW","Gesture"};
   die = "AdthPercMstpSrasWrflDnon_1";
   PlayerProne = "AmovPpneMstpSrasWrflDnon";
   PlayerCrouch = "smk_UAWKneelLeft";
   PlayerStand = "AmovPercMstpSrasWrflDnon";
   fastF = "smk_UAWStandLeftPeak";
   walkL = "smk_UAWStandLeft_toAim";
   slowL = "smk_UAWStandLeft_toAim";
   walkR = "";
   slowR = "";
   fastR = "smk_UAWStandLeftBlindHigh";
   slowB = "smk_UAWStandLeft_Left";
   walkB = "smk_UAWStandLeft_Left";
   slowF = "smk_UAWStandLeft_Right";
   walkF = "smk_UAWStandLeft_Right";
   fastL = "smk_UAWStandLeftBlind";
   throwGrenade = "smk_UAWStandLeft_GrenadeThrow";
  };


看不明白啊 似乎一个动作要用到几个文件来定义的
发表于 2012-6-12 11:50:59 | 显示全部楼层
额。。。呵呵,这么专业啊
 楼主| 发表于 2012-6-12 14:04:11 | 显示全部楼层
csz189610 发表于 2012-6-12 11:50
额。。。呵呵,这么专业啊

曾经的VME和sam就是那么专业的 可惜啊~~~~我这个最多算半吊子而已~~~~真希望研究的人多点
等别人出任务来玩的人少点
 楼主| 发表于 2012-6-12 23:30:42 | 显示全部楼层
已经发现了 怎么调用了  可惜能调用的动作并不多~大多数是整合的动作 少数是能播放的动作

比如 翻墙 用手撑着跳过矮墙 和跑动中紧急停下来的动作  这三个才能正常调用~~~太可惜了 我最希望的是那个滑铲进入掩体啊~~~有那个动作调用出来的话AI找掩护就逆天了

原版虽然也可以用翻跟头来让AI进入掩体,但是毕竟整个地图的敌人都在翻跟斗进入掩体也太蛋疼了~~~  有人跟我一起研究怎么搞 滑铲的动作呢  

不知道为什么调用滑铲的时候单位只会 做一下举枪动作就完了
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-28 04:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表