SA-MP Forums Archive
weapon change - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: weapon change (/showthread.php?tid=660141)



weapon change - Zeus666 - 25.10.2018

Hi. Someone helped me a long time ago with a script.

If I have M4 (ex) and scroll it, the weapon gets attached on my back.


My question how can I edit with customizable position? (Those x,y,z arrows to put everywhere I want) via cmd

PHP код:
CMD:gunholdster(playerid,params[])
{
..........


PHP код:
        if(tickcount() - armedbody_pTick[playerid] > 113)
        {
            new
                
weaponid[13],weaponammo[13],pArmedWeapon;
            
pArmedWeapon GetPlayerWeapon(playerid);
            
GetPlayerWeaponData(playerid,1,weaponid[1],weaponammo[1]);
            
GetPlayerWeaponData(playerid,2,weaponid[2],weaponammo[2]);
            
GetPlayerWeaponData(playerid,4,weaponid[4],weaponammo[4]);
            
GetPlayerWeaponData(playerid,5,weaponid[5],weaponammo[5]);
            
#if ARMEDBODY_USE_HEAVY_WEAPON
            
GetPlayerWeaponData(playerid,7,weaponid[7],weaponammo[7]);
            
#endif
            
if(weaponid[1] && weaponammo[1] > 0){
                if(
pArmedWeapon != weaponid[1]){
                    if(!
IsPlayerAttachedObjectSlotUsed(playerid,5)){
                        
//SetPlayerAttachedObject(playerid,5,GetWeaponModel(weaponid[1]),1, 0.199999, -0.139999, 0.030000, 0.500007, -115.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                        
SetPlayerAttachedObjectplayerid5GetWeaponModel(weaponid[1]), 16, -0.1950320.120565, -0.0524460.00000020.2500000.0000000.9686020.9049521.110462 );
                    }
                }
                else {
                    if(
IsPlayerAttachedObjectSlotUsed(playerid,5)){
                        
RemovePlayerAttachedObject(playerid,5);
                    }
                }
            }
            else if(
IsPlayerAttachedObjectSlotUsed(playerid,5)){
                
RemovePlayerAttachedObject(playerid,5);
            }
            if(
weaponid[2] && weaponammo[2] > 0){
                if(
pArmedWeapon != weaponid[2]){
                    if(!
IsPlayerAttachedObjectSlotUsed(playerid,6)){
                        
//SetPlayerAttachedObject(playerid,6,GetWeaponModel(weaponid[2]),8, -0.079999, -0.039999, 0.109999, -90.100006, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                        
SetPlayerAttachedObject(playerid6GetWeaponModel(weaponid[2]), 12, -0.050205, -0.069741, -0.08091220.17999817.460956354.6689451.1509071.0611560.884258 );
                    }
                }
                else {
                    if(
IsPlayerAttachedObjectSlotUsed(playerid,6)){
                        
RemovePlayerAttachedObject(playerid,6);
                    }
                }
            }
            else if(
IsPlayerAttachedObjectSlotUsed(playerid,6)){
                
RemovePlayerAttachedObject(playerid,6);
            }
            if(
weaponid[4] && weaponammo[4] > 0){
                if(
pArmedWeapon != weaponid[4]){
                    if(!
IsPlayerAttachedObjectSlotUsed(playerid,7)){
                        
SetPlayerAttachedObject(playerid,7,GetWeaponModel(weaponid[4]),70.000000, -0.100000, -0.080000, -95.000000, -10.0000000.0000001.0000001.0000001.000000);
                    }
                }
                else {
                    if(
IsPlayerAttachedObjectSlotUsed(playerid,7)){
                        
RemovePlayerAttachedObject(playerid,7);
                    }
                }
            }
            else if(
IsPlayerAttachedObjectSlotUsed(playerid,7)){
                
RemovePlayerAttachedObject(playerid,7);
            }
            if(
weaponid[5] && weaponammo[5] > 0){
                if(
pArmedWeapon != weaponid[5]){
                    if(!
IsPlayerAttachedObjectSlotUsed(playerid,8)){
                        
SetPlayerAttachedObject(playerid,8,GetWeaponModel(weaponid[5]),10.200000, -0.119999, -0.0599990.000000206.0000000.0000001.0000001.0000001.000000);
                    }
                }
                else {
                    if(
IsPlayerAttachedObjectSlotUsed(playerid,8)){
                        
RemovePlayerAttachedObject(playerid,8);
                    }
                }
            }
            else if(
IsPlayerAttachedObjectSlotUsed(playerid,8)){
                
RemovePlayerAttachedObject(playerid,8);
            }
            
#if ARMEDBODY_USE_HEAVY_WEAPON
            
if(weaponid[7] && weaponammo[7] > 0){
                if(
pArmedWeapon != weaponid[7]){
                    if(!
IsPlayerAttachedObjectSlotUsed(playerid,9)){
                        
SetPlayerAttachedObject(playerid,9,GetWeaponModel(weaponid[7]),1,-0.1000000.000000, -0.10000084.399932112.00000010.0000001.0999991.0000001.000000);
                    }
                }
                else {
                    if(
IsPlayerAttachedObjectSlotUsed(playerid,9)){
                        
RemovePlayerAttachedObject(playerid,9);
                    }
                }
            }
            else if(
IsPlayerAttachedObjectSlotUsed(playerid,9)){
                
RemovePlayerAttachedObject(playerid,9);
            }
            
#endif
            
armedbody_pTick[playerid] = tickcount();
        }
        }
    return 
