fixed bugs in dod_get_user_weapon
This commit is contained in:
parent
c6c95f2443
commit
1551f500e3
@ -34,48 +34,48 @@
|
|||||||
|
|
||||||
/* Weapon names aren't send in WeaponList message in DoD */
|
/* Weapon names aren't send in WeaponList message in DoD */
|
||||||
weapon_t weaponData[] = {
|
weapon_t weaponData[] = {
|
||||||
{ false,false,"mortar","mortar" },
|
{ false,false,"mortar","mortar",0 },
|
||||||
{ true,true,"amerknife","knife" }, // aknife->bknife
|
{ true,true,"amerknife","knife",0 }, // aknife->bknife
|
||||||
{ false,true,"gerknife","knife" },
|
{ false,true,"gerknife","knife",0 },
|
||||||
{ false,false,"colt","Colt" },
|
{ false,false,"colt","Colt",4 },
|
||||||
{ false,false,"luger","Luger" },
|
{ false,false,"luger","Luger",4 },
|
||||||
{ true,false,"garand","Garand" }, // Garand->Garand butt
|
{ true,false,"garand","Garand",3 }, // Garand->Garand butt
|
||||||
{ false,false,"scopedkar","scoped K98" },
|
{ false,false,"scopedkar","scoped K98",3 },
|
||||||
{ false,false,"thompson","Thompson" },
|
{ false,false,"thompson","Thompson",1 },
|
||||||
{ false,false,"mp44","STG44" },
|
{ false,false,"mp44","STG44",6 },
|
||||||
{ false,false,"spring","Springfield" },
|
{ false,false,"spring","Springfield",5 },
|
||||||
{ true,false,"kar","K98" }, // KAR->KAR bayonet
|
{ true,false,"kar","K98",3 }, // KAR->KAR bayonet
|
||||||
{ false,false,"bar","BAR" },
|
{ false,false,"bar","BAR",6 },
|
||||||
{ false,false,"mp40","MP40" },
|
{ false,false,"mp40","MP40",1 },
|
||||||
{ false,false,"grenade","handgrenade" },
|
{ false,false,"grenade","handgrenade",9 },
|
||||||
{ false,false,"grenade2","stickgrenade" },
|
{ false,false,"grenade2","stickgrenade",11 },
|
||||||
{ false,false,"stickgrenade_ex","stickgrenade_ex" },
|
{ false,false,"stickgrenade_ex","stickgrenade_ex",11 },
|
||||||
{ false,false,"handgrenade_ex","handgrenade_ex" },
|
{ false,false,"handgrenade_ex","handgrenade_ex",9 },
|
||||||
{ false,false,"mg42","MG42" },
|
{ false,false,"mg42","MG42",7 },
|
||||||
{ false,false,"30cal",".30 cal" },
|
{ false,false,"30cal",".30 cal",8 },
|
||||||
{ false,true,"spade","spade" },
|
{ false,true,"spade","spade",0 },
|
||||||
{ true,false,"m1carbine","M1 Carbine" }, // M1 Carbine->Folding Carbine
|
{ true,false,"m1carbine","M1 Carbine",2 }, // M1 Carbine->Folding Carbine
|
||||||
{ false,false,"mg34","MG34" },
|
{ false,false,"mg34","MG34",2 },
|
||||||
{ false,false,"greasegun","Greasegun" },
|
{ false,false,"greasegun","Greasegun",1 },
|
||||||
{ true,false,"fg42","FG42" }, // FG42 -> scoped FG42
|
{ true,false,"fg42","FG42",6 }, // FG42 -> scoped FG42
|
||||||
{ true,false,"k43","K43" },
|
{ true,false,"k43","K43",2 },
|
||||||
{ true,false,"enfield","Enfield" }, // Enfield->Scoped Enfield->Enfield bayonet
|
{ true,false,"enfield","Enfield",3 }, // Enfield->Scoped Enfield->Enfield bayonet
|
||||||
{ false,false,"sten","Sten" },
|
{ false,false,"sten","Sten",1 },
|
||||||
{ false,false,"bren","Bren" },
|
{ false,false,"bren","Bren",6 },
|
||||||
{ false,false,"webley","Webley" },
|
{ false,false,"webley","Webley",4 },
|
||||||
{ false,false,"bazooka","Bazooka" },
|
{ false,false,"bazooka","Bazooka",13 },
|
||||||
{ false,false,"pschreck","Panzerschrek" },
|
{ false,false,"pschreck","Panzerschrek",13 },
|
||||||
{ false,false,"piat","Piat" },
|
{ false,false,"piat","Piat",13 },
|
||||||
{ false,false,"scoped_fg42","scoped FG42" },
|
{ false,false,"scoped_fg42","scoped FG42",6 },
|
||||||
{ false,false,"fcarbine","Folding Carbine" },
|
{ false,false,"fcarbine","Folding Carbine" },
|
||||||
{ false,true,"bayonet","K98 bayonet" }, // KAR bayonet
|
{ false,true,"bayonet","K98 bayonet",0 }, // KAR bayonet
|
||||||
{ false,false,"scoped_enfield","scoped Enfield"},
|
{ false,false,"scoped_enfield","scoped Enfield",3 },
|
||||||
{ false,false,"mills_bomb","mills bomb" },
|
{ false,false,"mills_bomb","mills bomb",9 },
|
||||||
{ false,true,"brit_knife","knife" },
|
{ false,true,"brit_knife","knife",0 },
|
||||||
{ false,true,"garandbutt","Garand butt" }, // Garand butt
|
{ false,true,"garandbutt","Garand butt",0 }, // Garand butt
|
||||||
{ false,true,"enf_bayonet","Enfield bayonet" },
|
{ false,true,"enf_bayonet","Enfield bayonet",0 },
|
||||||
{ false,false,"mortar","mortar" }, // mortar new id
|
{ false,false,"mortar","mortar",0 }, // mortar new id
|
||||||
{ false,true,"k43butt","K43 butt" },
|
{ false,true,"k43butt","K43 butt",0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Function will select correct id */
|
/* Function will select correct id */
|
||||||
|
@ -52,6 +52,7 @@ struct weapon_t {
|
|||||||
bool melee;
|
bool melee;
|
||||||
char logname[16];
|
char logname[16];
|
||||||
char name[32];
|
char name[32];
|
||||||
|
int ammoSlot;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern bool rankBots;
|
extern bool rankBots;
|
||||||
@ -64,6 +65,8 @@ void Client_ResetHUD_End(void*);
|
|||||||
void Client_ObjScore(void*);
|
void Client_ObjScore(void*);
|
||||||
void Client_TeamScore(void*);
|
void Client_TeamScore(void*);
|
||||||
void Client_RoundState(void*);
|
void Client_RoundState(void*);
|
||||||
|
void Client_AmmoX(void*);
|
||||||
|
void Client_AmmoShort(void*);
|
||||||
|
|
||||||
typedef void (*funEventCall)(void*);
|
typedef void (*funEventCall)(void*);
|
||||||
|
|
||||||
|
@ -69,6 +69,9 @@ int gmsgTeamScore;
|
|||||||
int gmsgScoreShort;
|
int gmsgScoreShort;
|
||||||
int gmsgPTeam;
|
int gmsgPTeam;
|
||||||
|
|
||||||
|
int gmsgAmmoX;
|
||||||
|
int gmsgAmmoShort;
|
||||||
|
|
||||||
RankSystem g_rank;
|
RankSystem g_rank;
|
||||||
Grenades g_grenades;
|
Grenades g_grenades;
|
||||||
|
|
||||||
@ -100,6 +103,9 @@ struct sUserMsg {
|
|||||||
{ "ScoreShort",&gmsgScoreShort,NULL,false },
|
{ "ScoreShort",&gmsgScoreShort,NULL,false },
|
||||||
{ "PTeam",&gmsgPTeam,NULL,false },
|
{ "PTeam",&gmsgPTeam,NULL,false },
|
||||||
|
|
||||||
|
{ "AmmoX",&gmsgAmmoX,Client_AmmoX,false},
|
||||||
|
{ "AmmoShort",&gmsgAmmoShort,Client_AmmoShort,false},
|
||||||
|
|
||||||
{ 0,0,0,false }
|
{ 0,0,0,false }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -102,11 +102,13 @@ void Client_CurWeapon(void* mValue){
|
|||||||
if ( !iState || !isModuleActive() )
|
if ( !iState || !isModuleActive() )
|
||||||
break;
|
break;
|
||||||
int iClip = *(int*)mValue;
|
int iClip = *(int*)mValue;
|
||||||
|
mPlayer->current = iId;
|
||||||
|
|
||||||
if ( weaponData[iId].needcheck ){
|
if ( weaponData[iId].needcheck ){
|
||||||
iId = get_weaponid(mPlayer);
|
iId = get_weaponid(mPlayer);
|
||||||
mPlayer->current = iId;
|
mPlayer->current = iId;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iClip > -1) {
|
if (iClip > -1) {
|
||||||
if ( mPlayer->current == 17 ){
|
if ( mPlayer->current == 17 ){
|
||||||
if ( iClip+2 == mPlayer->weapons[iId].clip)
|
if ( iClip+2 == mPlayer->weapons[iId].clip)
|
||||||
@ -186,3 +188,30 @@ void Client_Health_End(void* mValue){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client_AmmoX(void* mValue){
|
||||||
|
static int iAmmo;
|
||||||
|
switch (mState++){
|
||||||
|
case 0:
|
||||||
|
iAmmo = *(int*)mValue;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!mPlayer ) break;
|
||||||
|
for(int i = 1; i < MAX_WEAPONS ; ++i)
|
||||||
|
if (iAmmo == weaponData[i].ammoSlot)
|
||||||
|
mPlayer->weapons[i].ammo = *(int*)mValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Client_AmmoShort(void* mValue){
|
||||||
|
static int iAmmo;
|
||||||
|
switch (mState++){
|
||||||
|
case 0:
|
||||||
|
iAmmo = *(int*)mValue;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!mPlayer ) break;
|
||||||
|
for(int i = 1; i < MAX_WEAPONS ; ++i)
|
||||||
|
if (iAmmo == weaponData[i].ammoSlot)
|
||||||
|
mPlayer->weapons[i].ammo = *(int*)mValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user