←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Optymalizacja pluginu

Zablokowany

  • +
  • -
Pittero - zdjęcie Pittero 17.01.2011

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Czas gry na serwerze"
#define VERSION "1.0"
#define AUTHOR "mweb"

new TotalPlayedTime[33];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR );
}

public client_disconnect(id)
{
TotalPlayedTime[id] = TotalPlayedTime[id] + (get_user_time(id)/60);
SaveTime(id, TotalPlayedTime[id]);
}

public client_putinserver(id)
{
TotalPlayedTime[id] = LoadTime(id);
}

public LoadTime(id)
{
if(!is_user_steam(id))
{
return PLUGIN_HANDLED;
}
new valut = nvault_open("Time_played")

new authid[33];
new vaultkey[64], vaultdata[64];

get_user_authid(id, authid, 32);

format(vaultkey, 63, "TIMEPLAYED%s", authid);

nvault_get(valut, vaultkey, vaultdata, 63);
nvault_close(valut);

return str_to_num(vaultdata);
}

public SaveTime(id,PlayedTime)
{
if(!is_user_steam(id))
{
return PLUGIN_HANDLED;
}

new valut = nvault_open("Time_played")

if(valut == INVALID_HANDLE)
set_fail_state("nValut returned invalid handle")

new authid[33];
new vaultkey[64], vaultdata[64];

get_user_authid(id, authid, 32);

format(vaultkey, 63, "TIMEPLAYED%s", authid);
format(vaultdata, 63, "%d", PlayedTime);

nvault_set(valut, vaultkey, vaultdata);
nvault_close(valut);
return PLUGIN_CONTINUE;
}
stock bool:is_user_steam(id)
{
new authid[32];
get_user_authid(id, authid, 31);
return containi(authid , ":") != -1 ? true : false;
}

Moglibyscie sprawdzic czy poprawnie jest napisany ten plugin ?
Odpowiedz

  • +
  • -
kavi76 - zdjęcie kavi76 18.01.2011

Chodzi ci o kompilacje ?? bo jak tak to działa a na servie to nie wiem :)
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 18.01.2011

Chodzi ci o kompilacje ?? bo jak tak to działa a na servie to nie wiem :)

Chodzi mi o to ze nieraz nie zapisuje czasu poprawnie.
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 18.01.2011

Na wejściu:

zmienna = get_systime()


na wyjściu:

czas = get_systime()-zmienna


I powinno chodzić :D

Po za tym lepiej raz otworzyć vault i zamknąć na końcu :>
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 18.01.2011

Na wejściu:

zmienna = get_systime()


na wyjściu:

czas = get_systime()-zmienna


I powinno chodzić :D

Po za tym lepiej raz otworzyć vault i zamknąć na końcu :>

Pokazesz jak to ma wygladac ?:D
Odpowiedz
Zablokowany