GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: siviare - 10 Şubat 2020, 14:15:10

Başlık: Silah hasarlarını değiştirmek için yardım eder misiniz?
Gönderen: siviare - 10 Şubat 2020, 14:15:10
Merhaba yakında bir sunucu açacağım, silah hasarlarını değiştirmek istiyorum. Bunu nasıl yapabilirim, yardım eder misiniz? Şu meşhur yabancı sunucuda ki gibi silah hasarlarını nasıl yapabilirim?
Başlık: Ynt: Silah hasarlarını değiştirmek için yardım eder misiniz?
Gönderen: squarepants - 10 Şubat 2020, 15:58:11
Aşağıdaki argümanı kullanabilirsin.

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    if(issuerid != INVALID_PLAYER_ID && weaponid == 34) // Silah ID : Sniper
    {
        new
           Float:can;
        GetPlayerHealth(playerid,can); SetPlayerHealth(playerid, can-50); // hasar miktarı
    }
    return 0;
}
Başlık: Ynt: Silah hasarlarını değiştirmek için yardım eder misiniz?
Gönderen: siviare - 10 Şubat 2020, 17:50:59
Alıntı yapılan: ThePosition - 10 Şubat 2020, 15:58:11
Aşağıdaki argümanı kullanabilirsin.

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    if(issuerid != INVALID_PLAYER_ID && weaponid == 34) // Silah ID : Sniper
    {
        new
           Float:can;
        GetPlayerHealth(playerid,can); SetPlayerHealth(playerid, can-50); // hasar miktarı
    }
    return 0;
}

Yapacağım herhangi bir şey var mı? Birde kod sırasını söyler misin, böyle işlere yeni girdim.
Başlık: Ynt: Silah hasarlarını değiştirmek için yardım eder misiniz?
Gönderen: siviare - 10 Şubat 2020, 21:08:49
Konu hala yardıma açık.
Başlık: Ynt: Silah hasarlarını değiştirmek için yardım eder misiniz?
Gönderen: flareoNNN - 10 Şubat 2020, 23:27:16
new Float: SilahHasarlari[] =
{
1.0, // 0 - Fist
1.0, // 1 - Brass knuckles
1.0, // 2 - Golf club
1.0, // 3 - Nitestick
1.0, // 4 - Knife
1.0, // 5 - Bat
1.0, // 6 - Shovel
1.0, // 7 - Pool cue
1.0, // 8 - Katana
1.0, // 9 - Chainsaw
1.0, // 10 - Dildo
1.0, // 11 - Dildo 2
1.0, // 12 - Vibrator
1.0, // 13 - Vibrator 2
1.0, // 14 - Flowers
1.0, // 15 - Cane
82.5, // 16 - Grenade
0.0, // 17 - Teargas
1.0, // 18 - Molotov
9.9, // 19 - Vehicle M4 (custom)
46.2, // 20 - Vehicle minigun (custom)
0.0, // 21
8.25, // 22 - Colt 45
13.2, // 23 - Silenced
46.2, // 24 - Deagle
3.3, // 25 - Shotgun
3.3, // 26 - Sawed-off
4.95, // 27 - Spas
6.6, // 28 - UZI
8.25, // 29 - MP5
9.9, // 30 - AK47
9.9, // 31 - M4
6.6, // 32 - Tec9
24.75, // 33 - Cuntgun
41.25, // 34 - Sniper
82.5, // 35 - Rocket launcher
82.5, // 36 - Heatseeker
1.0, // 37 - Flamethrower
46.2, // 38 - Minigun
82.5, // 39 - Satchel
0.0, // 40 - Detonator
0.33, // 41 - Spraycan
0.33, // 42 - Fire extinguisher
0.0, // 43 - Camera
0.0, // 44 - Night vision
0.0, // 45 - Infrared
0.0, // 46 - Parachute
0.0, // 47 - Fake pistol
2.64, // 48 - Pistol whip (custom)
9.9, // 49 - Vehicle
330.0, // 50 - Helicopter blades
82.5, // 51 - Explosion
1.0, // 52 - Car park (custom)
1.0, // 53 - Drowning
165.0  // 54 - Splat
}; // weapon-config.inc

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID && playerid != INVALID_PLAYER_ID)
{
    HasarVer(playerid, weaponid);
}
return false;
}

stock HasarVer(playerid, weaponid)
{
new Float: zirh;
GetPlayerArmour(playerid, zirh);

if(zirh > 0.0)
{
    zirh -= SilahHasarlari[weaponid];
    if(zirh < 0.0)
    {
        SetPlayerArmour(playerid, 0.0);
        new Float: hp;
        GetPlayerHealth(playerid, hp);
        SetPlayerHealth(playerid, (hp - (zirh * -1)));
    }
    else
    {
        SetPlayerArmour(playerid, zirh);
    }
}
else
{
    new Float: can;
    GetPlayerHealth(playerid, can);
    SetPlayerHealth(playerid, can - SilahHasarlari[weaponid]);
}
return true;
}

Stocku aynen geçir. OnPlayerTakeDamage'ı yukarıdaki gibi düzenle ve return değerinin false olmasına dikkat et. Silahların hasarını en üstteki değerlerle oynayarak değiştirebilirsin. Değerlerin yanında hangi silah olduğu yazıyor. Kolay gelsin. Ayrıyeten girdiğin değerler silahın vereceği toplam hasar değil, sadece 1 hit yani 1 mermi sıktığında atacağı hasardır.
Başlık: Ynt: Silah hasarlarını değiştirmek için yardım eder misiniz?
Gönderen: Enkei - 20 Şubat 2020, 01:14:28
Alıntı yapılan:  Bölüm kuralları
Açılan taleplerin son iletisi 10 günü geçmesi durumunda; konu kilitlenip, kilitli konular bölümüne taşınacaktır.

K/A.