SA:MP Destek Blogu
Samp Destek Sitesi

Anti Weapon Hack

Anti weapon hack nasıl yapılır? San Andreas Multiplayer'da silah hilesini engellemenin en basit yolu nedir? Aşağıdaki adımları takip ettiğiniz takdirde sunucunuzda silah hilesi yapılmasının önüne geçebilir ve sunucunuzun huzurunu bozan oyunculara son verebilirsiniz.

SA-MP serverlarının büyük düşmanlarından silah hilesini engellemek için ilk önce silah atışlarını değerlendirmemize yardımcı olan OnPlayerWeaponShot'a gidiyoruz. Oyun modunuzda bu callback bulunmuyorsa aşağıdaki kodları doğrudan modunuzun sonuna ekleyebilirsiniz. Bunun tam aksi hâlinde kodun tamamını değil callback içerisini almanız gerekir çünkü modunuzda zaten var olan bir şeyi yeniden kullanırsanız derleyiciniz size hata mesajı gösterecektir.
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new silahadi[24];
GetWeaponName(weaponid, silahadi, 24); // Ateş ettiği silahın ismini çekiyoruz.
if(GetPVarInt(playerid, silahadi) != 1) // Ateş ettiği silahın yönetici veya sistem tarafından verilip verilmediğini kontrol ediyoruz.
{
Kick(playerid); // Bu kısım oyuncu hile yapmışsa gerçekleşmesini istediğiniz işlemleri ekleyeceğiniz kısım.
return 0; // Atışın geçersiz olmasını sağlıyoruz.
}
return 1;
}
OnPlayerConnect'e aşağıdaki kodları yerleştirin.
 
Silahsifirla(playerid);

CTRL + H tuşlarını kullanarak bul ve değiştir aracını açın. İlk kutunun içine "GivePlayerWeapon", ikinci kutunun içine Silahver yazın ve GivePlayerWeapon fonksiyonunu kullandığınız tüm yerleri Silahver olarak değiştirin. CTRL + H ile bul ve değiştir aracını bir kez daha açın. Bu sefer ResetPlayerWeapons Silahsifirla yazın.
 
Modun sonuna şu kodları ekleyin:
stock Silahver(playerid, silahid, mermi)
{
new silahadi[24]
GivePlayerWeapon(playerid, silahid, mermi);
GetWeaponName, silahid, silahadi, 24);
SetPVarInt(playerid, silahadi, 1);
return 1;
}
stock Silahsifirla(playerid)
{
SetPVarInt(playerid, "Rocket Launcher", 0);
SetPVarInt(playerid, "Minigun", 0);
SetPVarInt(playerid, "Golf Club", 0);
SetPVarInt(playerid, "Fire Extinguisher", 0);
SetPVarInt(playerid, "Baseball Bat", 0);
SetPVarInt(playerid, "Dildo", 0);
SetPVarInt(playerid, "Chainsaw", 0);
SetPVarInt(playerid, "Heat Seaker", 0);
SetPVarInt(playerid, "Nite Stick", 0);
SetPVarInt(playerid, "Shovel", 0);
SetPVarInt(playerid, "Desert Eagle", 0);
SetPVarInt(playerid, "Vibrator", 0);
SetPVarInt(playerid, "Katana", 0);
SetPVarInt(playerid, "Pool Cue", 0);
SetPVarInt(playerid, "Tec9", 0);
SetPVarInt(playerid, "Camera", 0);
SetPVarInt(playerid, "Brass Knuckles", 0);
SetPVarInt(playerid, "HS Rocket", 0);
SetPVarInt(playerid, "Bomb", 0);
SetPVarInt(playerid, "Teargas", 0);
SetPVarInt(playerid, "Cane", 0);
SetPVarInt(playerid, "Colt 45", 0);
SetPVarInt(playerid, "M4", 0);
SetPVarInt(playerid, "Grenade", 0);
SetPVarInt(playerid, "Satchel Explosives", 0);
SetPVarInt(playerid, "AK47", 0);
SetPVarInt(playerid, "Thermal Goggles", 0);
SetPVarInt(playerid, "Spray Can", 0);
SetPVarInt(playerid, "Flowers", 0);
SetPVarInt(playerid, "Molotov Cocktail", 0);
SetPVarInt(playerid, "Silenced Pistol", 0);
SetPVarInt(playerid, "Rifle", 0);
SetPVarInt(playerid, "Sniper Rifle", 0);
SetPVarInt(playerid, "UZI", 0);
SetPVarInt(playerid, "MP5", 0);
SetPVarInt(playerid, "Sawn-off Shotgun", 0);
SetPVarInt(playerid, "Combat Shotgun", 0);
SetPVarInt(playerid, "Shotgun", 0);
SetPVarInt(playerid, "Flamethrower", 0);
SetPVarInt(playerid, "Night Vis Goggles", 0);
SetPVarInt(playerid, "Knife", 0);
ResetPlayerWeapons(playerid);
return 1;
}
Son olarak oyun modunuzda artık GivePlayerWeapon veya ResetPlayerWeapons kullanmayın. Bunlar yerine sırasıyla Silahver ve Silahsifirla kullanın. Ayrıca filterscriptlerde GivePlayerWeapon veya ResetPlayerWeapons kullanmayın.

Uyarı: AddPlayerClass fonksiyonunda oyuncu için silah seçtiyseniz sistem o silahı kullananları hile olarak algılayabilir. Bunu aşmak için AddPlayerClass'ta ilgili kısımlardaki silah idsini ve mermisini 0 olarak değiştirin. Oyunculara silah vermek istiyorsanız OnPlayerSpawn'da "Silahver(playerid, silah, mermi)" kodunu kullanın.
Mesaj At
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol