本帖最后由 kwanz 于 2012-4-23 16:36 编辑
原帖地址 http://www.gtaforums.com/index.php?showtopic=277522编程小技巧教程
原帖作者/ l3mmy @GTAF 翻译/ kwanz @虚拟世界
未经许可 谢绝转载
我准备搞一些方便大家编程的时候找的东西,先放几个SA opcode给大家琢磨琢磨:D
首先$2等同于$PLAYER_CHAR
现在我们让玩家进入醉酒状态,就像我发这帖时一样:P- 052C: set_player $PLAYER_CHAR drunk_visuals 100
复制代码 手机动作- 0247: request_model #CELLPHONE // 申请手机模型
- 0729: unknown_action_sequence $PLAYER_ACTOR 1 // 打电话
- 0729: unknown_action_sequence $PLAYER_ACTOR 0 // 挂电话
- 0249: release_model #CELLPHONE
复制代码 看代码,0729不变,只有1和0的区别,1是开 0是关:D 试一下吧
现在,不如给玩家一个飞行器- 07A7: put_jetpack_on_actor $PLAYER_ACTOR
复制代码 在被捕/进医院后保留武器- 08DE: keep_stuff_after_busted 0 // 1为开启 0为关闭
- 08DD: keep_stuff_after_wasted 0
复制代码 接着,我们创建一个红圈并检测玩家的位置,如果玩家进圈,那么每隔几秒就获得$10,000
在main.scm的最底下写上- 02A7: $439 = create_icon_marker_and_sphere $441 at X Y Z
复制代码 自行修改X Y Z更改红圈的坐标,然后再接着写上- 004F: create_thread ££CASH_1
复制代码 然后,在最底下写上- :CASH_1
- 0001: wait 250 ms
- 00D6: if 0
- 00ED: actor $3 0 ()near_point_on_foot X Y radius 4.0 4.0
- 004D: jump_if_false ££CASH_1
- 0109: player $2 money += 10000
- 0001: wait 5000 ms
- 0002: jump ££CASH_1
复制代码 自行修改X Y坐标
我解释一下吧:lol
0001: wait * ms是继续执行之前的延迟时间
00ED:...是检测玩家是否在X Y圈内
0109是给玩家加钱,10000可以随便改
0001是在两次加钱之间停顿5秒,写上0就无限加下去了。。
希望这个对大家有帮助:lol |