Günde 1 Defa Vault Dosyasının Sıfırlanması

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Pzt Eyl 14, 2020 10:00 am

Konu Sahibi
Mesajlar: 19
Kayıt: Pzt May 25, 2020 11:43 pm
Her gün ayarladığım saatte deneme.vault dosyası sıfırlanacak veya silinecek teşekkürler.

Link:
Linklerini gizle
Linki Kopyala

Pzt Eyl 14, 2020 10:10 am

Pzt Eyl 14, 2020 1:44 pm
Kullanıcı avatarı

Mesajlar: 246
Kayıt: Cum Eyl 15, 2017 3:52 pm
Konum: Giresun
İletişim:
eklenti,

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <nvault>

#define determined 24		//Saat dilimini buradan ayarlayın.
new g_vault;

public plugin_init(){
	register_plugin
	(
		.plugin_name ="Nvault Reset",
		.version = "0.1",
		.author = "Aconyonn"
	);

	set_task(10.0,"check");
}
public plugin_cfg(){
	g_vault = nvault_open("Reset");
	if(g_vault == INVALID_HANDLE){
		log_amx("%i: nVault dosyasi acilamadi",g_vault);
	}
}
public plugin_end(){
	nvault_close(g_vault);
}
public check(){
	new hours[3];get_time("%H",hours,charsmax(hours));
	new useh=str_to_num(hours);
	if(useh >= determined){
		nvault_prune(g_vault,0,get_systime());
	}
	else{
		set_task(60.0,"check");
	}
}
fatih'in yorumda bahsettiği yardımcı olabilecek bir kütüphanesi var. onu yükleyip kullanabilirsiniz, viewtopic.php?p=240672#p240672

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <dynamic_time>
#include <nvault>

#define determined 24		//Saat dilimini buradan ayarlayın.
new g_vault;

public plugin_init(){
	register_plugin
	(
		.plugin_name ="Nvault Reset",
		.version = "0.1",
		.author = "Aconyonn"
	);

	set_task(10.0,"check");
}
public plugin_cfg(){
	g_vault = nvault_open("Reset");
	if(g_vault == INVALID_HANDLE){
		log_amx("%i: nVault dosyasi acilamadi",g_vault);
	}
}
public plugin_end(){
	nvault_close(g_vault);
}
public check(){
	new hours=get_dynamic_time(Time_Hour);
	if(hours >= determined){
		nvault_prune(g_vault,0,get_systime());
	}
	else{
		set_task(60.0,"check");
	}
}
I'm not a bad guy
I'm not a good guy
I'm the guy...

-RR
(believe that)

Link:
Linklerini gizle
Linki Kopyala

Pzt Eyl 14, 2020 1:51 pm

Konu Sahibi
Mesajlar: 19
Kayıt: Pzt May 25, 2020 11:43 pm
teşekkürler

Link:
Linklerini gizle
Linki Kopyala

Sal Eyl 15, 2020 5:49 pm

Konu Sahibi
Mesajlar: 19
Kayıt: Pzt May 25, 2020 11:43 pm
Yaptığım plugini kendi hlds sunucumda deniyorum /sil yazip map değiştimde vaultu sıfırlıyor ancak csdurağında denediğimde tepki vermiyor. Yaptığınız pluginde de aynı komut var işe yaramıyor.

Kod: Tümünü seç

#include <amxmodx>
#include <nvault>
#include <fakemeta>

#define PLUGIN "vault silme"
#define VERSION "1.0"
#define AUTHOR "vault"


#define KAYIT_DOSYASI_ADI "vault"

new Dosya
new Hour[3], Minute[3];
new yeter = 0
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("amx_cvault","Verileri_Sil")
	register_clcmd("say /sil","Verileri_Sil")		/// Kullanıldığında Bir Dakikayı Geçmiş Bütün Veriler Silinir.
	register_forward(FM_CmdStart,"pCmdStart"); 
	yeter = 0
}

