PCGTA侠盗猎车手中文论坛

 找回密码
 现在注册
查看: 900|回复: 1

【教材贴】CLEO变量巧妙暂存为固定量

[复制链接]
发表于 2014-10-5 20:05 | 显示全部楼层 |阅读模式

如果想设置一个效果,拿一个变量在时间上的前后作比较,
比如影分身CLEO中,要做出分身血值低于出场血值就会破成烟雾的效果,
但是没有所谓的出场血值,
1@是代表分身1号)
只能在触发时设置成例如11@
= player  1@  health//读取分身1号的血值视为11@
然后跳入循环照着逻辑再来一次
12@ = player 1@  health//读取分身1号的血值视为12@
再设置条件if 12@
< 11@   //正如自己所想,翻译成 如果现在的血值低于出场血值就怎样怎样
但是11@是一个变量,和12@一个意义,不能在出场和之后的时间上区别开来,11@永远等于12@
当初做那个没人要的
PCGTA版影分身时遇到这个问题有点费脑,
想了一会就走奇葩路线尝试一下,
把另一个不变的变量赋予同样的值作为介质,就可以作为每个循环中固定的量。
(简单理解为再虚设一个变量)
以上不必太深究,本来就有点不好解释。

还是说方法,
方法就是

    2@ = create object #gun_boxbig  at 0.0 0.0 0.0 //在某位置创建一个物件视为2@
    set 2@ immunicate (1,1,1,1,1)//把它设置成无敌,那么它的血值就不会被游戏自身改变
   
3@ = player 1@ health //读取分身1号的血值为 3@
    set object 2@ health to 3@  //把分身1号的血值3@赋予物件2@
    get object 2@ health to 4@  //视物件2@ 的血值4@
  每次分身出场的血值就被指定为4@
  就允许
      
12@ = player1@ health
        if
      
12@ < 4@
      
这样一来,4@ 就是一个相对的常量了,问题奇葩地解决。


PS:不玩SA很久,主程序删了,
SannyBuilder没有游戏目录对应打不开.cs文件,
所以可能有Opcodes编码记错了。
      

评分

参与人数 1 +2 收起 理由
PCGTA福利会 + 2 国庆节快乐

查看全部评分

回复

使用道具 举报

发表于 2014-10-5 20:14 | 显示全部楼层
我表示看不懂                      呵呵
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|PCGTA

GMT+8, 2024-5-1 14:31 , Processed in 0.120728 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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