Szerző Téma: Olyan szám ami még nincs a mappában  (Megtekintve 941 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Dátum: 2012. január 01. - 17:59:03 »
0 Show voters
Sziasztok,azt hogy lehet megcsinálni,hogy az legyen a fájl neve ami a soron következõ szám?
(pl.: van egy 0.ini akkor ez 1.ini lesz)

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #1 Dátum: 2012. január 01. - 20:49:30 »
0 Show voters
Nem biztos, mivel már nem szkriptelek, de megpróbálhatod így:
[pawn]
new file[ 10 ];
for( new x = 0; x < 100; ++x ) {
    format( file, sizeof file, \"%d.ini\", x );
    if( fexist( file ) ) continue;
    //és ide amit akarsz az újjal
}
[/pawn]
   

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #2 Dátum: 2012. január 01. - 22:42:29 »
0 Show voters
Ez olyan dolog, amit még soha nem csináltam, de szerintem te jól írtad le, csak én megállítanám a ciklust a break-al, amiután megvan a fájl.
Tehát én így módosítottam:
Tesztelve, mûködik!
A ciklusban a feltételt pedig majd módosítani kell, ha a fájlok száma több, mint 99.
[pawn]
new file[ 10 ];
for( new x; x < 100; ++x )
{
format( file, sizeof file, \"%d.ini\", x );
if( fexist( file ) ) continue;
new File:MyFile = fopen( file, io_write ); // Létrehozzuk
fwrite( MyFile, \"ASD\\r\\nLine2\" ); // Beleírunk vmi hülyeséget.. Bár ha nem akarsz itt beleírni semmit, akkor ezt a sort töröld.
fclose( MyFile ); // Bezárjuk..
break; // Kilépünk a ciklusból. Ez fontos!
}
[/pawn]
Sok fájlnál szerintem ez laggolna, de nembiztos.
Nem teszteltem még az fexist() sebességét.
« Utoljára szerkesztve: 2012. január 01. - 23:11:29 írta kurta999 »

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #3 Dátum: 2012. január 01. - 22:46:25 »
0 Show voters
100 fájl-t készített amikor 1 kocsira alkalmazni próbáltam.

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #4 Dátum: 2012. január 01. - 23:03:11 »
0 Show voters
Idézetet írta: tudvari date=1325454385\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"15107\" data-ipsquote-contentclass=\"forums_Topic
100 fájl-t készített amikor 1 kocsira alkalmazni próbáltam.
 
Próbáld az én verziómat, amiben ott van a break.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #5 Dátum: 2012. január 02. - 13:33:08 »
0 Show voters
Na szóval :D
VAn ez a kód,aminek létre kéne hoznia egy olyan fájlt ami a számsorban a következõ lenne:
[pawn]              new file[256];
         new string[256];
         GivePlayerMoney(playerid,-tipusar);
         GetPlayerName(playerid,nev,sizeof(nev));
         format(string,sizeof(string),\"%s vett egy %s-t.\", nev,tipus);
         AdminnakUzenet(VZOLD, string, 1);
         printf(string);
         new jarmu;
               jarmu = AddStaticVehicle(tipusid, 218.1325,7.9003,2.2991, 269.9501, szin1, szin2);
               JarmuInfo[jarmu][szin1] = szin1;
               JarmuInfo[jarmu][szin2] = szin2;
         for( new x = 0; x < 100; ++x ) {
          format( file, sizeof file, \"/Adatbazis/Jarmuvek/%d.ini\", x );
              dini_Create(file);
         dini_IntSet(file,\"ID\", x);
         //dini_IntSet(file,\"Tulaj\", string2);
         dini_IntSet(file,\"Model\", tipusid);
         dini_IntSet(file,\"Szín1\", szin1);
         dini_IntSet(file,\"Szín2\", szin2);
         dini_FloatSet(file,\"X\", 218.1325);
         dini_FloatSet(file,\"Y\", 7.9003);
         dini_FloatSet(file,\"Z\", 2.2991);
         dini_FloatSet(file,\"Forgatás\", 269.9501);[/pawn]
EEnnek meg 5 mp-nként le kéne mentenie a mappában lévõ jármûvek adatait.
[pawn]
public AutoMentes()
{
    for(new i = 0; i < MAX_VEHICLES; i++)
{
    new file[256];
format(file,sizeof(file),\"/Adatbazis/Jarmuvek/%d.ini\", i);
     new model;
      model = GetVehicleModel(i);
    new Float:x, Float:y, Float:z, Float:rotate;
      GetVehiclePos(i,x,y,z);
    /*new szin1;
    new szin2;
    GetVehicleColor(jarmu,szin1,szin2);*/
    GetVehicleZAngle(i, rotate);
dini_IntSet(file,\"ID\", i);
dini_IntSet(file,\"Tulaj\", 0);
dini_IntSet(file,\"Model\", model);
dini_IntSet(file,\"Szín1\", JarmuInfo[szin1]);

dini_IntSet(file,\"Szín2\", JarmuInfo
[szin2]);

dini_FloatSet(file,\"X\", x);


dini_FloatSet(file,\"Y\", y);


dini_FloatSet(file,\"Z\", z);


dini_FloatSet(file,\"Forgatás\", rotate);


}


}[/pawn]


Na ebbõl kéne kihozni valami jót,amit én nem tudok létrehozni :D

dexi

  • Vendég
Olyan szám ami még nincs a mappában
« Válasz #6 Dátum: 2012. január 02. - 14:12:19 »
0 Show voters
Nos, nekem ez úgy van hogy akkor ment mikor kiszáll a játékos a kocsiból,amit késõbb ugye resinél betöltök. Szerintem old meg te is így, így a legkönyebb.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #7 Dátum: 2012. január 02. - 14:27:59 »
0 Show voters
de ha resi következik be miközben a kocsiban van? akkor a játékos az úton lesz a kocsi meg a régi helyén.
Egyébként most,hogy jobban körül néztem a szerveren,a fent iscript miatt minden autó kétszer van meg xd

dexi

  • Vendég
Olyan szám ami még nincs a mappában
« Válasz #8 Dátum: 2012. január 02. - 15:07:56 »
0 Show voters
a /restart parancsodhoz hozzárendeled azt hogy minden játékost dobjon ki akocsiból, illetve írja ki hogy 5mp mulva restart és 5mp mulva restartol a szerver. nálam így van megoldva.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #9 Dátum: 2012. január 02. - 15:36:46 »
0 Show voters
De én a crashekre gondoltam,vagy a véletlenszerû leállásokra.

Dupla hozzászólás automatikusan összefûzve. ( 2012. január 02. - 16:51:33 )

Valaki tudna egy olyan megoldást ami e helyett:
[pawn]format( file, sizeof file, \"/Adatbazis/Jarmuvek/%s.ini\",nev);[/pawn]
egy olyan fájlt hoz létre aminek a neve a mappában lévõ legnagyobb szám 1-elt növelt értéke?
A break-est nem értem,hogy hova kéne beillesztenem :D Megköszönném ha valaki elmagyarázná.
« Utoljára szerkesztve: 2012. január 02. - 16:51:33 írta tudvari »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #10 Dátum: 2012. január 02. - 18:26:24 »
0 Show voters
Idézetet írta: tudvari date=1325515006\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"15107\" data-ipsquote-contentclass=\"forums_Topic
De én a crashekre gondoltam,vagy a véletlenszerû leállásokra.

Dupla hozzászólás automatikusan összefûzve. ( 2012. január 02. - 16:51:33 )

Valaki tudna egy olyan megoldást ami e helyett:
[pawn]format( file, sizeof file, \"/Adatbazis/Jarmuvek/%s.ini\",nev);[/pawn]
egy olyan fájlt hoz létre aminek a neve a mappában lévõ legnagyobb szám 1-elt növelt értéke?
A break-est nem értem,hogy hova kéne beillesztenem :D Megköszönném ha valaki elmagyarázná.
 
A legaljára, mert az állítja meg a ciklust. ( A ciklus legaljára )

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #11 Dátum: 2012. január 02. - 20:56:57 »
0 Show voters
Nem hoz létrefájlt,és nem lehet utána használni a parancsot a break miatt.
[pawn]
          new file[ 10 ];
         for( new x; x < 100; ++x )
         {
            format( file, sizeof file, \"/Adatbazis/Jarmuvek/%d.ini\", x );
            if( fexist( file ) ) continue;
            new File:MyFile = fopen( file, io_write ); // Létrehozzuk
            new string[256];
            GivePlayerMoney(playerid,-tipusar);
            GetPlayerName(playerid,nev,sizeof(nev));
            format(string,sizeof(string),\"%s vett egy %s-t.\", nev,tipus);
            AdminnakUzenet(VZOLD, string, 1);
            printf(string);
            new jarmu;
                  jarmu = AddStaticVehicle(tipusid, 218.1325,7.9003,2.2991, 269.9501, szin1, szin2);
                  JarmuInfo[jarmu][szin1] = szin1;
                  JarmuInfo[jarmu][szin2] = szin2;
               dini_Set(file,\"Tulaj\", nev);
            dini_IntSet(file,\"Model\", tipusid);
            dini_IntSet(file,\"Szín1\", szin1);
            dini_IntSet(file,\"Szín2\", szin2);
            dini_FloatSet(file,\"X\", 218.1325);
            dini_FloatSet(file,\"Y\", 7.9003);
            dini_FloatSet(file,\"Z\", 2.2991);
            dini_FloatSet(file,\"Forgatás\", 269.9501);// Beleírunk vmi hülyeséget.. Bár ha nem akarsz itt beleírni semmit, akkor ezt a sort töröld.
            fclose( MyFile ); // Bezárjuk..
            break;[/pawn]
« Utoljára szerkesztve: 2012. január 02. - 20:59:36 írta tudvari »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #12 Dátum: 2012. január 02. - 21:07:14 »
0 Show voters
Így esetleg?
Bocs, de dini-t már nem igazán vágom fejbõl, mivel 1,5 éve SQL-el mentem az adataim.
[pawn]
new
file[ 64 ]; // Kicsi volt a buffer méret, ez így már ahogy lent van jócskán meghaladja a 10 cellát..
for( new x; x < 100; ++x )
{
format( file, sizeof file, \"/Adatbazis/Jarmuvek/%d.ini\", x );
if( fexist( file ) ) continue;
new
   string[128],
   jarmu;
GivePlayerMoney(playerid,-tipusar);
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s vett egy %s-t.\", nev,tipus);
AdminnakUzenet(VZOLD, string, 1);
printf(string);
jarmu = AddStaticVehicle(tipusid, 218.1325,7.9003,2.2991, 269.9501, szin1, szin2);
JarmuInfo[jarmu][szin1] = szin1;
JarmuInfo[jarmu][szin2] = szin2;
dini_Create(file); // Létrehozzuk!
dini_Set(file,\"Tulaj\", nev);
dini_IntSet(file, \"Model\", tipusid);
dini_IntSet(file,\"Szín1\", szin1);
dini_IntSet(file,\"Szín2\", szin2);
dini_FloatSet(file,\"X\", 218.1325);
dini_FloatSet(file,\"Y\", 7.9003);
dini_FloatSet(file,\"Z\", 2.2991);
dini_FloatSet(file,\"Forgatás\", 269.9501);// Beleírunk vmi hülyeséget.. Bár ha nem akarsz itt beleírni semmit, akkor ezt a sort töröld.
break;
}
[/pawn]
« Utoljára szerkesztve: 2012. január 02. - 21:09:50 írta kurta999 »

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Olyan szám ami még nincs a mappában
« Válasz #13 Dátum: 2012. január 03. - 15:59:42 »
0 Show voters
Köszi,mûködik,és azt szeretném még valahogy megoldani,hogy megkülönböztesse az ilyen jármûveket és a publikus közhasználatú jármûveket?Csak mert az nem lenne jó,hogy ha kidobna az úttisztító kocsiból,mert nincs hozzá kulcsod :D
és azt hogy tudom beállítani a létrehozott autóból ha kiszállnak,akkor a számára létrehozott fájlába mentse a dolgokat?
Csak mert most ez a nem tudom milyen változó össze keverte nálam a dolgokat mert nem tudom,így könnyen megoldani a jelenlegi tudásommal :D
De ha tudtok egy ötletet amivel könnyne meglehet csinálni ezt a jármû mentés/kiszállás ha nem a tiéd dolgokat?
Szívesen meghallgatom,és még meg is köszönném :D
« Utoljára szerkesztve: 2012. január 03. - 16:06:53 írta tudvari »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal