Merhaba arkadaşlar Bu Konumda Silah Hilesinin Fixlemesini Anlatacağım. Başlayalım.
İlk Önce bir deişken oluşturuyoruz
Meslea bir silahı sunucuda engelleyerek silah hilesinide engellemiş olursunuz
new YasakSilahlar[]=
{
38, // engellenicek silah id
37, // engellenicek silah id
36, // engellenicek silah id
31
};
şimdi ise modumuzun sonuna gelip:
forward AntiWeaponHack(playerid);
public AntiWeaponHack(playerid)
{
if(GetPlayerWeapon(playerid) == YasakSilahlar[playerid])
{
Kick(playerid);
return 1;
}
return 1;
}
Bunu Ekliyoruz be Sunucuda istediğiniz silahı engelliyebiliyoruz. İyi Günler.
OnPlayerSpawn'Publicine
SetTimerEx("AntiWeaponHack",1000,true,"i",playerid);
Paylaşım için teşekkür ederim, Melih.
[quote author=
@Eren link=topic=9481.msg90147#msg90147 date=1552218465]
Paylaşım için teşekkür ederim, Melih.
[/quote]
Değerli yorumun için Teşekkürler Erenim.
Çalışmaz. Timer oluşturman gerek.
Eline sağlık. :helal:
Alıntı yapılan: Rouge. - 10 Mart 2019, 15:06:50
Alıntı yapılan: cudless - 10 Mart 2019, 14:54:27
Çalışmaz. Timer oluşturman gerek.
Test ettim.
AntiWeaponHack bu fonksiyon çalışmaz timer yok eksik kopyalamışsın modundan.
Alıntı yapılan: Rouge. - 10 Mart 2019, 15:11:44
Alıntı yapılan: cudless - 10 Mart 2019, 15:08:43
Alıntı yapılan: Rouge. - 10 Mart 2019, 15:06:50
Alıntı yapılan: cudless - 10 Mart 2019, 14:54:27
Çalışmaz. Timer oluşturman gerek.
Test ettim.
AntiWeaponHack bu fonksiyon çalışmaz timer yok eksik kopyalamışsın modundan.
Test ettinmi ?
Arkadaşım fonksiyon var ve bir şey ile etkileşimde değil nasıl çalışacak?
Haklısın reis
Timer yok kardeşim...
Ekledim zannediyorum eklememişim
İyi paylaşım
Paylaşım yapmadan önce dikkat et, demin atarlı atarlı konuşuyordun. Ayrıca çok basit bir yol cidden daha gelişmişleri var.
Ayrıca SilahFixle değişkeninden dolayı hata alırsın. Playerid tanımlı değil, global bir değişken halinde tanıtmışsın.
Paylaşım için teşekkürler Melih.
Alıntı yapılan: Critical - 10 Mart 2019, 15:38:31
Paylaşım için teşekkürler Melih.
Teşekkürler.
Konu güncellendi
Bare Sallama Farklı bir modda test ettim o kodları alıp:
Kanıt : https://i.hizliresim.com/r5DE8M.png
Sen kodları hatalı görüyorsan (ŞUAN) Gör fakat artık konuma birşey yazma. çok kirlettin.
Öncelikle burada
new YasakSilahlar[]=
{
38, // engellenicek silah id
37, // engellenicek silah id
36, // engellenicek silah id
31
};
diye bir küme tanıtmışsın ancak burada kümenin global olduğunu yada playerid tanımlı olmadığını görüyoruz.
forward AntiWeaponHack(playerid);
public AntiWeaponHack(playerid)
{
if(GetPlayerWeapon(playerid) == YasakSilahlar[playerid])
{
Kick(playerid);
return 1;
}
return 1;
}
Burada ise oyuncunun silahını çekip yasaklısilahlar kümesindeki silah ID'sine eşit ise kickle şartı yazmışsın. Ancak orada yasaklisilahlar[playerid] kodunda köşeli parantez içine yazdığın playerid kümedeki rakamları temsil eder yani kümede ilk sırada 38 varsa ve senin ID'n 0 sa kickler. Benim oyuncu ID'm 4 ise ben elime minigunda alsam rokette alsam o şartı sağlamaz.
Alıntı yapılan: Backup - 10 Mart 2019, 15:52:38
Öncelikle burada
new YasakSilahlar[]=
{
38, // engellenicek silah id
37, // engellenicek silah id
36, // engellenicek silah id
31
};
diye bir küme tanıtmışsın ancak burada kümenin global olduğunu yada playerid tanımlı olmadığını görüyoruz.
forward AntiWeaponHack(playerid);
public AntiWeaponHack(playerid)
{
if(GetPlayerWeapon(playerid) == YasakSilahlar[playerid])
{
Kick(playerid);
return 1;
}
return 1;
}
Burada ise oyuncunun silahını çekip yasaklısilahlar kümesindeki silah ID'sine eşit ise kickle şartı yazmışsın. Ancak orada yasaklisilahlar[playerid] kodunda köşeli parantez içine yazdığın playerid kümedeki rakamları temsil eder yani kümede ilk sırada 38 varsa ve senin ID'n 0 sa kickler. Benim oyuncu ID'm 4 ise ben elime minigunda alsam rokette alsam o şartı sağlamaz.
oda benim derdim olsun :0
Benim derdim olsun diyorsunda çalışmayan bir kodu paylaşman ne kadar doğru ?
müsait bir zamanımda test ederim olmadı bir çözümünü bulurum. Şimdi konumdan çıkarmısın.
Paylaşım İçin Teşekkürler!
Anti Weapon Hack'dan ziyade silah engelleme sistemi olmuş; hatalı, kolayca aşılabilir ve performanssız.
En azından birilerinin işine yaraması için değiştirebilirsin.
forward AntiWeaponHack(playerid);
public AntiWeaponHack(playerid)
{
for(new i; i < sizeof(YasakSilahlar); ++i)
{
if(GetPlayerWeapon(playerid) == YasakSilahlar[i])
{
return Kick(playerid);
}
}
return true;
}
Verimliliği arttırmak için KillTimer kullanabilirsin.
Alıntı yapılan: flareoNNN - 10 Mart 2019, 16:48:19
Anti Weapon Hack'dan ziyade silah engelleme sistemi olmuş; hatalı, kolayca aşılabilir ve performanssız.
En azından birilerinin işine yaraması için değiştirebilirsin.
forward AntiWeaponHack(playerid);
public AntiWeaponHack(playerid)
{
for(new i; i < sizeof(YasakSilahlar); ++i)
{
if(GetPlayerWeapon(playerid) == YasakSilahlar[i])
{
return Kick(playerid);
}
}
return true;
}
Verimliliği arttırmak için KillTimer kullanabilirsin.
Teşekkürler.