GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: beratmethe - 04 Ocak 2022, 19:38:18

Başlık: Whitelist Script ?
Gönderen: beratmethe - 04 Ocak 2022, 19:38:18
Elinizde 0.3.7 uyumlu whitelist sistemi varmı ? varsa atabilirmisiniz ?
Başlık: Ynt: Whitelist Script ?
Gönderen: squarepants - 06 Ocak 2022, 21:41:55
Senin için aşağıda temel bir örnek uygulama hazırlamaya çalıştım. Beyaz listeye alınan oyuncuları scriptfiles dosya klasörü içerisinden kontrol edebilirsin.Bu sayede oyuncuya çevrimdışı olarak da müdahale edebilirsin. İyi forumlar.
#define MAX_METIN_UZUNLUK   (10)

stock List_Ekle(playerid = 0xFFFF, playeridx = 0xFFFF, isim[MAX_PLAYER_NAME])
{
if(IsPlayerConnected(playeridx))
{
  new
ymetin[MAX_PLAYER_NAME + MAX_METIN_UZUNLUK],
  File:mdosya
;
format(ymetin, sizeof ymetin, "%s.txt", isim);
                if((fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
                mdosya = fopen(ymetin, io_append);
fwrite(mdosya, "BEYAZ LISTEYE ALINDI");
        fclose(mdosya);
}
        else
        {
             return SendClientMessage(playerid, -1, "Oyuncu Aktif Degil (!)");
        }
        return 1;
}
CMD:blistekle(playerid, params[])
{
new isim[MAX_PLAYER_NAME], kimlik;
if(sscanf(params,"d", kimlik))
    return SendClientMessage(playerid, -1, "/blistekle [playerid]");
GetPlayerName(kimlik, isim, MAX_PLAYER_NAME);
List_Ekle(playerid, kimlik, isim);
return 1;
}
Başlık: Ynt: Whitelist Script ?
Gönderen: beratmethe - 09 Ocak 2022, 14:08:20
Alıntı yapılan: ThePosition - 06 Ocak 2022, 21:41:55
Senin için aşağıda temel bir örnek uygulama hazırlamaya çalıştım. Beyaz listeye alınan oyuncuları scriptfiles dosya klasörü içerisinden kontrol edebilirsin.Bu sayede oyuncuya çevrimdışı olarak da müdahale edebilirsin. İyi forumlar.
#define MAX_METIN_UZUNLUK   (10)

stock List_Ekle(playerid = 0xFFFF, playeridx = 0xFFFF, isim[MAX_PLAYER_NAME])
{
if(IsPlayerConnected(playeridx))
{
  new
ymetin[MAX_PLAYER_NAME + MAX_METIN_UZUNLUK],
  File:mdosya
;
format(ymetin, sizeof ymetin, "%s.txt", isim);
                if((fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
                mdosya = fopen(ymetin, io_append);
fwrite(mdosya, "BEYAZ LISTEYE ALINDI");
        fclose(mdosya);
}
        else
        {
             return SendClientMessage(playerid, -1, "Oyuncu Aktif Degil (!)");
        }
        return 1;
}
CMD:blistekle(playerid, params[])
{
new isim[MAX_PLAYER_NAME], kimlik;
if(sscanf(params,"d", kimlik))
    return SendClientMessage(playerid, -1, "/blistekle [playerid]");
GetPlayerName(kimlik, isim, MAX_PLAYER_NAME);
List_Ekle(playerid, kimlik, isim);
return 1;
}
@ThePosition

hata:

(4574) : error 001: expected token: ")", but found "return"
__________________________________________________________
hata veren satır:

if((fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
Başlık: Ynt: Whitelist Script ?
Gönderen: squarepants - 09 Ocak 2022, 14:13:56
O satırı aşağıdaki şekilde düzenler misin :
if(fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
Başlık: Ynt: Whitelist Script ?
Gönderen: beratmethe - 09 Ocak 2022, 14:26:16
Alıntı yapılan: ThePosition - 09 Ocak 2022, 14:13:56
O satırı aşağıdaki şekilde düzenler misin :
if(fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
@ThePosition
Hatası Çözüldü Teşekkürler Fakat 2 Tane Sorum Var. Bunun Whitlistli Kişileri Scriptfiles İçindeki Dosyaya Kayıt Etmesini Nasıl Yapabilirim. Birde Whitelist'i Olmayanların Sunucuya Bağlanınca Kicklenmesini Nasıl Yapabilirim 
Başlık: Ynt: Whitelist Script ?
Gönderen: squarepants - 09 Ocak 2022, 16:20:21
@Zwen komutu kullandığında kişi varsayılan olarak scriptfiles klasörü içerisinde kayıt olacak. Kişinin listede olup olmadığını kontrol edebilmek için aşağıdaki örneği kullanabilirsin :

stock List_Kontrol(playerid = 0xFFFF)
{
    new isim[MAX_PLAYER_NAME], isformat[MAX_PLAYER_NAME + 5];
    GetPlayerName(playerid, isim, MAX_PLAYER_NAME);
    format(isformat, sizeof isformat, "%s.txt", isim);
    if(fexist(isformat)) return true;
    return false;
}
if(List_Kontrol(playerid) == true) // eğer isim listede ise
if(List_Kontrol(playerid) == false) // eğer isim listede değil ise
Başlık: Ynt: Whitelist Script ?
Gönderen: beratmethe - 09 Ocak 2022, 16:49:31
Alıntı yapılan: ThePosition - 09 Ocak 2022, 16:20:21
@Zwen komutu kullandığında kişi varsayılan olarak scriptfiles klasörü içerisinde kayıt olacak. Kişinin listede olup olmadığını kontrol edebilmek için aşağıdaki örneği kullanabilirsin :

stock List_Kontrol(playerid = 0xFFFF)
{
    new isim[MAX_PLAYER_NAME], isformat[MAX_PLAYER_NAME + 5];
    GetPlayerName(playerid, isim, MAX_PLAYER_NAME);
    format(isformat, sizeof isformat, "%s.txt", isim);
    if(fexist(isformat)) return true;
    return false;
}
if(List_Kontrol(playerid) == true) // eğer isim listede ise
if(List_Kontrol(playerid) == false) // eğer isim listede değil ise
Peki Whitelist'i Olmayanların Sunucuya Bağlanınca Kicklenmesini Nasıl Yapabilirim @ThePosition
Başlık: Ynt: Whitelist Script ?
Gönderen: squarepants - 09 Ocak 2022, 17:07:28
public OnPlayerConnect(playerid)
{
    if(List_Kontrol(playerid) == false) return SendClientMessage(playerid, -1, "Listede Olmadiginiz İcin Atildiniz (!)"), Kick(playerid);
    return 1;
}
Başlık: Ynt: Whitelist Script ?
Gönderen: beratmethe - 09 Ocak 2022, 17:18:26
Alıntı yapılan: ThePosition - 09 Ocak 2022, 17:07:28
public OnPlayerConnect(playerid)
{
    if(List_Kontrol(playerid) == false) return SendClientMessage(playerid, -1, "Listede Olmadiginiz İcin Atildiniz (!)"), Kick(playerid);
    return 1;
}
Oyuna Girdiğimde Hiç Yazı Felan Çıkmıyor Hemen Kickliyor Kendimi Nasıl Whitelist'e Ekleyeceğim @ThePosition
Başlık: Ynt: Whitelist Script ?
Gönderen: squarepants - 09 Ocak 2022, 17:34:50
Scriptfiles adlı dosya klasörün içerisinde isminiz.txt adında bir metin belgesi oluşturabilirsiniz.
Başlık: Ynt: Whitelist Script ?
Gönderen: beratmethe - 09 Ocak 2022, 17:44:17
Alıntı yapılan: ThePosition - 09 Ocak 2022, 17:34:50
Scriptfiles adlı dosya klasörün içerisinde isminiz.txt adında bir metin belgesi oluşturabilirsiniz.
Yardımın İçin Teşekkürler
Başlık: Ynt: Kilitli Konulara Taşınabilir
Gönderen: beratmethe - 10 Ocak 2022, 12:40:59
Konu K&K