1;




Re: weapon change - ReD_HunTeR - 25.10.2018

look for SetPlayerAttachedObject on ur script it might be on onplayerupdate or a 1second timer


Re: weapon change - Zeus666 - 25.10.2018

Quote:
Originally Posted by ReD_HunTeR
Посмотреть сообщение
look for SetPlayerAttachedObject on ur script it might be on onplayerupdate or a 1second timer
Found it, updated my question.


Re: weapon change - v1k1nG - 25.10.2018

I use this filterscript I've attached, I tried to find original post but I couldn't.
Credits are his, I only edit objects ids for my needings.


Re: weapon change - Zeus666 - 25.10.2018

Quote:
Originally Posted by v1k1nG
Посмотреть сообщение
I use this filterscript I've attached, I tried to find original post but I couldn't.
Credits are his, I only edit objects ids for my needings.
This allows me to put everywhere i want the gun on my body?


Re: weapon change - v1k1nG - 26.10.2018

Yes it has all bones, you all need to be sure the object id is in the code and you can edit it.
When saving the object the filterscript will print the function to add in your code, to copy it check server log.


Re: weapon change - Zeus666 - 26.10.2018

Quote:
Originally Posted by v1k1nG
Посмотреть сообщение
Yes it has all bones, you all need to be sure the object id is in the code and you can edit it.
When saving the object the filterscript will print the function to add in your code, to copy it check server log.
Ty very much, I put it instead of filterscript directly in my Gamemode but

PHP код:
Header size:          19288 bytes
Code size
:          1102096 bytes
Data size
:         100890032 bytes
Stack
/heap size:      18000 bytesestimated maxusageunknowndue to recursion
Total requirements
:102029416 bytes 
why?


Re: weapon change - v1k1nG - 26.10.2018

No keep it as filterscript, if you need to attach object later ask here, we can help.


Re: weapon change - Zeus666 - 26.10.2018

Quote:
Originally Posted by v1k1nG
Посмотреть сообщение
No keep it as filterscript, if you need to attach object later ask here, we can help.
well i tried it to keep it as filterscript but In Game, command is unknown


Re: weapon change - v1k1nG - 26.10.2018

I am using it, there should be something you're doing wrong?
To start check out if command processors in fs and GM are compatible