You are viewing our Forum Archives. To view or take place in current topics click here.
Mw2 Pick Up Guns [Code Release]
Posted:
Mw2 Pick Up Guns [Code Release]Posted:
Status: Offline
Joined: Sep 20, 201212Year Member
Posts: 2,136
Reputation Power: 312
Status: Offline
Joined: Sep 20, 201212Year Member
Posts: 2,136
Reputation Power: 312
Well i'm not motivated to finish this project so i have decided to release the picking up guns :
i wasn't going to post this but hell with it. i haven't seen anyone post this so here it is :
Things you will need to find yourself :
Im not going to give you everything use google its all easy to find.
and yes the code is really really bad i know i'm still learning so dont hate because the code is messy.
Enjoy it ;)
i wasn't going to post this but hell with it. i haven't seen anyone post this so here it is :
void DistanceText(){
for(int i = 0;i<18;i++){
float*PlayerPosition = (float*)(getPlayerState(i) + 0x1C);
if(DistanceText(PlayerPosition,Intervention) <5){
setText(Hud[clientIndex].DistanceText, "Press [{+usereload}] To Swap Weapon To Intervention", 3, 1.2, 85, 150, 0x05, 1.0);
break;
}else{
setText(Hud[clientIndex].DistanceText, "", 3, 1.2, 85, 150, 0x05, 1.0);
break;
}
}
}
if(KeyDown(s, BUTTON_X)){
float*PlayerPosition = (float*)(getPlayerState(clientIndex) + 0x1C);
if(Distance(PlayerPosition, Intervention,KeyDown(s, "n 11")) < 5){
float*PlayerPosition = (float*)(getPlayerState(clientIndex) + 0x1C);
GiveWeap(clientIndex,"cheytac_fmj_xmags_mp",false,true,true, 7);
}
}
Things you will need to find yourself :
XamInputGetStateAsm
XamInputGetStateHook
Vec3DistanceSq
Distance
Im not going to give you everything use google its all easy to find.
and yes the code is really really bad i know i'm still learning so dont hate because the code is messy.
Enjoy it ;)
The following 4 users thanked Nissan for this useful post:
#2. Posted:
Status: Offline
Joined: Jul 17, 201410Year Member
Posts: 36
Reputation Power: 1
Status: Offline
Joined: Jul 17, 201410Year Member
Posts: 36
Reputation Power: 1
Very Nice Release my friend hh)
- 1useful
- 0not useful
#3. Posted:
Status: Offline
Joined: Aug 13, 201410Year Member
Posts: 8
Reputation Power: 0
RGHJTAGZ wrote
void DistanceText(){
for(int i = 0;i<18;i++){
float*PlayerPosition = (float*)(getPlayerState(i) + 0x1C);
if(DistanceText(PlayerPosition,Intervention) <5){
setText(Hud[clientIndex].DistanceText, "Press [{+usereload}] To Swap Weapon To Intervention", 3, 1.2, 85, 150, 0x05, 1.0);
break;
}else{
setText(Hud[clientIndex].DistanceText, "", 3, 1.2, 85, 150, 0x05, 1.0);
break;
}
}
}
if(KeyDown(s, BUTTON_X)){
float*PlayerPosition = (float*)(getPlayerState(clientIndex) + 0x1C);
if(Distance(PlayerPosition, Intervention,KeyDown(s, "n 11")) < 5){
float*PlayerPosition = (float*)(getPlayerState(clientIndex) + 0x1C);
GiveWeap(clientIndex,"cheytac_fmj_xmags_mp",false,true,true, 7);
}
}
Why are you using a break in that for loop ? It would only break the all client loop.
you are also defining PlayerPosition twice in the second function
But a good share i guess
- 0useful
- 0not useful
#4. Posted:
Status: Offline
Joined: Sep 20, 201212Year Member
Posts: 2,136
Reputation Power: 312
Status: Offline
Joined: Sep 20, 201212Year Member
Posts: 2,136
Reputation Power: 312
XeSao wroteRGHJTAGZ wrote
void DistanceText(){
for(int i = 0;i<18;i++){
float*PlayerPosition = (float*)(getPlayerState(i) + 0x1C);
if(DistanceText(PlayerPosition,Intervention) <5){
setText(Hud[clientIndex].DistanceText, "Press [{+usereload}] To Swap Weapon To Intervention", 3, 1.2, 85, 150, 0x05, 1.0);
break;
}else{
setText(Hud[clientIndex].DistanceText, "", 3, 1.2, 85, 150, 0x05, 1.0);
break;
}
}
}
if(KeyDown(s, BUTTON_X)){
float*PlayerPosition = (float*)(getPlayerState(clientIndex) + 0x1C);
if(Distance(PlayerPosition, Intervention,KeyDown(s, "n 11")) < 5){
float*PlayerPosition = (float*)(getPlayerState(clientIndex) + 0x1C);
GiveWeap(clientIndex,"cheytac_fmj_xmags_mp",false,true,true, 7);
}
}
Why are you using a break in that for loop ? It would only break the all client loop.
you are also defining PlayerPosition twice in the second function
But a good share i guess
thanks and i tried it alot of ways and thats the only way i could get to work so i just struck with it lol feel free to change it so its better
- 0useful
- 0not useful
#5. Posted:
Status: Offline
Joined: Aug 08, 201410Year Member
Posts: 70
Reputation Power: 5
Status: Offline
Joined: Aug 08, 201410Year Member
Posts: 70
Reputation Power: 5
I've known RGHJTAGZ for a while now, he's probably one of the best people on TTG. He's amazing, my idol. I'd love to become like him! This is again, another great release! Keep it up, maybe I'll take off where you left? ;)
- 0useful
- 1not useful
#6. Posted:
Status: Offline
Joined: Dec 02, 201013Year Member
Posts: 321
Reputation Power: 23
Good Release
Thanks for helping out the Community.
Thanks for helping out the Community.
- 0useful
- 0not useful
#7. Posted:
Status: Offline
Joined: Aug 13, 201410Year Member
Posts: 8
Reputation Power: 0
Spawn the Elem when you connect:
setText(Hud[Client].DistanceText, "", 3, 1.2, 85, 150, 0x5, 1.0);
I wrote this in notepad
You can also just put it in the XamLoop
Edit: I noticed that i did something wrong. But i got it fixed now
How to use:
float Position[3] = { 305, 455, 237 };
DistanceWeapon(&Position, "cheytac_mp", "Intervention");
setText(Hud[Client].DistanceText, "", 3, 1.2, 85, 150, 0x5, 1.0);
void DistanceWeapon(float *WeaponPosition, char *Weapon, char *WeaponInfo)
{
for(int i=0;i<18;i++)
{
if(Vec3DistanceSq(WeaponPosition, (float*)(PlayerState(i) + 0x1C)) < 5*5 && !Hud[i].DistanceText->elem.text)
{
Hud[i].DistanceText->elem.text = G_LocalizedStringIndex(va("Press [{+userload}] To Swap Weapon To %s", WeaponInfo));
if(Key_IsDown(i) & BUTTON_X)
{
GiveWeap(i, Weapon ,false,true,true, 7);
}
}
else
{
if(Hud[i].DistanceText->elem.text != 0)
Hud[i].DistanceText->elem.text = 0;
}
}
}
I wrote this in notepad
You can also just put it in the XamLoop
Edit: I noticed that i did something wrong. But i got it fixed now
How to use:
float Position[3] = { 305, 455, 237 };
DistanceWeapon(&Position, "cheytac_mp", "Intervention");
- 2useful
- 0not useful
#8. Posted:
Status: Offline
Joined: Sep 20, 201212Year Member
Posts: 2,136
Reputation Power: 312
Status: Offline
Joined: Sep 20, 201212Year Member
Posts: 2,136
Reputation Power: 312
XeSao wrote Spawn the Elem when you connect:
setText(Hud[Client].DistanceText, "", 3, 1.2, 85, 150, 0x5, 1.0);
void DistanceWeapon(float *WeaponPosition, char *Weapon, char *WeaponInfo)
{
for(int i=0;i<18;i++)
{
if(Vec3DistanceSq(WeaponPosition, (float*)(PlayerState(i) + 0x1C)) < 5*5 && !Hud[i].DistanceText->elem.text)
{
Hud[i].DistanceText->elem.text = G_LocalizedStringIndex(va("Press [{+userload}] To Swap Weapon To %s", WeaponInfo));
if(Key_IsDown(i) & BUTTON_X)
{
GiveWeap(i, Weapon ,false,true,true, 7);
}
}
else
{
if(Hud[i].DistanceText->elem.text != 0)
Hud[i].DistanceText->elem.text = 0;
}
}
}
I wrote this in notepad
You can also just put it in the XamLoop
Edit: I noticed that i did something wrong. But i got it fixed now
How to use:
float Position[3] = { 305, 455, 237 };
DistanceWeapon(&Position, "cheytac_mp", "Intervention");
i'm still learning so my code isn't the best but thanks for re-righting it to make it better
- 0useful
- 0not useful
#9. Posted:
Status: Offline
Joined: Aug 10, 201410Year Member
Posts: 21
Reputation Power: 1
Status: Offline
Joined: Aug 10, 201410Year Member
Posts: 21
Reputation Power: 1
int BG_GetWeaponDef(int weapId)
{
return *(int*)(0x8255A320 + (weapId * 4));
}
int getWorldXModel(int weapId, int variant=0)
{
return *(int*)(BG_GetWeaponDef(weapId) + (0x1D0+(variant*4)));
}
char*getWeaponModel(char*weaponName, int variant=0)
{
return (char*)(getWorldXModel(G_GetWeaponIndexForName(weaponName), variant));
}
float distance(float*v1, float*v2)
{
return sqrt((v1[0]-v2[0])*(v1[0]-v2[0])+(v1[1]-v2[1])*(v1[1]-v2[1])+(v1[2]-v2[2])*(v1[2]-v2[2]));
}
int spawnWeapon(char*weaponName, float*origin)
{
int weap = G_Spawn();
*(short*)(weap + 0x172) = *(short*)(weap + 0x174) = 0x11E4;
for(int i = 0, f = 0; i < 3; i++, f += 4)
{
*(float*)(weap+(0x138+f)) = oriign[i];
}
*(short*)(weap + 0x168) = G_ModelIndex(getWeaponModel(weaponName));
sp_script_model(weap);
return weap;
}
Then you can just do a simple distance check between a players origin, and the weapons origin. Checking if distance is less than 50 is when the player is pretty much on top if not around a small radius of the location. Then you can simply give the weapon, give ammo for that weapon and then switch to the weapon. You could have add a boolean parameter for if you want to delete the weapon after it's been taken, You can just call G_FreeEntity since it has support for all types of entities.
- 2useful
- 0not useful
#10. Posted:
Status: Offline
Joined: Jul 17, 201410Year Member
Posts: 36
Reputation Power: 1
Status: Offline
Joined: Jul 17, 201410Year Member
Posts: 36
Reputation Power: 1
UnknownC0der wrote
int BG_GetWeaponDef(int weapId)
{
return *(int*)(0x8255A320 + (weapId * 4));
}
int getWorldXModel(int weapId, int variant=0)
{
return *(int*)(BG_GetWeaponDef(weapId) + (0x1D0+(variant*4)));
}
char*getWeaponModel(char*weaponName, int variant=0)
{
return (char*)(getWorldXModel(G_GetWeaponIndexForName(weaponName), variant));
}
float distance(float*v1, float*v2)
{
return sqrt((v1[0]-v2[0])*(v1[0]-v2[0])+(v1[1]-v2[1])*(v1[1]-v2[1])+(v1[2]-v2[2])*(v1[2]-v2[2]));
}
int spawnWeapon(char*weaponName, float*origin)
{
int weap = G_Spawn();
*(short*)(weap + 0x172) = *(short*)(weap + 0x174) = 0x11E4;
for(int i = 0, f = 0; i < 3; i++, f += 4)
{
*(float*)(weap+(0x138+f)) = oriign[i];
}
*(short*)(weap + 0x168) = G_ModelIndex(getWeaponModel(weaponName));
sp_script_model(weap);
return weap;
}
Then you can just do a simple distance check between a players origin, and the weapons origin. Checking if distance is less than 50 is when the player is pretty much on top if not around a small radius of the location. Then you can simply give the weapon, give ammo for that weapon and then switch to the weapon. You could have add a boolean parameter for if you want to delete the weapon after it's been taken, You can just call G_FreeEntity since it has support for all types of entities.
oh look its Kyza on TTG now lol!
- 0useful
- 0not useful
You are viewing our Forum Archives. To view or take place in current topics click here.