GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: Utherz - 17 Kasım 2018, 00:06:06

Başlık: Silahı sırta alma
Gönderen: Utherz - 17 Kasım 2018, 00:06:06
Ak-47 M4 mp5 gibi silahları elimizden bırakınca sırta gitmiyor nasıl yapabilirim?

Başlık: Ynt: Silahı sırta alma
Gönderen: Xtration - 17 Kasım 2018, 09:00:14
PAWN Kodu: Seç
#include <a_samp>

#define ARMEDBODY_USE_HEAVY_WEAPON                      (false)

static
        armedbody_pTick[MAX_PLAYERS];
public OnFilterScriptInit(){
        printf("=====================================================================");
        printf("This is a part of a OpenGTA subject, visit opengta.org for more info.");
        printf("FilterScript Name: Armed body");
        printf("Description:Attatch weapond to player s body");
        printf("Author:yezizhu");
        printf("Special thanks:Double-O-Seven, Brian.");
        printf("Contact author: imyzz@opengta.org");
        printf("=====================================================================");
        return true;
}
public OnFilterScriptExit(){
        return true;
}
public OnPlayerUpdate(playerid){
        if(GetTickCount() - armedbody_pTick[playerid] > 113){ //prefix check itter
                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,0)){
                                        SetPlayerAttachedObject(playerid,0,GetWeaponModel(weaponid[1]),1, 0.199999, -0.139999, 0.030000, 0.500007, -115.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                                }
                        }
                        else {
                                if(IsPlayerAttachedObjectSlotUsed(playerid,0)){
                                        RemovePlayerAttachedObject(playerid,0);
                                }
                        }
                }
                else if(IsPlayerAttachedObjectSlotUsed(playerid,0)){
                        RemovePlayerAttachedObject(playerid,0);
                }
                if(weaponid[2] && weaponammo[2] > 0){
                        if(pArmedWeapon != weaponid[2]){
                                if(!IsPlayerAttachedObjectSlotUsed(playerid,1)){
                                        SetPlayerAttachedObject(playerid,1,GetWeaponModel(weaponid[2]),8, -0.079999, -0.039999, 0.109999, -90.100006, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                                }
                        }
                        else {
                                if(IsPlayerAttachedObjectSlotUsed(playerid,1)){
                                        RemovePlayerAttachedObject(playerid,1);
                                }
                        }
                }
                else if(IsPlayerAttachedObjectSlotUsed(playerid,1)){
                        RemovePlayerAttachedObject(playerid,1);
                }
                if(weaponid[4] && weaponammo[4] > 0){
                        if(pArmedWeapon != weaponid[4]){
                                if(!IsPlayerAttachedObjectSlotUsed(playerid,2)){
                                        SetPlayerAttachedObject(playerid,2,GetWeaponModel(weaponid[4]),7, 0.000000, -0.100000, -0.080000, -95.000000, -10.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                                }
                        }
                        else {
                                if(IsPlayerAttachedObjectSlotUsed(playerid,2)){
                                        RemovePlayerAttachedObject(playerid,2);
                                }
                        }
                }
                else if(IsPlayerAttachedObjectSlotUsed(playerid,2)){
                        RemovePlayerAttachedObject(playerid,2);
                }
                if(weaponid[5] && weaponammo[5] > 0){
                        if(pArmedWeapon != weaponid[5]){
                                if(!IsPlayerAttachedObjectSlotUsed(playerid,3)){
                                        SetPlayerAttachedObject(playerid,3,GetWeaponModel(weaponid[5]),1, 0.200000, -0.119999, -0.059999, 0.000000, 206.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                                }
                        }
                        else {
                                if(IsPlayerAttachedObjectSlotUsed(playerid,3)){
                                        RemovePlayerAttachedObject(playerid,3);
                                }
                        }
                }
                else if(IsPlayerAttachedObjectSlotUsed(playerid,3)){
                        RemovePlayerAttachedObject(playerid,3);
                }
                #if ARMEDBODY_USE_HEAVY_WEAPON
                if(weaponid[7] && weaponammo[7] > 0){
                        if(pArmedWeapon != weaponid[7]){
                                if(!IsPlayerAttachedObjectSlotUsed(playerid,4)){
                                        SetPlayerAttachedObject(playerid,4,GetWeaponModel(weaponid[7]),1,-0.100000, 0.000000, -0.100000, 84.399932, 112.000000, 10.000000, 1.099999, 1.000000, 1.000000);
                                }
                        }
                        else {
                                if(IsPlayerAttachedObjectSlotUsed(playerid,4)){
                                        RemovePlayerAttachedObject(playerid,4);
                                }
                        }
                }
                else if(IsPlayerAttachedObjectSlotUsed(playerid,4)){
                        RemovePlayerAttachedObject(playerid,4);
                }
                #endif
                armedbody_pTick[playerid] = GetTickCount();
        }
        return true;
}

       
       
//by Double-O-Seven
stock GetWeaponModel(weaponid)
{
        switch(weaponid)
        {
            case 1:
                return 331;

                case 2..8:
                    return weaponid+331;

        case 9:
                    return 341;

                case 10..15:
                        return weaponid+311;

                case 16..18:
                    return weaponid+326;

                case 22..29:
                    return weaponid+324;

                case 30,31:
                    return weaponid+325;

                case 32:
                    return 372;

                case 33..45:
                    return weaponid+324;

                case 46:
                    return 371;
        }
        return 0;
}
Başlık: Ynt: Silahı sırta alma
Gönderen: Xtration - 17 Kasım 2018, 09:01:22
https://forum.sa-mp.com/showthread.php?t=205666   şuradan buldum çalışıyormu pek bilmiyorum işine yarar gibi
Başlık: Ynt: Silahı sırta alma
Gönderen: Utherz - 17 Kasım 2018, 14:33:52
Teşekkürler.