GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: S1radan - 10 Mayıs 2021, 10:23:05

Başlık: Objeye yakın değilse uyarı verdirme
Gönderen: S1radan - 10 Mayıs 2021, 10:23:05
Öncelikle selamın aleyküm

Üyeler bir objeye yakın değilse komutu kullanınca o objenin orada olmadan kullanılmaması istiyorum not objeyi kendileri spawn ediyorlar o yüzden sadece IsPlayerInRangeOfPoint ile olmuyor
Başlık: Ynt: Objeye yakın değilse uyarı verdirme
Gönderen: chinohead - 10 Mayıs 2021, 11:44:51
bir yere bunu koy, satırlarda gerekli açıklamaları yaptım
PAWN Kodu: Seç
GetClosestObject(playerid, Float: range = 5.0)
{
    new id = -1, Float: playerdist, Float: tempdist = 9999.0;
    foreach(new i : Objects) // bu satır temsili, eğer dinamik bir sistemse bu vardır diye düşünüyorum
    {
        playerdist = GetPlayerDistanceFromPoint(playerid, objeninXi, objeninYsi, objeninZsi); // buraya da muhtemelen var olan enumdaki X, Y değişkenlerinin isimlerini yaz
        if(playerdist > range) continue;
        if(playerdist <= tempdist)
        {
            tempdist = playerdist;
            id = i;
        }
    }
    return id;
}

bunu da komutun içerisine ekleyeceksin
PAWN Kodu: Seç
new id = GetClosestObject(playerid);
if(id == -1) return SendClientMessage(playerid, -1, "objeye yakın değilsin");
Başlık: Ynt: Objeye yakın değilse uyarı verdirme
Gönderen: S1radan - 10 Mayıs 2021, 12:38:45
Alıntı yapılan: chinohead - 10 Mayıs 2021, 11:44:51
bir yere bunu koy, satırlarda gerekli açıklamaları yaptım
PAWN Kodu: Seç
GetClosestObject(playerid, Float: range = 5.0)
{
    new id = -1, Float: playerdist, Float: tempdist = 9999.0;
    foreach(new i : Objects) // bu satır temsili, eğer dinamik bir sistemse bu vardır diye düşünüyorum
    {
        playerdist = GetPlayerDistanceFromPoint(playerid, objeninXi, objeninYsi, objeninZsi); // buraya da muhtemelen var olan enumdaki X, Y değişkenlerinin isimlerini yaz
        if(playerdist > range) continue;
        if(playerdist <= tempdist)
        {
            tempdist = playerdist;
            id = i;
        }
    }
    return id;
}

bunu da komutun içerisine ekleyeceksin
PAWN Kodu: Seç
new id = GetClosestObject(playerid);
if(id == -1) return SendClientMessage(playerid, -1, "objeye yakın değilsin");
Reis bizim sistem dinamik olmadığı için çalışmıyor
Başlık: Ynt: Objeye yakın değilse uyarı verdirme
Gönderen: chinohead - 10 Mayıs 2021, 13:14:38
Alıntı
objeyi kendileri spawn ediyorlar
bu nasıl oluyor o zaman? neyse attığım kodları ayarlarsan yapabilirsin. istediğin şeyin yolu bu
Başlık: Ynt: Objeye yakın değilse uyarı verdirme
Gönderen: S1radan - 10 Mayıs 2021, 13:55:11
Çözdüm konu kapatılabilir