GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

Anti Wall Shoot (Duvardan Sıkma) ~ Colandreas - Alternatif

Başlatan _Code, 13 Mart 2021, 12:58:28

« önceki - sonraki »

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

_Code

Bu eklentiyi kullanmak için oyun modunuzun colandreas plugini kullanması gerekir.
Scripti test edecek zaman bulamadım ama teorik olarak çalışır vaziyette.



Duvardayim(forplayer,playerid)
{
if(GetPlayerInterior(forplayer) != 0) return 1;
new Float:x, Float:y, Float:z, Float:endx, Float:endy,Float:endz;

new Float:fPX, Float:fPY, Float:fPZ, Float:fVX, Float:fVY, Float:fVZ;
           

const Float:fScale = 2.0;

GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
GetPlayerCameraFrontVector(forplayer, fVX, fVY, fVZ);

x = fPX + floatmul(fVX, fScale);
y = fPY + floatmul(fVY, fScale);
z = fPZ + floatmul(fVZ, fScale);
       

GetPlayerPos(playerid,endx,endy,endz);


if(CA_RayCastLine(x, y, z, endx, endy, endz, fPX, fPX, fPX)) return 0; //Eğer attığımız ışın bir engele çarptıysa yani ateş eden oyuncunun önünde duvar varsa

return 1;
}

public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart) //OnPlayerTakeDamage'de olur
{

if((weapon > 21 && weapon != 35 && weapon != 42 && weapon < 47) && issuerid != INVALID_PLAYER_ID) //ateşli silahlar
{
if(!Duvardayim(issuerid,playerid)) return 0;
}
return 1;
}

Alternatif (Colandreas Olmadan):

Kamera(playerid)
{
new Float:fPX, Float:fPY, Float:fPZ;
GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
if(IsPlayerInRangeOfPoint(playerid,5.0, fPX, fPY, fPZ)) return 1;
return 0;
}

public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart) //OnPlayerTakeDamage'de olur
{

if(issuerid != INVALID_PLAYER_ID)
{
if(!Kamera(issuerid)) return 0;
}

return 1;
}

İşe yaramayana kadar alternatifi kullanmanızı öneririm.

Son düzenlenme: 16 Mart 2021, 18:09:02 _Code Sebep: Alternatif Script




SA:MP Turkiye CnR IP: server.sampturkiyecnr.com:7777

Bilinmeyen Bey

Paylaşım için çok sağol :helal: , duvardan vuran kişiler sinirbozucu oluyor. :helal:


zhecknn

It's all over, just silence..

Belkide Gameover

Paylaşım için teşekkürler, Code yapıyor bu sporu Survival Dayz modun çok iyi eline sağlık

bloodsucker

Radless

ColAndreas gerçekten yararlı bir eklenti, kullanmasını bilen anti hile konusunda bir çok şey yapabilir.

"Life's too short to hold grudges."

squarepants

Paylaşım için teşekkürler, ancak bu biraz uzun bir yol ve colandreas biraz ağır bir eklenti olduğu için her sunucu için kullanışlı olduğunu sanmıyorum. Bunu kontrol edebilmek için mermi bitiş koordinatları arasındaki mesafeyi hesaplamak yeterli olacaktır:
stock wKontrol(playerid, hedef, Float:tolerans = 0.5)
{
    new Float:basX, Float:basY, Float:basZ, Float:bitX, Float:bitY, Float:bitZ;
    GetPlayerLastShotVectors(playerid, basX, basY, basZ, bitX, bitY, bitZ);
    if(IsPlayerRangeOfPoint(hedef, tolerans, bitX, bitY, bitZ)) return 0;
    return 1;
}
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
{
    if(wKontrol(playerid, damagedid)) return Kick(playerid);
    return 1;
}
Son düzenlenme: 13 Mart 2021, 15:54:48 ThePosition

kaan.

Eline sağlık, paylaşım için teşekkürler.


SpawN

ColAndreas'a gerek yok, başka forumda açık açık paylaşmıştım, tekrardan burayada atayım, yaptığın sistem de WallShot işler sadece bir
mermi, vector copy yapmak yeterli bunu aşmak için.  OnPlayerTakeDamage, Weaponconfig var ise OnPlayerDamage ve weaponidleri weapon yapabilirsniz.
PAWN Kodu: Seç
        new Float:xcamera, Float:ycamera, Float:zcamera;
        GetPlayerCameraPos(issuerid, xcamera, ycamera, zcamera);
    if(weaponid >= 22 && weaponid <= 38 && !IsPlayerInRangeOfPoint(issuerid, 3.0, xcamera, ycamera, zcamera))
    {
        return 0; // WallShot
    }
Son düzenlenme: 15 Mart 2021, 23:23:35 SpawN

_Code

