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.
[b]Kütüphanenin Çalışması İçin ;[/b]
[b][ 1 ] --> dynamic_time.inc[/b] dosyası [b]addons/amxmodx/scripting/include[/b] klasöründe bulunmalıdır.
[b][ 2 ] --> dynamic_time.sma[/b] eklentisi sunucuda kurulu olmalıdır.
[b]NOT :[/b] Eklentiyi kurduktan sonra [b]amx_time_menu[/b] 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 :
[b]Veri Çekme İşlemi ;[/b]
Bir zaman verisini çekmek için kullanacağımız kod [b]get_dynamic_time(ZAMAN TÜRÜ)[/b] olacaktır.
Komutu kullanırken zamanın hangi birimini çekmek istiyorsak [b]ZAMAN TÜRÜ[/b] olarak belirtmemiz gerekmektedir.
Örnek olarak dakikayı çekmek istiyorsanız [b]ZAMAN TÜRÜ[/b] kısmında [b]Time_Minute[/b] olarak belirtmemiz gerekmetedir.

Dakikanın haricinde şu zaman çekme türlerini de kullanabilirsiniz.

[b]Gelecek Bir Tarihten Veri Çekme ;[/b]
[b]

[b]Örnek Kullanımlar :[/b]
[b][b]1-) Tarihi Yazdırma[/b]
[/b]
PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <zaman>
#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(Zaman_Dakika)
new Saat = get_dynamic_time(Zaman_Saat)
new Gun = get_dynamic_time(Zaman_Gun)
new Ay = get_dynamic_time(Zaman_Ay)
new Yil = get_dynamic_time(Zaman_Yil)
client_print_color(id,print_team_default,"^3Tarih : ^1%d/%d/%d , ^3Saat : ^1%d:%d",Gun,Ay,Yil,Saat,Dakika)
return PLUGIN_HANDLED
}
[b]2-) Her Saat Başı Bildirim Verme
[/b]
PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <zaman>
#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(Zaman_Dakika)
new Saat = get_dynamic_time(Zaman_Saat)
if ( Dakika == 0 ){
client_print_color(0,print_team_default,"^3Saat : ^1%d:%d",Saat,Dakika)
}
set_task(60.0,"Dakikalik_Kontrol")
}
[/b]
PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <zaman>
#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(Zaman_Ay)
new Gun = get_dynamic_time(Zaman_Gun)
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***")
}
[b]4-) Gece 12 ' den Sabah 9 ' a Kadar Özel Cvar Ayarları[/b]
PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <zaman>
#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(Zaman_Saat)
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)
}