GTAMulti - GTA Türkiye

San Andreas Multiplayer => Anlatımlar => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: |Mert| - 27 Temmuz 2018, 20:17:50

Başlık: VIP Sistemi Oluşturma [dini]
Gönderen: |Mert| - 27 Temmuz 2018, 20:17:50
Merhaba arkadaşlar bilmeyenler için ben gibi pawnoda acemi olanlar için vip sistemi yapmayı göstereceğim.

İlk başta serverimizin ana dizinindeki scriptfiles klasörünün içine VIP adlı yeni klasör açıyoruz ve Dini, dutils ,dudb zcmd ve sscanf2 Includelerini indirip modumuzun başına

#include <Dini>
#include <Dutils>
#include <Dudb>
#include <zcmd>
#include <sscanf2>

#pragma unused ret_memcpy


Yazarak includelerimizi ve fsmizin/modumuzun uyarı vermemesi için ret_memcpyi ekliyoruz


Sonra VIP Değişkenini oluşturacağız bunun için modumuzun en üstüne boş biyere değişkenimizi ekliyoruz.

new VIP[MAX_PLAYERS];


Şimdi OnPlayerConnecte publicine aşşağıdaki kodu ekliyoruz.


new file[250], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
  format(file,sizeof(file),"VIP/%s.ini",name);
if(dini_Exists(file))
{
  VIP[playerid] = dini_Int(file,"VIP");
  }


OnPlayerDisconnect publicine aşşağıdaki kodu ekliyoruz

new file[250], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
    format(file,sizeof(file),"VIP/%s.ini",name);
if(dini_Exists(file) )
{
dini_IntSet(file,"VIP",VIP[playerid]);
}


VIP'lerin chatte özel tagı olması için OnPlayerText publicine

if(VIP[playerid] == 1)
{
new string[300],nick[MAX_PLAYER_NAME];
GetPlayerName(playerid,nick,sizeof(nick));
format(string,sizeof(string),"{00e500}[VIP] {ffffff}%s[%i]: {ffffff}%s",nick,playerid,text);
SendClientMessageToAll(-1,string);
}


kodunu ekliyoruz ama onplayertextin sonundaki return 1 i 0 olarak değiştirmeyi unutmayın yoksa çok karmaşık oluyor oyun içi örnek Mert:[VIP]Mert:asda

Gelelim VIP Yapma komutuna, bunun için boş bi yere aşşağıdaki kodu ekliyoruz

