找回密码
 注册
X系列官方授权正版
搜索
查看: 2468|回复: 9

[分享] 我神马都不知道

[复制链接]
发表于 2010-12-15 04:53:04 | 显示全部楼层 |阅读模式
本帖最后由 黑暗枪骑兵 于 2010-12-14 19:07 编辑

自己学习用
  1. 001   $anull = null
  2. 002   $ship = [THIS]
  3. 003   skip if $ship != null
  4. 004    $ship = [PLAYERSHIP]
  5. 005   
  6. 006   
  7. 007   
  8. 013   
  9. 014   $sec = $ship -> get sector
  10. 015   
  11. 016   $current = $ship -> get current missile
  12. 017   $ship -> set fire missile time difference to 1 ms
  13. 018   
  14. 019   
  15. 020   $cam = $ship -> get amount of ware $current in cargo bay
  16. 021   $msg = sprintf: pageid=8815 textid=4, $current, $aim, null, null, null
  17. 022   skip if $aim == null
  18. 023    display subtitle text: text=$msg duration=5000 ms
  19. 024   
  20. 025   
  21. 026   
  22. 027   $holo.on = get global variable: name='lv.m.hol'
  23. 028   if $holo.on == 1
  24. 029    $task = $ship -> get next available task: starting=1
  25. 030    $ship ->
复制代码
 楼主| 发表于 2010-12-15 04:56:53 | 显示全部楼层
本帖最后由 黑暗枪骑兵 于 2010-12-14 19:07 编辑

第二部分
  1. 001   $anull = null
  2. 002   if $ship == null
  3. 003    $ship = [PLAYERSHIP]
  4. 004    $yield = 1
  5. 005   end
  6. 006   
  7. 007   $flags = [Find.Enemy] | [Find.Random]
  8. 008   skip if $ship != $anull
  9. 009    $ship = [PLAYERSHIP]
  10. 010   skip if $yield != null
  11. 011    $yield = 1
  12. 012   $sec = $ship -> get sector
  13. 013   $installed = $ship -> get current missile
  14. 014   skip if $installed != null
  15. 015    return $anull
  16. 016   $ship -> set fire missile time difference to 1 ms
  17. 017   skip if $yield != 0
  18. 018    $yield = 999
  19. 024   
  20. 025   $flags = [Find.Enemy] | [Find.Multiple]
  21. 026   $earray =  find ship: sector=$sec class or type=Ship race=null flags=$flags refobj=$ship maxdist=$range maxnum=100 refpos=$anull
  22. 027   
  23. 028   $asize =  size of array $earray
  24. 029   $stasize =  size of array $earray
  25. 030   
  26. 031   $msg = sprintf: pageid=8815 textid=2, $installed, $asize, null, null, null
  27. 032   if $asize == 1
  28. 033    $t = $earray[0]
  29. 034    $msg = sprintf: pageid=8815 textid=2, $installed, $t, null, null, null
  30. 035   end
  31. 036   skip if $asize == 0
  32. 037    display subtitle text: text=$msg duration=4000 ms
  33. 038   
  34. 039   $orace = $target -> get owner race
  35. 040   
  36. 041   $target -> set attacker to $ship
  37. 042   $race = $target -> get owner race
  38. 043   $gv = $race + 'lv.med.ai.ar'
  39. 044   $global = get global variable: name=$gv
  40. 045   
  41. 046   if $global == null
  42. 047    if $race != null
  43. 048     $store =  array alloc: size=0
  44. 049     append $target to array $store
  45. 050     set global variable: name=$gv value=$store
  46. 051    end
  47. 052   end
  48. 053   
  49. 054   
  50. 055   while $yield > 0
  51. 056    while $asize > -1
  52. 057     $spc = $ship -> get shield percent
  53. 058     skip if $spc > 30
  54. 059      return $anull
  55. 060     $target = $earray[$asize]
  56. 061     if $target != $anull
  57. 062      $tobj = $target -> get object class
  58. 063      $ybchk = $ship -> get amount of ware $installed in cargo bay
  59. 064      if $ybchk == 0
  60. 065       = speak text: page=13 id=135 priority=0
  61. 066       return $anull
  62. 067      end
  63. 068      $holo.on = get global variable: name='lv.m.hol'
  64. 069      if $holo.on == 1
  65. 070       $task = $ship -> get next available task: starting=1
  66. 071       $ship ->
复制代码
回复

使用道具 举报

发表于 2010-12-15 13:20:15 | 显示全部楼层
这是神马?????
回复

使用道具 举报

 楼主| 发表于 2010-12-15 22:05:51 | 显示全部楼层
所以我才说,我神马都不知道
回复

使用道具 举报

发表于 2011-1-2 07:59:27 | 显示全部楼层
原本无聊,想来学学脚本制作,看了半天,应该是控制导弹的,第一部分验证本舰是否又发射条件,第二部分,应该选择目标吧。
那个1ms,怎么像是发射间隔,虽然我玩原版时也有过使用M7M一次同时发射40+导弹的时候(不是一次16发,是一次性的把我想发的全都打出来了),不过那是BUG吧
是楼主编的吗,我自知道带$的是变量名,那个"->"是啥
回复

使用道具 举报

 楼主| 发表于 2011-1-2 10:19:16 | 显示全部楼层
这是2个完全不同的脚本。
不过这2个脚本的前半部分,不是发射条件,是定义发射的舰船,也就是玩家的船,这个是必须定义的
第二部分是选择目标
1ms是导弹发射间隔
->这个我不知道怎么跟你说
这2个脚本都不是我自己写的,是别人已经写好了的,我拿来学习的而已。

我发的导弹控制脚本就是基于这2个脚本写的。
回复

使用道具 举报

发表于 2011-1-2 12:06:00 | 显示全部楼层
本帖最后由 0809000 于 2011-1-2 12:14 编辑

回复 6# 黑暗枪骑兵
其实我是想知道"->"后面的是啥,是注释吗

你使用什么软件打开脚本的,我打开一看真是有够乱的,全是类似于HTML的标签
回复

使用道具 举报

发表于 2011-1-2 12:31:38 | 显示全部楼层
本帖最后由 尼奇怪 于 2011-1-2 12:40 编辑

回复 7# 0809000
->前面为函数对象,后面为具体函数功能
用常见的Excel打开即可
如果08兄真的想要钻研脚本,先把官网上的MSCIhandbook看一遍比较好,里面对大多数函数的功能和格式做出了解释
http://www.egosoft.com/download/ ... a8/MSCIHandbook.zip
回复

使用道具 举报

发表于 2011-1-2 12:35:16 | 显示全部楼层
本帖最后由 0809000 于 2011-1-2 12:37 编辑

回复 8# 尼奇怪
”08兄“这名字,昵称可以换吧,有空我去换了,貌似换不了 这很久以前注册的账号,当时咋就不起个好名字呢
我Office前几天崩溃了,懒得搞了
至于研究脚本,那还带等放假之后才有时间
回复

使用道具 举报

 楼主| 发表于 2011-1-3 08:04:05 | 显示全部楼层
我也只是放假研究研究~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站