Vecswitch tutorial
Written by uNpRO
Vorausetzung für dieses Tutorial ist natürlich ein funktionierender Hook

Wir benutzen bei dem Beispiel einen
OGC.
Step1: Adden des cvars vec_switch.
Um ein cvar zu adden gehen wir zuerstmal in cvar.h
In der class CVARList adden wir den
integer vec_switch
Wir suchen in der cvar.h nach folgendem:
|
Quellcode
|
1
2
3
4
5
|
class CVARList
{
public:
void init();
public:
|
Wir adden an letzter stelle unter den anderen integern vec_switch.
Es sollte dann in etwa so aussehen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class CVARList
{
public:
void init();
public:
float recoil;
...
int targetmode;
...
int vec_switch;
};
|
Nun gehen wir in Cvar.cpp
und adden in den void cvarlist (UNTER DEN ANDEREN) vec_switch
|
Quellcode
|
1
|
REGISTER_CVAR_INT( vec_switch ,1)
|
->
REGISTER_CVAR_INT = registriert cvars
->
vec_switch = name des cvars
->
1 = default value
Step2: Vec Switch selbst.
Wir gehen in client.cpp und suchen den void
hud_postruncmd
und adden:
|
Quellcode
|
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
|
if (runfuncs) {
// Falls die Aktuelle Waffe nicht die Vorherige ist wurde die Waffe gewechselt (diese funktion ist beim OGC schon dabei)
if (lastWeaponID != currentWeaponID)
{
// Falls wir leben und vec_switch aktiviert ist
if (cvar.vec_switch && me.alive)
{
/* Wir Checken ob die aktuelle Waffe (gGetWeaponName(me.ent->curstate.weaponmodel))
keine flash / he / smoke / cv ist (denn wer braucht schon vecs dafuer oO?) */
if ( !strstr("flashbang",gGetWeaponName(me.ent->curstate.weaponmodel)) &&
!strstr("hegrenade",gGetWeaponName(me.ent->curstate.weaponmodel)) &&
!strstr("smokegrenade",gGetWeaponName(me.ent->curstate.weaponmodel)) &&
!strstr("c4",gGetWeaponName(me.ent->curstate.weaponmodel))) {
// wenn nicht dann führen wir den command autovec_ + Waffennamen aus
// wir legen fest welchen cmd wir ausführen
char vec_exec[128];
sprintf(vec_exec, "autovec_%s", gGetWeaponName(me.ent->curstate.weaponmodel));
// wir führen ihn aus :)
cmd.exec(vec_exec);
}
}
}
}
}
}
|
Jetzt müssen wir in unsere hackcfg nur die aliase autovec_xxx adden.
Bei mir sieht das dann so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
alias autovec_deagle "unpro_deagle"
alias autovec_ump45 "unpro_ump"
alias autovec_ak47 "unpro_akcolt"
alias autovec_sg552 "unpro_sg552"
alias autovec_aug "unpro_aug"
alias autovec_m4a1 "unpro_akcolt"
alias autovec_scout "unpro_scout"
alias autovec_knife "unpro_knife"
alias autovec_m249 "unpro_m249"
alias autovec_mp5navy "unpro_mp5navy"
alias autovec_g3sg1 "unpro_g3sg1"
alias autovec_sg550 "unpro_sg550"
alias autovec_awp "unpro_awp"
alias autovec_xm1014 "unpro_xm1014"
alias autovec_m3 "unpro_m3"
alias autovec_mac10 "unpro_mac10"
alias autovec_tmp "unpro_tmp"
alias autovec_p90 "unpro_p90"
alias autovec_usp "unpro_usp"
alias autovec_glock18 "unpro_glock18"
alias autovec_p228 "unpro_p228"
alias autovec_elite "unpro_elite"
alias autovec_fiveseven "unpro_fiveseven"
|
VecSwitch is done :]
Falls ihr noch fragen zu dem tut habt PM't mich.
Have Fun