///***********************************************************************///
public pCmdStart(id){
    get_time("%H", Hour, 2);
    get_time("%M", Minute, 2);
    if(equal(Hour, "10") && equal(Minute, "10") && yeter == 0) {
    Verileri_Sil()	
    yeter = 1
     
    }
    return PLUGIN_HANDLED
} 
public Verileri_Sil(){
	
	
	
	nvault_prune( Dosya , 0 , get_systime() ) 

	
}



public plugin_cfg() /// Sunucu Başlatıldığında Çalışır.
{
	
	Dosya = nvault_open(KAYIT_DOSYASI_ADI);
	
	if ( Dosya == INVALID_HANDLE )	/// DOSYA AÇILAMADIYSA
		set_fail_state( "Vault Dosyasi Acilamadi !" );
	
	
}

public plugin_end() /// Sunucu Kapatıldığında Çalışır.
{
	nvault_close( Dosya );
}

Link:
Linklerini gizle
Linki Kopyala

Sal Eyl 15, 2020 6:02 pm
Kullanıcı avatarı

Mesajlar: 2662
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:
@Aconyonn

Her 60 saniyede bir kontrol ettirmene gerek yok. Plugin_init kısmında bir kere kontrol ettirmen yeterli.

Link:
Linklerini gizle
Linki Kopyala

Sal Eyl 15, 2020 7:32 pm
Kullanıcı avatarı

Mesajlar: 1844
Kayıt: Çrş Ağu 23, 2017 9:17 pm
İletişim:
Get_time yerine direkt time(...) kullanabilirsiniz. Str yi num a çevirmek yerine direkt num alırsınız.
Sunucunun saati ile gerçek saat arasında fark olabiliyor.
Dost dediğin kalbini soymuş.


Bâkî kalan bu kubbede bir hoş sadâ imiş

Link:
Linklerini gizle
Linki Kopyala

Sal Eyl 15, 2020 7:35 pm
Kullanıcı avatarı

Mesajlar: 2662
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:
Colditz yazdı:
Sal Eyl 15, 2020 7:32 pm
Get_time yerine direkt time(...) kullanabilirsiniz. Str yi num a çevirmek yerine direkt num alırsınız.
Sunucunun saati ile gerçek saat arasında fark olabiliyor.
Zamam kütüphanesi de tam olarak bu sorunu çözmeye yardımcı oluyor. Sunucu saati ve tarihi ne olursa olsun istenilen veriyi doğru bir şekilde çekmeye yardımcı oluyor.

Link:
Linklerini gizle
Linki Kopyala

Sal Eyl 15, 2020 8:51 pm

Konu Sahibi
Mesajlar: 19
Kayıt: Pzt May 25, 2020 11:43 pm
Yalnız burada sorun zaman değil. nvault_prune kodu işe yaramıyor csdurağında denediğimde. Saya /sil yazdığım zaman zamana bağlı olmaksızın sıfırlaması gerekirdi.

Link:
Linklerini gizle
Linki Kopyala

Prş Eyl 17, 2020 11:43 am
Kullanıcı avatarı

Mesajlar: 246
Kayıt: Cum Eyl 15, 2017 3:52 pm
Konum: Giresun
İletişim:
yamibakura yazdı:
Sal Eyl 15, 2020 8:51 pm
Yalnız burada sorun zaman değil. nvault_prune kodu işe yaramıyor csdurağında denediğimde. Saya /sil yazdığım zaman zamana bağlı olmaksızın sıfırlaması gerekirdi.
yukarıdaki yorumda bahsettiğiniz nvault için kullanılacak değişkeni bir veriye tanımlamadığınız için çalışmaması normal... bir veriye tanımlayın ve sonra tekrar deneyin..
I'm not a bad guy
I'm not a good guy
I'm the guy...

-RR
(believe that)

Link:
Linklerini gizle
Linki Kopyala

Cevapla