Szerző Téma: Automatikus Mentés  (Megtekintve 940 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Automatikus Mentés
« Dátum: 2012. március 06. - 12:40:16 »
0 Show voters
Sziasztok,bemásolom az automatikus mentés scriptjét,mert szerintem rosszul definiáltam a playerid-t ezért tölti be minden egyes játékos az elsõ regisztráló adatait,és írja felül.
[pawn]
public AutomatikusMentes()
{
    new playerid;
if(Belepve[playerid] == 1)
{
new file[128];
    new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
    GetPlayerName(playerid, nev, sizeof(nev));
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
dini_IntSet(file,\"Pénz\", GetPlayerMoney(playerid));
    dini_IntSet(file,\"Pont\", GetPlayerScore(playerid));
     dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
      dini_IntSet(file,\"Halálok Száma\", JatekosInfo[playerid][Halal]);
    dini_IntSet(file,\"Ölések Száma\", JatekosInfo[playerid][Oles]);
    dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
    dini_IntSet(file,\"Skin\", JatekosInfo[playerid][skin]);
    /*dini_IntSet(file,\"Kezdõ Skin megtörtént\", JatekosInfo[playerid][KezdoSkin]);
    dini_IntSet(file,\"Kezdõ Spawn megtörtént\", JatekosInfo[playerid][KezdoSpawn]);*/
      dini_FloatSet(file,\"X\", x);
      dini_FloatSet(file,\"Y\", y);
      dini_FloatSet(file,\"Z\", z);
      dini_IntSet(file,\"Tapasztalat Pont\", JatekosInfo[playerid][XP]);
      dini_IntSet(file,\"Szint\", JatekosInfo[playerid][szint]);
      dini_IntSet(file,\"Leader\", JatekosInfo[playerid][Leader]);
      dini_IntSet(file,\"Frakció\", JatekosInfo[playerid][Frakcio]);
      dini_IntSet(file,\"Rang\", JatekosInfo[playerid][Rang]);
      dini_IntSet(file,\"Kor\", JatekosInfo[playerid][Kor]);
      dini_IntSet(file,\"Nem\", JatekosInfo[playerid][Nem]);
      dini_IntSet(file,\"Bannolva\", JatekosInfo[playerid][bann]);
      dini_IntSet(file,\"Admin Szint\", JatekosInfo[playerid][Admin]);
      dini_IntSet(file,\"Bankszámla\", JatekosInfo[playerid][bank]);
      dini_IntSet(file,\"Börtön\", JatekosInfo[playerid][borton]);
      dini_IntSet(file,\"Admin Börtön\", JatekosInfo[playerid][AdminBorton]);
      dini_IntSet(file,\"Telefon\", JatekosInfo[playerid][Telefon]);
      dini_IntSet(file,\"Telefon Egyenleg\", JatekosInfo[playerid][TelefonEgyenleg]);
      dini_IntSet(file,\"Játszott Idõ\", JatekosInfo[playerid][JatszottIdo]);
      dini_IntSet(file,\"Fizetés\", JatekosInfo[playerid][Fizetes]);
      dini_IntSet(file,\"Indok\", JatekosInfo[playerid][indok]);
      dini_IntSet(file,\"Térkép\", JatekosInfo[playerid][Terkep]);
      dini_IntSet(file,\"Okos Telefon\", JatekosInfo[playerid][OkosTelefon]);
      dini_IntSet(file,\"Lottó\", JatekosInfo[playerid][Lotto]);
      dini_IntSet(file,\"Kötél\", JatekosInfo[playerid][Kotel]);
      dini_IntSet(file,\"Interior\", JatekosInfo[playerid][interior]);
      dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
      dini_IntSet(file,\"Jármû\", JatekosInfo[playerid][Jarmu]);
      dini_IntSet(file,\"Fizetés Idõ\", JatekosInfo[playerid][FizetesIdo]);
      dini_IntSet(file,\"Megbilincselve\", JatekosInfo[playerid][Megbilincselve]);
      dini_IntSet(file,\"Kaja\", JatekosInfo[playerid][Kaja]);
      dini_IntSet(file,\"Telefonkönyv\", JatekosInfo[playerid][Telefonkonyv]);
      }
}
[/pawn]

Automatikus Mentés
« Válasz #1 Dátum: 2012. március 06. - 13:30:11 »
0 Show voters
Hát igen, a playerid változó értéke 0-val egyenlõ, és ezért az mindig a 0-s idjû játékos adatait másolja le.
 

forward AutomatikusMentes(playerid);
public AutomatikusMentes(playerid)
{
         if(Belepve[playerid] == 1)
{
new file[128];
        new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
GetPlayerName(playerid, nev, sizeof(nev));
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
dini_IntSet(file,\"Pénz\", GetPlayerMoney(playerid));
dini_IntSet(file,\"Pont\", GetPlayerScore(playerid));
     dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
      dini_IntSet(file,\"Halálok Száma\", JatekosInfo[playerid][Halal]);
        dini_IntSet(file,\"Ölések Száma\", JatekosInfo[playerid][Oles]);
        dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
        dini_IntSet(file,\"Skin\", JatekosInfo[playerid][skin]);
        /*dini_IntSet(file,\"Kezdõ Skin megtörtént\", JatekosInfo[playerid][KezdoSkin]);
        dini_IntSet(file,\"Kezdõ Spawn megtörtént\", JatekosInfo[playerid][KezdoSpawn]);*/
      dini_FloatSet(file,\"X\", x);
      dini_FloatSet(file,\"Y\", y);
      dini_FloatSet(file,\"Z\", z);
      dini_IntSet(file,\"Tapasztalat Pont\", JatekosInfo[playerid][XP]);
      dini_IntSet(file,\"Szint\", JatekosInfo[playerid][szint]);
      dini_IntSet(file,\"Leader\", JatekosInfo[playerid][Leader]);
      dini_IntSet(file,\"Frakció\", JatekosInfo[playerid][Frakcio]);
      dini_IntSet(file,\"Rang\", JatekosInfo[playerid][Rang]);
      dini_IntSet(file,\"Kor\", JatekosInfo[playerid][Kor]);
      dini_IntSet(file,\"Nem\", JatekosInfo[playerid][Nem]);
      dini_IntSet(file,\"Bannolva\", JatekosInfo[playerid][bann]);
      dini_IntSet(file,\"Admin Szint\", JatekosInfo[playerid][Admin]);
      dini_IntSet(file,\"Bankszámla\", JatekosInfo[playerid][bank]);
      dini_IntSet(file,\"Börtön\", JatekosInfo[playerid][borton]);
      dini_IntSet(file,\"Admin Börtön\", JatekosInfo[playerid][AdminBorton]);
      dini_IntSet(file,\"Telefon\", JatekosInfo[playerid][Telefon]);
      dini_IntSet(file,\"Telefon Egyenleg\", JatekosInfo[playerid][TelefonEgyenleg]);
      dini_IntSet(file,\"Játszott Idõ\", JatekosInfo[playerid][JatszottIdo]);
      dini_IntSet(file,\"Fizetés\", JatekosInfo[playerid][Fizetes]);
      dini_IntSet(file,\"Indok\", JatekosInfo[playerid][indok]);
      dini_IntSet(file,\"Térkép\", JatekosInfo[playerid][Terkep]);
      dini_IntSet(file,\"Okos Telefon\", JatekosInfo[playerid][OkosTelefon]);
      dini_IntSet(file,\"Lottó\", JatekosInfo[playerid][Lotto]);
      dini_IntSet(file,\"Kötél\", JatekosInfo[playerid][Kotel]);
      dini_IntSet(file,\"Interior\", JatekosInfo[playerid][interior]);
      dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
      dini_IntSet(file,\"Jármû\", JatekosInfo[playerid][Jarmu]);
      dini_IntSet(file,\"Fizetés Idõ\", JatekosInfo[playerid][FizetesIdo]);
      dini_IntSet(file,\"Megbilincselve\", JatekosInfo[playerid][Megbilincselve]);
      dini_IntSet(file,\"Kaja\", JatekosInfo[playerid][Kaja]);
      dini_IntSet(file,\"Telefonkönyv\", JatekosInfo[playerid][Telefonkonyv]);
      }
}

 
A továbbiakban ezt AutomatikusMentes(Játékos ID-je); -ként használd.
« Utoljára szerkesztve: 2012. március 06. - 13:36:43 írta 1ST_Chr »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Automatikus Mentés
« Válasz #2 Dátum: 2012. március 06. - 14:34:09 »
0 Show voters

stock AutomatikusMentes(playerid)
{
         if(Belepve[playerid] == 1)
{
new file[128];
        new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
GetPlayerName(playerid, nev, sizeof(nev));
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
dini_IntSet(file,\"Pénz\", GetPlayerMoney(playerid));
dini_IntSet(file,\"Pont\", GetPlayerScore(playerid));
     dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
      dini_IntSet(file,\"Halálok Száma\", JatekosInfo[playerid][Halal]);
        dini_IntSet(file,\"Ölések Száma\", JatekosInfo[playerid][Oles]);
        dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
        dini_IntSet(file,\"Skin\", JatekosInfo[playerid][skin]);
        /*dini_IntSet(file,\"Kezdõ Skin megtörtént\", JatekosInfo[playerid][KezdoSkin]);
        dini_IntSet(file,\"Kezdõ Spawn megtörtént\", JatekosInfo[playerid][KezdoSpawn]);*/
      dini_FloatSet(file,\"X\", x);
      dini_FloatSet(file,\"Y\", y);
      dini_FloatSet(file,\"Z\", z);
      dini_IntSet(file,\"Tapasztalat Pont\", JatekosInfo[playerid][XP]);
      dini_IntSet(file,\"Szint\", JatekosInfo[playerid][szint]);
      dini_IntSet(file,\"Leader\", JatekosInfo[playerid][Leader]);
      dini_IntSet(file,\"Frakció\", JatekosInfo[playerid][Frakcio]);
      dini_IntSet(file,\"Rang\", JatekosInfo[playerid][Rang]);
      dini_IntSet(file,\"Kor\", JatekosInfo[playerid][Kor]);
      dini_IntSet(file,\"Nem\", JatekosInfo[playerid][Nem]);
      dini_IntSet(file,\"Bannolva\", JatekosInfo[playerid][bann]);
      dini_IntSet(file,\"Admin Szint\", JatekosInfo[playerid][Admin]);
      dini_IntSet(file,\"Bankszámla\", JatekosInfo[playerid][bank]);
      dini_IntSet(file,\"Börtön\", JatekosInfo[playerid][borton]);
      dini_IntSet(file,\"Admin Börtön\", JatekosInfo[playerid][AdminBorton]);
      dini_IntSet(file,\"Telefon\", JatekosInfo[playerid][Telefon]);
      dini_IntSet(file,\"Telefon Egyenleg\", JatekosInfo[playerid][TelefonEgyenleg]);
      dini_IntSet(file,\"Játszott Idõ\", JatekosInfo[playerid][JatszottIdo]);
      dini_IntSet(file,\"Fizetés\", JatekosInfo[playerid][Fizetes]);
      dini_IntSet(file,\"Indok\", JatekosInfo[playerid][indok]);
      dini_IntSet(file,\"Térkép\", JatekosInfo[playerid][Terkep]);
      dini_IntSet(file,\"Okos Telefon\", JatekosInfo[playerid][OkosTelefon]);
      dini_IntSet(file,\"Lottó\", JatekosInfo[playerid][Lotto]);
      dini_IntSet(file,\"Kötél\", JatekosInfo[playerid][Kotel]);
      dini_IntSet(file,\"Interior\", JatekosInfo[playerid][interior]);
      dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
      dini_IntSet(file,\"Jármû\", JatekosInfo[playerid][Jarmu]);
      dini_IntSet(file,\"Fizetés Idõ\", JatekosInfo[playerid][FizetesIdo]);
      dini_IntSet(file,\"Megbilincselve\", JatekosInfo[playerid][Megbilincselve]);
      dini_IntSet(file,\"Kaja\", JatekosInfo[playerid][Kaja]);
      dini_IntSet(file,\"Telefonkönyv\", JatekosInfo[playerid][Telefonkonyv]);
      }
}

 
Használata:
AutomatikusMentes(playerid);

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Automatikus Mentés
« Válasz #3 Dátum: 2012. március 06. - 18:56:09 »
0 Show voters
Így nem ír ki errort,de nem jó
[pawn]
public AutomatikusMentes(playerid)
{
if(Belepve[playerid] == 1)
{
new file[128];
    new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
    GetPlayerName(playerid, nev, sizeof(nev));
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
dini_IntSet(file,\"Pénz\", GetPlayerMoney(playerid));
    dini_IntSet(file,\"Pont\", GetPlayerScore(playerid));
     dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
      dini_IntSet(file,\"Halálok Száma\", JatekosInfo[playerid][Halal]);
    dini_IntSet(file,\"Ölések Száma\", JatekosInfo[playerid][Oles]);
    dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
    dini_IntSet(file,\"Skin\", JatekosInfo[playerid][skin]);
    /*dini_IntSet(file,\"Kezdõ Skin megtörtént\", JatekosInfo[playerid][KezdoSkin]);
    dini_IntSet(file,\"Kezdõ Spawn megtörtént\", JatekosInfo[playerid][KezdoSpawn]);*/
      dini_FloatSet(file,\"X\", x);
      dini_FloatSet(file,\"Y\", y);
      dini_FloatSet(file,\"Z\", z);
      dini_IntSet(file,\"Tapasztalat Pont\", JatekosInfo[playerid][XP]);
      dini_IntSet(file,\"Szint\", JatekosInfo[playerid][szint]);
      dini_IntSet(file,\"Leader\", JatekosInfo[playerid][Leader]);
      dini_IntSet(file,\"Frakció\", JatekosInfo[playerid][Frakcio]);
      dini_IntSet(file,\"Rang\", JatekosInfo[playerid][Rang]);
      dini_IntSet(file,\"Kor\", JatekosInfo[playerid][Kor]);
      dini_IntSet(file,\"Nem\", JatekosInfo[playerid][Nem]);
      dini_IntSet(file,\"Bannolva\", JatekosInfo[playerid][bann]);
      dini_IntSet(file,\"Admin Szint\", JatekosInfo[playerid][Admin]);
      dini_IntSet(file,\"Bankszámla\", JatekosInfo[playerid][bank]);
      dini_IntSet(file,\"Börtön\", JatekosInfo[playerid][borton]);
      dini_IntSet(file,\"Admin Börtön\", JatekosInfo[playerid][AdminBorton]);
      dini_IntSet(file,\"Telefon\", JatekosInfo[playerid][Telefon]);
      dini_IntSet(file,\"Telefon Egyenleg\", JatekosInfo[playerid][TelefonEgyenleg]);
      dini_IntSet(file,\"Játszott Idõ\", JatekosInfo[playerid][JatszottIdo]);
      dini_IntSet(file,\"Fizetés\", JatekosInfo[playerid][Fizetes]);
      dini_IntSet(file,\"Indok\", JatekosInfo[playerid][indok]);
      dini_IntSet(file,\"Térkép\", JatekosInfo[playerid][Terkep]);
      dini_IntSet(file,\"Okos Telefon\", JatekosInfo[playerid][OkosTelefon]);
      dini_IntSet(file,\"Lottó\", JatekosInfo[playerid][Lotto]);
      dini_IntSet(file,\"Kötél\", JatekosInfo[playerid][Kotel]);
      dini_IntSet(file,\"Interior\", JatekosInfo[playerid][interior]);
      dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
      dini_IntSet(file,\"Jármû\", JatekosInfo[playerid][Jarmu]);
      dini_IntSet(file,\"Fizetés Idõ\", JatekosInfo[playerid][FizetesIdo]);
      dini_IntSet(file,\"Megbilincselve\", JatekosInfo[playerid][Megbilincselve]);
      dini_IntSet(file,\"Kaja\", JatekosInfo[playerid][Kaja]);
      dini_IntSet(file,\"Telefonkönyv\", JatekosInfo[playerid][Telefonkonyv]);
      }
}[/pawn]
így errort ír ki
[pawn]public AutomatikusMentes(playerid);[/pawn]

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Automatikus Mentés
« Válasz #4 Dátum: 2012. március 06. - 19:07:07 »
0 Show voters
Idézetet írta: Cannonn date=1331040849\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18078\" data-ipsquote-contentclass=\"forums_Topic


stock AutomatikusMentes(playerid)
{
         if(Belepve[playerid] == 1)
{
new file[128];
        new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
GetPlayerName(playerid, nev, sizeof(nev));
format(file,sizeof(file),\"/Adatbazis/Karakterek/%s.ini\", nev);
dini_IntSet(file,\"Pénz\", GetPlayerMoney(playerid));
dini_IntSet(file,\"Pont\", GetPlayerScore(playerid));
     dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
      dini_IntSet(file,\"Halálok Száma\", JatekosInfo[playerid][Halal]);
        dini_IntSet(file,\"Ölések Száma\", JatekosInfo[playerid][Oles]);
        dini_IntSet(file,\"Munka\", JatekosInfo[playerid][Munka]);
        dini_IntSet(file,\"Skin\", JatekosInfo[playerid][skin]);
        /*dini_IntSet(file,\"Kezdõ Skin megtörtént\", JatekosInfo[playerid][KezdoSkin]);
        dini_IntSet(file,\"Kezdõ Spawn megtörtént\", JatekosInfo[playerid][KezdoSpawn]);*/
      dini_FloatSet(file,\"X\", x);
      dini_FloatSet(file,\"Y\", y);
      dini_FloatSet(file,\"Z\", z);
      dini_IntSet(file,\"Tapasztalat Pont\", JatekosInfo[playerid][XP]);
      dini_IntSet(file,\"Szint\", JatekosInfo[playerid][szint]);
      dini_IntSet(file,\"Leader\", JatekosInfo[playerid][Leader]);
      dini_IntSet(file,\"Frakció\", JatekosInfo[playerid][Frakcio]);
      dini_IntSet(file,\"Rang\", JatekosInfo[playerid][Rang]);
      dini_IntSet(file,\"Kor\", JatekosInfo[playerid][Kor]);
      dini_IntSet(file,\"Nem\", JatekosInfo[playerid][Nem]);
      dini_IntSet(file,\"Bannolva\", JatekosInfo[playerid][bann]);
      dini_IntSet(file,\"Admin Szint\", JatekosInfo[playerid][Admin]);
      dini_IntSet(file,\"Bankszámla\", JatekosInfo[playerid][bank]);
      dini_IntSet(file,\"Börtön\", JatekosInfo[playerid][borton]);
      dini_IntSet(file,\"Admin Börtön\", JatekosInfo[playerid][AdminBorton]);
      dini_IntSet(file,\"Telefon\", JatekosInfo[playerid][Telefon]);
      dini_IntSet(file,\"Telefon Egyenleg\", JatekosInfo[playerid][TelefonEgyenleg]);
      dini_IntSet(file,\"Játszott Idõ\", JatekosInfo[playerid][JatszottIdo]);
      dini_IntSet(file,\"Fizetés\", JatekosInfo[playerid][Fizetes]);
      dini_IntSet(file,\"Indok\", JatekosInfo[playerid][indok]);
      dini_IntSet(file,\"Térkép\", JatekosInfo[playerid][Terkep]);
      dini_IntSet(file,\"Okos Telefon\", JatekosInfo[playerid][OkosTelefon]);
      dini_IntSet(file,\"Lottó\", JatekosInfo[playerid][Lotto]);
      dini_IntSet(file,\"Kötél\", JatekosInfo[playerid][Kotel]);
      dini_IntSet(file,\"Interior\", JatekosInfo[playerid][interior]);
      dini_IntSet(file,\"Kezdõ Spawn\", JatekosInfo[playerid][KezdoSpawn]);
      dini_IntSet(file,\"Jármû\", JatekosInfo[playerid][Jarmu]);
      dini_IntSet(file,\"Fizetés Idõ\", JatekosInfo[playerid][FizetesIdo]);
      dini_IntSet(file,\"Megbilincselve\", JatekosInfo[playerid][Megbilincselve]);
      dini_IntSet(file,\"Kaja\", JatekosInfo[playerid][Kaja]);
      dini_IntSet(file,\"Telefonkönyv\", JatekosInfo[playerid][Telefonkonyv]);
      }
}

 
Használata:
AutomatikusMentes(playerid);

 

Így jó, vagy nem?

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Automatikus Mentés
« Válasz #5 Dátum: 2012. március 06. - 19:11:00 »
0 Show voters
Ja félreértettél,ez egy timer,nem egy funkció.HA belép valaki 20 mp-nként elmenti az adatait.

Automatikus Mentés
« Válasz #6 Dátum: 2012. március 06. - 21:10:57 »
0 Show voters
Minek kell menteni minden adatot 20 másodpercenként?
Mennyi adat változik meg 20 másodperc alatt egy játékosnak, hogy minden adatot felül kell írni újra?
Ha a kérdésekre megpróbálsz választ adni lehet rájössz hogy tök felesleges.
Adatot akkor kell frissíteni ha az megváltozik, ha nincs változás akkor felesleges felülírni a meglévõ adatot ugyanazzal.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Automatikus Mentés
« Válasz #7 Dátum: 2012. március 07. - 07:20:00 »
0 Show voters
Ha bekövetkezik egy váratlan DC,csak egy nagyon kicsi elhanyagolható adat vesztés fog bekövetkezni.
Mire gondoltál,hogy biztosítsam be az adatokat? mert az OnPlayerDisconnect nem elég.
Ui.: kiszedtem a timereket,nem azokkal a probléma
Senki sem tudja mi lehet a baj?
Azt vettem észre,hogy már akkor lekoppintja az elsõ regisztrált ember adatait ha regisztrál az ember.
Szóval regisztrál az ember és már egybõl átírja a fájlban az adatait az elsõ regisztrált emberére.A pozíciónál nem vettem észre ilyesmit,lehet hogy csak a JátszottIdõnél.
Itt vannak,a szerintem kapcsolódó sorok.
LINK
« Utoljára szerkesztve: 2012. március 07. - 13:01:43 írta tudvari »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal