Na wstępie chciałbym zaznaczyć, że pracując na dystrybucji Linuxowej (tak - mam Linuxa, nie - nie mam na żadnym z dysków Windowsa, tak - działa mi steam, tak - działa mi Counter Strike
 ) nie posiadam Amx Mod Studio, bo takowy w wersji natywnej na tenże system nie wyszedł (co jest paradoksem swoją drogą)...
) nie posiadam Amx Mod Studio, bo takowy w wersji natywnej na tenże system nie wyszedł (co jest paradoksem swoją drogą)... Działa mi natomiast Pawn Studio (w Wine), lecz teraz byłem po formacie i nie zdążyłem zainstalować.
Tak więc proszę mi wybaczyć ewentualne błędy, aczkolwiek powinno wszystko ładnie współpracować, tak jak być powinno

A oto plugin:
#include <amxmodx>
#include <nvault>
#define PLUGIN	"Save Player's playing time"
#define VERSION	"1.0"
#define AUTHOR	"#Vaverix."
new czas_gry[33];
new g_vault;
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say /gametime","pokaz_czas_gry");
	register_clcmd("say /playingtime","pokaz_czas_gry");
	register_clcmd("say /czasgry","pokaz_czas_gry");
	g_vault = nvault_open("SPPT");
	
	if (g_vault == INVALID_HANDLE)
		set_fail_state( "Nie udalo sie otworzyc pliku nvault!");
}
public client_connect(id)
	wczytaj_czas_gry(id);
public client_disconnect(id)
{
	zapisz_czas_gry(id);
	czas_gry[id] = 0;
}
public wczytaj_czas_gry(id)
{
	new name[35],vaultkey[64],vaultdata[256];
	
	get_user_name(id,name,34);
	format(vaultkey,63,"%s-gametime",name);
	
	nvault_get(g_vault,vaultkey,vaultdata,255);
	
	czas_gry[id] = str_to_num(vaultdata);
	
	return PLUGIN_CONTINUE;
}
public zapisz_czas_gry(id)
{
	new name[35],vaultkey[64],vaultdata[256];
	
	get_user_name(id,name,34);
	czas_gry[id] += get_user_time(id, 1);
	
	format(vaultkey,63,"%s-gametime",name);
	format(vaultdata, 255, "%d", czas_gry[id]);
	
	nvault_set(g_vault,vaultkey,vaultdata)
	
	czas_gry[id] = str_to_num(vaultdata);
	
	return PLUGIN_CONTINUE;
}
public pokaz_czas_gry(id)
{
	new sekundy = (czas_gry[id] + get_user_time(id, 1)), minuty, godziny;
	
	while(sekundy >= 60)
	{
		sekundy -= 60;
		minuty++;
		
	}
	while(minuty >= 60)
	{
		minuty -= 60;
		godziny++;
		
	}
	client_print(id,print_chat,"Grasz juz %ih %imin %is na tym serwerze!", godziny, minuty, sekundy);
	
	return PLUGIN_HANDLED;
}
public plugin_end()
        nvault_close(g_vault);
@ warring - DarkGL
Oczywiście chodziło o Amxx Studio

PS.1 Kod można jeszcze skrócić (zresztą sam w sobie jest krótki), ale chciałem, żeby był w miare przejrzysty

PS.2 Ten post ma tylko i wyłącznie na celu pomóc w problemie zaistniałym w tym temacie, a nie jest to forma jakiegokolwiek żalenia się, chwalenia, czy próby sprowokowania miłośników Windows'a
PS.3 Przy takiej porze, wydajność pracy mózgu spada do minimum

Pozdrawiam.
Załączone pliki
Użytkownik vaverix edytował ten post 14.05.2011 09:31


 Forum
 
Forum
 Użytkownicy
 
Użytkownicy
 Kalendarz
 
Kalendarz
 Dodatki SourceMod
 
Dodatki SourceMod



 
	 Temat jest zamknięty
 Temat jest zamknięty 
					 
				
				
 SPPT.amxx
  SPPT.amxx




 
				
				


 
				
				