Alıntı yapılan: SpawN - 15 Mart 2021, 23:22:16
ColAndreas'a gerek yok, başka forumda açık açık paylaşmıştım, tekrardan burayada atayım, yaptığın sistem de WallShot işler sadece bir
mermi, vector copy yapmak yeterli bunu aşmak için.  OnPlayerTakeDamage, Weaponconfig var ise OnPlayerDamage ve weaponidleri weapon yapabilirsniz.
PAWN Kodu: Seç
        new Float:xcamera, Float:ycamera, Float:zcamera;
        GetPlayerCameraPos(issuerid, xcamera, ycamera, zcamera);
    if(weaponid >= 22 && weaponid <= 38 && !IsPlayerInRangeOfPoint(issuerid, 3.0, xcamera, ycamera, zcamera))
    {
        return 0; // WallShot
    }

Tamda paylaşacaktım teşekkür ederim.
Ama bir gün bu hilenin farklı bir alternatifi çıkarsa colandreas'dan başka çaremiz olmayabilir.






SA:MP Turkiye CnR IP: server.sampturkiyecnr.com:7777

_Code

Alıntı yapılan: Radless - 13 Mart 2021, 15:21:30
ColAndreas gerçekten yararlı bir eklenti, kullanmasını bilen anti hile konusunda bir çok şey yapabilir.

Airbreak gibi hilelerinde önüne geçilebilir.
Bu eklentiyle çok güzel işler çıkartılabilir tek eksi yanı ağır bir eklenti olması.





SA:MP Turkiye CnR IP: server.sampturkiyecnr.com:7777

SpawN

Alıntı yapılan: _Code - 15 Mart 2021, 23:58:10
Alıntı yapılan: SpawN - 15 Mart 2021, 23:22:16
ColAndreas'a gerek yok, başka forumda açık açık paylaşmıştım, tekrardan burayada atayım, yaptığın sistem de WallShot işler sadece bir
mermi, vector copy yapmak yeterli bunu aşmak için.  OnPlayerTakeDamage, Weaponconfig var ise OnPlayerDamage ve weaponidleri weapon yapabilirsniz.
PAWN Kodu: Seç
        new Float:xcamera, Float:ycamera, Float:zcamera;
        GetPlayerCameraPos(issuerid, xcamera, ycamera, zcamera);
    if(weaponid >= 22 && weaponid <= 38 && !IsPlayerInRangeOfPoint(issuerid, 3.0, xcamera, ycamera, zcamera))
    {
        return 0; // WallShot
    }

Tamda paylaşacaktım teşekkür ederim.
Ama bir gün bu hilenin farklı bir alternatifi çıkarsa colandreas'dan başka çaremiz olmayabilir.


Ben teşekkür ederim, zaten SA-MP packetlerden oluşan bir bağlantı aracı, Rak-Net de siz ne yapsanız 3.parti yazılım developerları tam tersini yapabilir, en iyisi herşeyi kendinize bırakmak sır olarak kalırsa bulamazlar ama bakıyor bir 3.parti yazılım developeri cameraposa bakmış bide vec3copy atalım cameraposunda gözükelim der :)


squarepants

@_Code merhabalar, alternatif fonksiyon çalışmayacaktır, ilk nedeni her iki durumda da 1 değerini döndürmesi, ikinci nedeni ise oyuncu kimliğine ait kamera pozisyon koordinat noktaları alındı ve daha sonra ise aynı oyuncu için alınan kamera koordinat noktasının 5.0 değeri için kapsama alanı içerisinde olup olmadığı kontrol edildi, bu durumda oyuncu kendisi ile çelişmiş olacak ve her zaman için kendi kamera noktasına yakın duracaktır. Bu durumda fonksiyon yine düzgün çalıimayacak. Aslında yukarıda yazmış olduğum kod bloğunu inceleyebilirsin, ne demek istediğim belki daha net anlaşılabilir. Tekrardan paylaşım için teşekkürler, iyi forumlar.



_Code

Alıntı yapılan: ThePosition - 16 Mart 2021, 12:44:32
@_Code merhabalar, alternatif fonksiyon çalışmayacaktır, ilk nedeni her iki durumda da 1 değerini döndürmesi, ikinci nedeni ise oyuncu kimliğine ait kamera pozisyon koordinat noktaları alındı ve daha sonra ise aynı oyuncu için alınan kamera koordinat noktasının 5.0 değeri için kapsama alanı içerisinde olup olmadığı kontrol edildi, bu durumda oyuncu kendisi ile çelişmiş olacak ve her zaman için kendi kamera noktasına yakın duracaktır. Bu durumda fonksiyon yine düzgün çalıimayacak. Aslında yukarıda yazmış olduğum kod bloğunu inceleyebilirsin, ne demek istediğim belki daha net anlaşılabilir. Tekrardan paylaşım için teşekkürler, iyi forumlar.

Evet fark ettim hatayı hocam bu detayı yakaladığın için teşekkürler. :helal:





SA:MP Turkiye CnR IP: server.sampturkiyecnr.com:7777

Harun