CMD:vipyap(playerid,params[])
{
new pID;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Bu komut için yetkiniz yok!");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, -1,"Kullanım /vipyap [Oyuncu ID]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Oyuncu Bulunamadı");

new oyuncu[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
GetPlayerName(pID, oyuncu, sizeof(oyuncu));
GetPlayerName(playerid, name, sizeof(name));


new string[200];
format(string,sizeof(string),"%s Adlı Yetkili %s Adlı Oyuncuyu VIP Yaptı.",name,oyuncu);
SendClientMessageToAll(-1,string);

new file[250];
  format(file,sizeof(file),"VIP/%s.ini",oyuncu);
dini_Create(file);
dini_IntSet(file,"VIP",1);

VIP[pID] = 1;
return 1;
}



Ve VIP Komutu yapmak istiyoruz örnek:

CMD:vcan(playerid,params[])
{
if(VIP[playerid] == 0) return SendClientMessage(playerid, -1, "Bu komutu kullanabilmek için VIP olmalısın.");  // VIP Değişkeni 0 ise hata mesajı vericek
SendClientMessage(playerid, -1, "Başarıyla canınızı fullediniz!");
SetPlayerHealth(playerid, 100.0);
return 1;
}


Bu şekilde viplere özel komut oluşturabilirsiniz.




Gereken Bütün Includeler:


Dini  Tıkla İndir (https://dracoblue.net/downloads/dini/)

Dutils  Tıkla İndir (https://dracoblue.net/downloads/dutils/)

Dudb  Tıkla İndir (https://dracoblue.net/downloads/dudb/)

zcmd  Tıkla İndir (https://www.solidfiles.com/v/GK2pkM7RpGN22)

sscanf2  Tıkla İndir (https://github.com/maddinat0r/sscanf/releases/download/v2.8.2/sscanf-2.8.2-win32.zip)


Hastebin (https://www.hastebin.com/viweguyexo.cpp)


Eğer anlatımımda eksikler hatalar bulduysanız belirtmeyi unutmayın ve kendim denedim anlattığım sistemi ve sorunsuz bir şekilde çalışıyor.
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: Boss - 27 Temmuz 2018, 21:44:41
Anlatim güzel olmuş dostum . Fakat stringlerin uzunluğu gereksiz uzun geldi bana . Eline sağlık:)
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: |Mert| - 27 Temmuz 2018, 23:32:51
Alıntı yapılan: Boss - 27 Temmuz 2018, 21:44:41

Anlatim güzel olmuş dostum . Fakat stringlerin uzunluğu gereksiz uzun geldi bana . Eline sağlık:)
stringlerin uzunlugu konusunda pek iyi değilim ama düzenledim konuyu
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: DracDonix - 27 Temmuz 2018, 23:34:39
Eline Sağlık
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: |Mert| - 27 Temmuz 2018, 23:37:54
Alıntı yapılan: DracDonix - 27 Temmuz 2018, 23:34:39

Eline Sağlık
teşekkür ederim  :)
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: Adolphe - 28 Temmuz 2018, 06:45:30
Basarilar Eline Saglık  :helal:
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: IsmailGamingTR - 28 Temmuz 2018, 12:13:13
Saol Çok İşime Yaradı
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: Zoxy - 28 Temmuz 2018, 14:51:17
Bence verimsiz bir sistem olmuş. Oyuncu sunucuya bağlandığında dosya oluşturuluyor, sunucuya günde en az 100-200 kişi girse modun boyutu falan çok artar. Bu da VDS'yi falan baya zorlar. Onun yerine oyuncu VIP olunca dosya oluştur. Anlatım için teşekkürler.
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: |Mert| - 28 Temmuz 2018, 17:16:24
Alıntı yapılan: Zoxy - 28 Temmuz 2018, 14:51:17

Bence verimsiz bir sistem olmuş. Oyuncu sunucuya bağlandığında dosya oluşturuluyor, sunucuya günde en az 100-200 kişi girse modun boyutu falan çok artar. Bu da VDS'yi falan baya zorlar. Onun yerine oyuncu VIP olunca dosya oluştur. Anlatım için teşekkürler.
bunu gerçekten hatırlattığın için çok teşekkür ederim aklımdan gitmiş o konuyu düzenledim dediğin gibi yaptım  :D
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: Jawié - 28 Temmuz 2018, 23:34:55
Çok verimsiz ama sonuçta buna da ihtiyacı olan çaylaklar var. Ultra-host sunucularında kullanırlar belki. Çok yiyeceği için Ultra-host tarafından sunucuları kapatılır zaten. Heves almalık bir anlatım, teşekkürler.
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: |Mert| - 28 Temmuz 2018, 23:56:39
Alıntı yapılan: Jawié - 28 Temmuz 2018, 23:34:55

Çok verimsiz ama sonuçta buna da ihtiyacı olan çaylaklar var. Ultra-host sunucularında kullanırlar belki. Çok yiyeceği için Ultra-host tarafından sunucuları kapatılır zaten. Heves almalık bir anlatım, teşekkürler.
teşekkürler eleştrin için zaten ben bunu dini kullananlar için paylaştım ve hani o .ini dosyasi 1mb bile yer kaplamaz gereksiz verimsiz yazman adam vds aliyorsa bi en az 10gb yer olsun yoksa hic almasin  :D
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: Jawié - 29 Temmuz 2018, 00:20:49
Alıntı yapılan: |Mert| - 28 Temmuz 2018, 23:56:39

Alıntı yapılan: Jawié - 28 Temmuz 2018, 23:34:55

Çok verimsiz ama sonuçta buna da ihtiyacı olan çaylaklar var. Ultra-host sunucularında kullanırlar belki. Çok yiyeceği için Ultra-host tarafından sunucuları kapatılır zaten. Heves almalık bir anlatım, teşekkürler.
teşekkürler eleştrin için zaten ben bunu dini kullananlar için paylaştım ve hani o .ini dosyasi 1mb bile yer kaplamaz gereksiz verimsiz yazman adam vds aliyorsa bi en az 10gb yer olsun yoksa hic almasin  :D


Ben onu sadece dosya boyutu için söylemedim zaten güzelim. Dini işlevi verimsiz. Bu verimsizliğin yanında gerçekleşmesini istediğin işlev daha verimsiz.
Başlık: Ynt: VIP Sistemi Oluşturma [dini]
Gönderen: MehmetAKAR - 29 Temmuz 2018, 18:02:16
Anlatım Icın Ellerine Saglık Dostum Sagol  :helal: