GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Mod Galerisi => Konuyu başlatan: ook - 07 Şubat 2020, 03:02:06

Başlık: realist silah sistemi
Gönderen: ook - 07 Şubat 2020, 03:02:06
PAWN Kodu: Seç
#define COLT 22

enum pData{
colt,
coltcekti,
coltmermi,
coltsarjor

};
new player[MAX_PLAYERS][pData];

if (strcmp("/colt", cmdtext, true, 10) == 0)
{
player[playerid][colt]=1;
    player[playerid][coltmermi]=0;
    player[playerid][coltsarjor]=3;
    return 1;
}
if (strcmp("/coltcek",cmdtext, true,10)==0)
{
if(player[playerid][colt]==1&&player[playerid][coltcekti]==0)
{
SetPlayerAttachedObject(playerid, 1, 346, 6);
player[playerid][coltcekti]=1;
GivePlayerWeapon(playerid,COLT,player[playerid][coltmermi]);
}
else if(player[playerid][colt]==1&&player[playerid][coltcekti]==1)
{
RemovePlayerAttachedObject(playerid,1);
player[playerid][coltcekti]=0;
player[playerid][coltmermi]=GetPlayerAmmo(playerid);
SetPlayerAmmo(playerid, COLT, 0);

}
else
{
    SendClientMessage(playerid,-1,"Colt'a sahip değilsin.Ya da silahı elinde tutuyorsun.");
}
return 1;
}
if(strcmp("/reload",cmdtext,true,10)==0)
{
if(player[playerid][colt]==1&&player[playerid][coltcekti]==1&&player[playerid][coltsarjor]>0)
{
RemovePlayerAttachedObject(playerid,1);
SetPlayerAmmo(playerid, COLT, 0);
GivePlayerWeapon(playerid,COLT,7);
  player[playerid][coltsarjor]--;
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DUCK) { ApplyAnimation (playerid , "PYTHON" , "python_crouchreload" , 4.0 , 0 , 0 , 0 , 0 , 500); }
else { ApplyAnimation (playerid , "PYTHON" , "python_reload" , 4.0 , 0 , 0 , 0 , 0 , 500); }
}
        return 1;
}

Bu ne yapar? Silah mermisi bittiği zaman normalde sampta elden kaybolur. Bunda kaybolmuyor silahın modeli elinde duruyor. Silah boşkende silahı çekebiliyosun. Boş silahla artistlik yapabilirsin yani bir nevi. Realist olması için şarjör sistemi getirdim.

Örneğin 7 mermin var iki tane sıktın kaldı 5. (Bir şarjör 7 mermi) . Şarjör değiştirdiğin zaman 7+5 olmuyor, şarjörün bir azalıyor mermin 7 oluyor. /colt kodu sistemi denemek amaçlı siz modunuza göre yedirirsiniz.

Ben sadece colta göre yaptım. Credits veremiyeceğim ama alta başkasının yaptığı iki fonksiyon paylaşıyorum. Bu iki fonksiyonda silah modelini direk buluyor. Onunla her silaha entegre edersiniz.

PAWN Kodu: Seç
SetPlayerEmptyWeapon( playerid, weaponid )
{
return SetPlayerAttachedObject(playerid, 1,GetWeaponModel(weaponid),  6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
}
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;
}

Yabancı kardeşlerimden kim yaptıysa bu iki fonksiyonun credits ona.
Başlık: Ynt: realist silah sistemi
Gönderen: Juliet - 07 Şubat 2020, 12:04:28
Yararlı bir konu
Başlık: Ynt: realist silah sistemi
Gönderen: santiagocss - 11 Şubat 2020, 17:44:52
Yararlı olmuş, mahallelere gidip boş silahla racon keseriz
Başlık: Ynt: realist silah sistemi
Gönderen: ☨Gaviria☨ - 11 Şubat 2020, 21:13:16
Yararlı +-+
Başlık: Ynt: realist silah sistemi
Gönderen: sharax - 29 Haziran 2021, 19:04:20
yararlı
Başlık: Ynt: realist silah sistemi
Gönderen: Impeccable - 02 Temmuz 2021, 20:13:25
Güzel, elinize sağlık.:helal: