hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 02:44



Jelenlévő felhasználók

Jelenleg 529 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 528 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Mentés
HozzászólásElküldve: 2018.01.04. 21:51 
Offline
Tag
Avatar

Csatlakozott: 2015.11.14. 19:02
Hozzászólások: 33
Megköszönt másnak: 4 alkalommal
Szép estét!

Sokkal jobban hangzik az sql mentés, de sajnos annyira hülye vagyok hozzá, hogy már ott elakadok, hogy hol/ milyen program kellene ennek a használatához, kell-e ehhez valami +-t vásárolni, hogy folyamatosan menjen... De most nem ez a lényeg (Persze ha valakinek van kedve, erre is elfogadok választ :)) Itt egy plugin ahol nem jó a mentés, tudná valaki javítani? :|

Kód:
#include <amxmodx> 
#include <fvault>
 
#define PLUGIN "Plugin"
#define VERSION "1.0"
#define AUTHOR "mforce"
 
new kills[33];
new const szVaultName[] = "Teszt"
 
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    register_event("DeathMsg", "eDeathMsg", "a")
    set_task(1.0, "HUD", 0, _, _, "b")
}
 
public eDeathMsg() {
    new killer = read_data(1);
   
    if(killer != read_data(2)) {
   kills[killer]++;
    }
}

public HUD()
{
   static id
   for(id = 1; id <= get_maxplayers(); id++)
   {
      set_hudmessage(0, 255, 0, 0.01, 0.20, 0, 6.0, 1.0)
      show_hudmessage(id, "[Oles: %i]", kills[id])
   }
   return PLUGIN_CONTINUE;
}

public client_disconnect(id)
{
   if (is_user_bot(id) || is_user_hltv(id)) return;
   save(id);
}

public client_putinserver(id)
{

   load(id);
}

save(id)
{
   new szAuthid[ 32 ], szData[ 32 ];
   get_user_name( id, szAuthid, charsmax(szAuthid));
   
   formatex( szData, 31, "%i", kills[id]);
   fvault_set_data( szVaultName, szAuthid, szData );
}

load(id)
{
   new szAuthid[32], szData[32];
   get_user_name( id, szAuthid, charsmax(szAuthid));
   new s1[16]
   fvault_get_data( szVaultName, szAuthid, szData, 31 );
   parse( szData, s1);
   kills[id] = str_to_num(s1);
}

_________________
Egyesülve nyerünk, szétszakítva elesünk.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Mentés
HozzászólásElküldve: 2018.01.04. 23:58 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.10.31. 15:27
Hozzászólások: 185
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 7 alkalommal
Helló, SQL mentéshez kell egy hosting, például amin a szervered fut, tőlük lehet igényelni ingyen adatbázist.
Egyébként mforce tutorialja megtalálható itt:
SQL Tutorial
Végül a kért mentésed.
Kód:
#include <amxmodx> 
 
#define PLUGIN "Plugin"
#define VERSION "1.0"
#define AUTHOR "mforce"
 
new kills[33];

//fvaultos rész
new filename[128];
 
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    register_event("DeathMsg", "eDeathMsg", "a")
    set_task(1.0, "HUD", 0, _, _, "b")
//Ez az addons/amxmodx/configs mappába menti.
get_localinfo("amxx_configsdir", filename, charsmax(filename))
//Fájlnév
   format(filename, charsmax(filename), "%s/mforce_fajlmentes.ini", filename)
}
 
public eDeathMsg() {
    new killer = read_data(1);
    new victim = read_data(2);

    if(killer != victim) {
   kills[killer]++;
    }
}

public HUD()
{
   static id
   for(id = 1; id <= get_maxplayers(); id++)
   {
      set_hudmessage(0, 255, 0, 0.01, 0.20, 0, 6.0, 1.0)
      show_hudmessage(id, "[Oles: %i]", kills[id])
   }
   return PLUGIN_CONTINUE;
}

public client_disconnect(id)
{
   if (is_user_bot(id) || is_user_hltv(id)) return;
   save(id);
}

public client_authorized(id) {
   if(!is_user_bot(id) && !is_user_hltv(id)) {
      load(id);
   }
}

public save(id) {
   new szData[128];
   new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
   if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
 
   formatex(szData, charsmax(szData), "%i", kills[id]);
   set_data(steamid, szData)
}

public load(id) {
   new szData[128];
   new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
   if(contain(steamid, "_ID_LAN") != -1) get_user_ip(id, steamid, charsmax(steamid), 1);
 
   if(get_data(steamid, szData, charsmax(szData))) {
      new kills_cache[32];
      parse(szData, kills_cache, charsmax(kills_cache));
      kills[id] = str_to_num(kills_cache)   
   }
}

//Ezeket hagyd békén, nem kell velük semmit se csinálni.
stock get_data(const key[], data[], len) {
   new vault = fopen(filename, "rt");
   new _data[512], _key[64];
 
   while( !feof(vault) ) {
      fgets(vault, _data, charsmax(_data));
      parse(_data, _key, charsmax(_key), data, len);
 
      if( equal(_key, key) ) {
         fclose(vault);
         return 1;
      }
   }
 
   fclose(vault);
   copy(data, len, "");
 
   return 0;
}
 
stock set_data(const key[], const data[]) {
   static const temp_vault_name[] = "set_data.txt";
   new file = fopen(temp_vault_name, "wt");
 
   new vault = fopen(filename, "rt");
   new _data[512], _key[64], _other[32];
   new bool:replaced = false;
 
   while( !feof(vault) ) {
      fgets(vault, _data, charsmax(_data));
      parse(_data, _key, charsmax(_key), _other, charsmax(_other));
 
      if( equal(_key, key) && !replaced ) {
         fprintf(file, "^"%s^" ^"%s^"^n", key, data);
 
         replaced = true;
      }
      else {
         fputs(file, _data);
      }
   }
 
   if( !replaced ) {
      fprintf(file, "^"%s^" ^"%s^"^n", key, data);
   }
 
   fclose(file);
   fclose(vault);
 
   delete_file(filename);
 
   while( !rename_file(temp_vault_name, filename, 1) ) { }
 
   //delete_file(temp_vault_name);
}

_________________
Soha ne mondd, hogy soha.

Tisztelettel: ΔƓҽƬƬ


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 62 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole