1. sayfa (Toplam 2 sayfa)

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

Gönderilme zamanı: Pzt Eyl 14, 2020 10:00 am
gönderen yamibakura
Her gün ayarladığım saatte deneme.vault dosyası sıfırlanacak veya silinecek teşekkürler.

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

Gönderilme zamanı: Pzt Eyl 14, 2020 10:10 am
gönderen Fatih ~ EjderYa

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

Gönderilme zamanı: Pzt Eyl 14, 2020 1:44 pm
gönderen Aconyonn
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");
	}
}

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

Gönderilme zamanı: Pzt Eyl 14, 2020 1:51 pm
gönderen yamibakura
teşekkürler

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

Gönderilme zamanı: Sal Eyl 15, 2020 5:49 pm
gönderen yamibakura
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 );
}

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

Gönderilme zamanı: Sal Eyl 15, 2020 6:02 pm
gönderen Fatih ~ EjderYa
@Aconyonn

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

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

Gönderilme zamanı: Sal Eyl 15, 2020 7:32 pm
gönderen Colditz
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.

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

Gönderilme zamanı: Sal Eyl 15, 2020 7:35 pm
gönderen Fatih ~ EjderYa
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.

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

Gönderilme zamanı: Sal Eyl 15, 2020 8:51 pm
gönderen yamibakura
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.

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

Gönderilme zamanı: Prş Eyl 17, 2020 11:43 am
gönderen Aconyonn
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..