Elinizde 0.3.7 uyumlu whitelist sistemi varmı ? varsa atabilirmisiniz ?
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;
}
Alıntı yapılan: ThePosition - 06 Ocak 2022, 21:41:55Senin 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 (!)");
O satırı aşağıdaki şekilde düzenler misin :
if(fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
Alıntı yapılan: ThePosition - 09 Ocak 2022, 14:13:56O satırı aşağıdaki şekilde düzenler misin :
if(fexist(ymetin)) return SendClientMessage(playerid, -1, "Oyuncu Zaten Listede (!)");
@ThePositionHatası Çö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
@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
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
public OnPlayerConnect(playerid)
{
if(List_Kontrol(playerid) == false) return SendClientMessage(playerid, -1, "Listede Olmadiginiz İcin Atildiniz (!)"), Kick(playerid);
return 1;
}
Alıntı yapılan: ThePosition - 09 Ocak 2022, 17:07:28public 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
Scriptfiles adlı dosya klasörün içerisinde isminiz.txt adında bir metin belgesi oluşturabilirsiniz.
Alıntı yapılan: ThePosition - 09 Ocak 2022, 17:34:50Scriptfiles adlı dosya klasörün içerisinde isminiz.txt adında bir metin belgesi oluşturabilirsiniz.
Yardımın İçin Teşekkürler
Konu K&K