1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147 | // 本文件放在此处 Counter-Strike Global Offensive\csgo\scripts\vscripts
// 加载方法 script_execute practiceExt
// 初始化
ent <- null; //定义物体变量
command <- null; //定义指令变量,存放指令字符串
PositionA <- Vector(0, 0, 0); //定义A位置变量
AngleA <- Vector(0, 0, 0); //定义A角度变量
PositionB <- Vector(0, 0, 0); //定义B位置变量
AngleB <- Vector(0, 0, 0); //定义B角度变量
printl( @">>> 跑图CFG扩展脚本初始化完成" );
function sethp() {
SendToConsole( @"ent_fire !self addoutput ""health 100"" " );
}
// 因为无法获得pitch 竖直角度总是为0 故此处主要用作弹出提示 等待改进
function storeA() {
//获取玩家实体 获取时总是1次成功1次失败故使用 或 运算
if ( ( ent = Entities.FindByClassname(ent, "player") ) != null || ( ent = Entities.FindByClassname(ent, "player") ) != null ) {
PositionA = ent.GetOrigin(); //获取位置
AngleA = ent.GetAngles(); //获取角度
ScriptPrintMessageCenterAll( "已保存点A" );
printl( ">>> 点A指令如下" )
}
//else {
// ScriptPrintMessageCenterAll( "保存点A失败,位置为(0, 0, 0)" );
//}
}
function loadA() {
if( PositionA.x || PositionA.y || AngleA.x || AngleA.y || AngleA.z ) {
command = "setpos " + PositionA.x + ", " + PositionA.y + ", " + PositionA.z + ";";
//command = command + "setang " + AngleA.x + ", " + AngleA.y + ", " + AngleA.z + ";" ;
SendToConsole( command );
SendToConsole( "-moveleft;-moveright;-forward;-back" );
ent.SetVelocity( Vector(0,0,0) );
ScriptPrintMessageCenterAll( "已回到点A" );
}
//else {
// ScriptPrintMessageCenterAll( "回到点A失败,位置为(0, 0, 0)" );
//}
}
function storeB() {
//获取玩家实体
if ( ( ent = Entities.FindByClassname(ent, "player") ) != null || ( ent = Entities.FindByClassname(ent, "player") ) != null ) {
PositionB = ent.GetOrigin(); //获取位置
AngleB = ent.GetAngles(); //获取角度
ScriptPrintMessageCenterAll( "已保存点B" );
printl( ">>> 点B指令如下" )
}
//else {
// ScriptPrintMessageCenterAll( "保存点B失败,位置为(0, 0, 0)" );
//}
}
function loadB() {
if( PositionB.x || PositionB.y || AngleB.x || AngleB.y || AngleB.z ) {
command = "setpos " + PositionB.x + ", " + PositionB.y + ", " + PositionB.z + ";";
//command = command + "setang " + AngleB.x + ", " + AngleB.y + ", " + AngleB.z + ";" ;
SendToConsole( command );
SendToConsole( "-moveleft;-moveright;-forward;-back" );
ent.SetVelocity( Vector(0,0,0) );
ScriptPrintMessageCenterAll( "已回到点B" );
}
//else {
// ScriptPrintMessageCenterAll( "回到点B失败,位置为(0, 0, 0)" );
//}
}
function cam( i, j ) {
//分享摄像机运动指令 A to B . i 和 j 与运动速度相关
if( PositionA.x || PositionA.y || AngleA.x || AngleA.y || PositionB.x || PositionB.y || AngleB.x || AngleB.y ) {
command = "spec_mode 6;";
command = command + "spec_goto " + PositionA.x + " " + PositionA.y + " " + PositionA.z + " " + AngleA.x + " " + AngleA.y +";";
command = command + "spec_lerpto " + PositionB.x + " " + PositionB.y + " " + PositionB.z + " " + AngleB.x + " " + AngleB.y + " " + i + " " + j + ";" ;
printl( "" );
printl( ">>> 摄像机运动指令已生成" );
printl( "" );
printl( command );
}
else {
ScriptPrintMessageCenterAll( "分享摄像机运动指令失败,点A或B位置为(0, 0, 0)" );
}
}
function hint() {
printl("──── 加载设置[auto.cfg] : exec auto");
printl("──── 跑图,练习道具 : exec practice");
printl("──── 对枪,SOLO : exec solo");
printl("──── 地图中加载设置[auto.cfg] : Insert键");
printl("──── 地图中一键跑图[practice.cfg] : Delete键");
printl("────────────────────── BOT相关 ─────────────────────────────");
printl("──── BOT难度(3>2>1>0) : bot_difficulty 3;");
printl("──── BOT静止 : bot_stop 1;");
printl("──── BOT拿刀 : bot_knives_only;");
printl("──── BOT拿手枪 : bot_pistols_only;");
printl("──── BOT全武器 : bot_all_weapons;");
printl("──── BOT加入队伍(any=任意) : bot_join_team ct;");
printl("──── BOT模仿玩家动作 : bot_mimic 1;");
printl("──── BOT模仿角度偏移 : bot_mimic_yaw_offset 180;");
printl("──── BOT蹲下 : bot_crouch 1; ");
printl("──── 添加BOT : bot_add;");
printl("──── 删除BOT : bot_kick;");
printl("──── 杀死BOT : bot_kill;");
printl("──── 放置BOT : bot_place;");
printl("────────────────────── 常用指令 ─────────────────────────────");
printl("──── 热身开始 : mp_warmup_start;");
printl("──── 热身结束 : mp_warmup_end;");
printl("──── 重新开始游戏 : mp_restartgame 1;");
printl("──── 回合开始静止1s : mp_freezetime 1;");
printl("──── 回合结束等待2s : mp_round_restart_delay 2;");
printl("──── 投掷物轨迹时间30s : sv_grenade_trajectory_time 30;");
printl("──── 弹着点时间30s : sv_showimpacts_time 30;");
printl("──── C4爆炸时间999s : mp_c4timer 999;");
printl("──── C4任意处放置 : mp_plant_c4_anywhere 1;");
printl("──── 队友伤害 : mp_teammates_are_enemies 1;");
printl("──── 忽视胜利条件 : mp_ignore_round_win_conditions 1;");
printl("──── 雷达显示所有人 : mp_radar_showall 1;" );
printl("──── 调整护甲(2=全甲) : mp_free_armor 1;");
printl("──── 无敌(个人) : god;");
printl("──── 无敌(所有人) : gods;");
printl("─────────────────────── 快捷键 ─────────────────────────────");
printl("──── BOT蹲下 : 2");
printl("──── 杀死BOT : /");
printl("──── 切换透视模式 : 5");
printl("──── 重现最近一次投掷物 : 8");
printl("──── 切换实时预测轨迹 : 4");
printl("──── 加速时间,松开恢复 : .");
printl("──── 预测投掷物轨迹30s : 6");
printl("──── 添加BOT : +");
printl("──── 删除BOT : -");
printl("──── 放置BOT : *");
printl("──── 重新开始 : 0");
printl("──── 飞行 : Enter");
printl("────────────────────── 脚本功能 ─────────────────────────────");
printl("──── 保存点A : ←");
printl("──── 回到点A : ↑");
printl("──── 保存点B : →");
printl("──── 回到点B : ↓");
printl(@"──── 补齐血条头甲和满道具 : 9");
printl("──── 打印提示(指令) : hint");
printl("═════════════════════════════════════════════════════════════");
printl("·在线游戏时请勿加载或多次加载本CFG,可能会被踢出");
}
|