Bu anlatımla eklentilerde zaman kullanımı kolaylaştırmayı hedefliyorum.
Zamana dayalı oluşturmak istediğiniz fonksiyonlar artık sizin için ulaşılabilinir olacak.
Anlatımı şu şekilde yapacağım ;
Öncelikle kütüphanenin çalışması için gereken ortamı oluşturmayı göstereceğim.
Daha sonra zaman kavramını kullanarak bir kaç örnek arka arkaya sıralayacağım.
Kütüphanenin Çalışması İçin ;
[ 1 ] --> dynamic_time.inc dosyası addons/amxmodx/scripting/include klasöründe bulunmalıdır.
[ 2 ] --> dynamic_time.sma eklentisi sunucuda kurulu olmalıdır.
NOT : Eklentiyi kurduktan sonra amx_time_menu komutuyla tarihi ayarlamayı unutmayın.
Bu menü ile tarihi doğru bir şekilde kaydettiğinizde sunucunun kendi saati yanlış olsa dahi siz veriyi doğru bir şekilde çekebileceksiniz.
Bu iki dosyaya buradan erişebilirsiniz :
Veri Çekme İşlemi ;
Bir zaman verisini çekmek için kullanacağımız kod get_dynamic_time(ZAMAN TÜRÜ) olacaktır.
Komutu kullanırken zamanın hangi birimini çekmek istiyorsak ZAMAN TÜRÜ olarak belirtmemiz gerekmektedir.
Örnek olarak dakikayı çekmek istiyorsanız ZAMAN TÜRÜ kısmında Time_Minute olarak belirtmemiz gerekmetedir.
Dakikanın haricinde şu zaman çekme türlerini de kullanabilirsiniz.
Gelecek Bir Tarihten Veri Çekme ;
Örnek Kullanımlar ;
1 : Tarihi Yazdırma
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <dynamic_time>
#define PLUGIN "Tarih Yazdirma"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /thetime","Tarihi_Yazdir")
register_clcmd("say /tarih","Tarihi_Yazdir")
register_clcmd("say /saat","Tarihi_Yazdir")
}
public Tarihi_Yazdir(id){
new Dakika = get_dynamic_time(Time_Minute)
new Saat = get_dynamic_time(Time_Hour)
new Gun = get_dynamic_time(Time_Day)
new Ay = get_dynamic_time(Time_Month)
new Yil = get_dynamic_time(Time_Year)
client_print_color(id,print_team_default,"^3Tarih : ^1%d/%d/%d , ^3Saat : ^1%d:%d",Gun,Ay,Yil,Saat,Dakika)
return PLUGIN_HANDLED
}
2 : Her Saat Başı Bildirim Verme
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <dynamic_time>
#define PLUGIN "Her Saat Başı Bildirim Verme"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(10.0,"Dakikalik_Kontrol")
}
public Dakikalik_Kontrol(){
new Dakika = get_dynamic_time(Time_Minute)
new Saat = get_dynamic_time(Time_Hour)
if ( Dakika == 0 ){
client_print_color(0,print_team_default,"^3Saat : ^1%d:%d",Saat,Dakika)
}
set_task(60.0,"Dakikalik_Kontrol")
}
3 : Çanakkale Zaferi Mesajı
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <dynamic_time>
#define PLUGIN "Çanakkale Zaferi Mesajı"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"
new Zafer_Gunu = 0
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
Zafer_Gunu_Kontrolu()
}
public Zafer_Gunu_Kontrolu(){
// 18 MART || Gün:18 - Ay:3
new Ay = get_dynamic_time(Time_Month)
new Gun = get_dynamic_time(Time_Day)
if ( Gun == 18 && Ay == 3 )
Zafer_Gunu = 1
}
public client_putinserver(id){
if ( Zafer_Gunu == 1 )
set_task(15.0,"Mesaj_Ver",id)
}
public Mesaj_Ver(id){
client_print_color(id,print_team_default,"^4*** ^3Çanakkale Zaferimiz Kutlu Olsun ^4***")
}
4 : Gece 12 ' den Sabah 9 ' a Kadar Özel Cvar Ayarları
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <dynamic_time>
#define PLUGIN "Gece 12 ' den Sabah 9 ' a Kadar Özel Cvar Ayarları"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(10.0,"Kontrol")
}
public Kontrol(){
new Saat = get_dynamic_time(Time_Hour)
if ( Saat < 9)
Gece_Cvar_Kodlari()
else set_task(60.0,"Kontrol")
}
public Gece_Cvar_Kodlari(){
set_cvar_num("sv_gravity",600)
set_cvar_num("mp_startmoney" ,2000)
set_cvar_num("mp_timeleft" ,30)
}