GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Jim Toretto - 2014. május 08. - 16:43:12

Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 16:43:12
Sziasztok!
Az a gondom még sajnos mindig, hogy a fegyvert valamiért nem akarja elmenteni.
A mod pedig minden hiba nélkül lefut de valamiért mégsem menti a fegyvert. :(
Így néz ki a sccript:
 
stock SaveFegyver(playerid)
{
new weapons[13][2];
new FileName[128];
for (new i = 0; i < 13; i++)
    {
format(FileName, sizeof(FileName), \"Fegyverek/%s.ini\", i);
if(dini_Exists(FileName))
{
      GetPlayerWeaponData(playerid, i, weapons[0], weapons[1]);
     dini_IntSet(FileName, \"Weapon1\", weapons[0][0]);
     dini_IntSet(FileName, \"Ammo1\", weapons[0][1]);
     dini_IntSet(FileName, \"Weapon2\", weapons[1][0]);
     dini_IntSet(FileName, \"Ammo2\", weapons[1][1]);
     dini_IntSet(FileName, \"Weapon3\", weapons[2][0]);
     dini_IntSet(FileName, \"Ammo3\", weapons[2][1]);
     dini_IntSet(FileName, \"Weapon4\", weapons[3][0]);
     dini_IntSet(FileName, \"Ammo4\", weapons[3][1]);
     dini_IntSet(FileName, \"Weapon5\", weapons[4][0]);
     dini_IntSet(FileName, \"Ammo5\", weapons[4][1]);
     dini_IntSet(FileName, \"Weapon6\", weapons[5][0]);
     dini_IntSet(FileName, \"Ammo6\", weapons[5][1]);
     dini_IntSet(FileName, \"Weapon7\", weapons[6][0]);
     dini_IntSet(FileName, \"Ammo7\", weapons[6][1]);
     dini_IntSet(FileName, \"Weapon8\", weapons[7][0]);
     dini_IntSet(FileName, \"Ammo8\", weapons[7][1]);
     dini_IntSet(FileName, \"Weapon9\", weapons[8][0]);
     dini_IntSet(FileName, \"Ammo9\", weapons[8][1]);
     dini_IntSet(FileName, \"Weapon10\", weapons[9][0]);
     dini_IntSet(FileName, \"Ammo10\", weapons[9][1]);
     dini_IntSet(FileName, \"Weapon11\", weapons[10][0]);
     dini_IntSet(FileName, \"Ammo11\", weapons[10][1]);
     dini_IntSet(FileName, \"Weapon12\", weapons[11][0]);
     dini_IntSet(FileName, \"Ammo12\", weapons[11][1]);
        }
    }
return 1;
}

 
public OnPlayerDisconnect(playerid, reason) alatt pedig ez:
 
SaveFegyver(playerid);

 
Valaki segít nekem megoldani a problémát?
Elõre is köszönöm!
Cím: Nem ment a szerver
Írta: skyLine - 2014. május 08. - 17:18:39
        if(!fexist(FileName))
        {
             dini_Create(FileName);
        }
        else
        {
        }
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 17:21:04
és ezt hova ?
:D
Cím: Nem ment a szerver
Írta: skyLine - 2014. május 08. - 17:32:46
stock SaveFegyver(playerid)
{
new weapons[13][2];
new FileName[128];
for (new i = 0; i < 13; i++)
       {
format(FileName, sizeof(FileName), \"Fegyverek/%s.ini\", i);
if(dini_Exists(FileName))
{
          GetPlayerWeaponData(playerid, i, weapons[0], weapons[1]);
     dini_IntSet(FileName, \"Weapon1\", weapons[0][0]);
     dini_IntSet(FileName, \"Ammo1\", weapons[0][1]);
     dini_IntSet(FileName, \"Weapon2\", weapons[1][0]);
     dini_IntSet(FileName, \"Ammo2\", weapons[1][1]);
     dini_IntSet(FileName, \"Weapon3\", weapons[2][0]);
     dini_IntSet(FileName, \"Ammo3\", weapons[2][1]);
     dini_IntSet(FileName, \"Weapon4\", weapons[3][0]);
     dini_IntSet(FileName, \"Ammo4\", weapons[3][1]);
     dini_IntSet(FileName, \"Weapon5\", weapons[4][0]);
     dini_IntSet(FileName, \"Ammo5\", weapons[4][1]);
     dini_IntSet(FileName, \"Weapon6\", weapons[5][0]);
     dini_IntSet(FileName, \"Ammo6\", weapons[5][1]);
     dini_IntSet(FileName, \"Weapon7\", weapons[6][0]);
     dini_IntSet(FileName, \"Ammo7\", weapons[6][1]);
     dini_IntSet(FileName, \"Weapon8\", weapons[7][0]);
     dini_IntSet(FileName, \"Ammo8\", weapons[7][1]);
     dini_IntSet(FileName, \"Weapon9\", weapons[8][0]);
     dini_IntSet(FileName, \"Ammo9\", weapons[8][1]);
     dini_IntSet(FileName, \"Weapon10\", weapons[9][0]);
     dini_IntSet(FileName, \"Ammo10\", weapons[9][1]);
     dini_IntSet(FileName, \"Weapon11\", weapons[10][0]);
     dini_IntSet(FileName, \"Ammo11\", weapons[10][1]);
     dini_IntSet(FileName, \"Weapon12\", weapons[11][0]);
     dini_IntSet(FileName, \"Ammo12\", weapons[11][1]);
              }else dini_Create(FileName);
       }
return 1;
}
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 17:59:19
Most már létrehozza ezeket a .ini fájlba. De ha belépek akkor megint csak nincs fegyverem. :(
 
Weapon1=0
Ammo1=0
Weapon2=0
Ammo2=0
Weapon3=0
Ammo3=0
Weapon4=0
Ammo4=0
Weapon5=0
Ammo5=0
Weapon6=0
Ammo6=0
Weapon7=0
Ammo7=0
Weapon8=0
Ammo8=0
Weapon9=0
Ammo9=0
Weapon10=0
Ammo10=0
Weapon11=0
Ammo11=0
Weapon12=0
Ammo12=0

 
[mod]Ezt célszerû code tagbe rakni, ezért most beleraktam.[/mod]
Cím: Nem ment a szerver
Írta: KovaNovik - 2014. május 08. - 18:19:01
A fájl nevébe nem a játékos nevét kellene formázni?  ::|
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 18:34:51
Szóval az i betû helyére ?
De oda mit ?
Cím: Nem ment a szerver
Írta: KovaNovik - 2014. május 08. - 18:59:10
new Nev[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, Nev, sizeof(Nev));
format.... //Itt az i helyére Nev.
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 19:15:25
Ááá végre hibátlanul mûködik!
Köszönöm mindenkinek a segítséget!  :thumbsup:

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 09. - 14:50:44 )

Sajnos még mindig nem jó :(
A mentéssel sztem nagy gond nincs mert megcsinálja már szépen de a betöltéssel viszont még mindig van.
Ahogy fellépek a szerverre nincsenek meg a fegyverek és már a scriptfájlba is 0-ra írt mindent, holott mikor kiléptem belefoltak írva a mentett fegyverek ID-ji és a lõszerszámai. :(
Bár nekem nem rémlik, hogy lett e csinálva olyan hogy ha a játékos fellép akkor megkapja a fegyvereit, vagy nem is tudom pontosan hogyan kell ezt.
Még segítene valaki ? :(
Cím: Nem ment a szerver
Írta: skyLine - 2014. május 09. - 15:45:51
Ezt már elküldtem PM-ben.
Az OnPlayerSpawn rész.
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 16:43:12
Sziasztok!
Az a gondom még sajnos mindig, hogy a fegyvert valamiért nem akarja elmenteni.
A mod pedig minden hiba nélkül lefut de valamiért mégsem menti a fegyvert. :(
Így néz ki a sccript:
 
stock SaveFegyver(playerid)
{
new weapons[13][2];
new FileName[128];
for (new i = 0; i < 13; i++)
    {
format(FileName, sizeof(FileName), \"Fegyverek/%s.ini\", i);
if(dini_Exists(FileName))
{
      GetPlayerWeaponData(playerid, i, weapons[0], weapons[1]);
     dini_IntSet(FileName, \"Weapon1\", weapons[0][0]);
     dini_IntSet(FileName, \"Ammo1\", weapons[0][1]);
     dini_IntSet(FileName, \"Weapon2\", weapons[1][0]);
     dini_IntSet(FileName, \"Ammo2\", weapons[1][1]);
     dini_IntSet(FileName, \"Weapon3\", weapons[2][0]);
     dini_IntSet(FileName, \"Ammo3\", weapons[2][1]);
     dini_IntSet(FileName, \"Weapon4\", weapons[3][0]);
     dini_IntSet(FileName, \"Ammo4\", weapons[3][1]);
     dini_IntSet(FileName, \"Weapon5\", weapons[4][0]);
     dini_IntSet(FileName, \"Ammo5\", weapons[4][1]);
     dini_IntSet(FileName, \"Weapon6\", weapons[5][0]);
     dini_IntSet(FileName, \"Ammo6\", weapons[5][1]);
     dini_IntSet(FileName, \"Weapon7\", weapons[6][0]);
     dini_IntSet(FileName, \"Ammo7\", weapons[6][1]);
     dini_IntSet(FileName, \"Weapon8\", weapons[7][0]);
     dini_IntSet(FileName, \"Ammo8\", weapons[7][1]);
     dini_IntSet(FileName, \"Weapon9\", weapons[8][0]);
     dini_IntSet(FileName, \"Ammo9\", weapons[8][1]);
     dini_IntSet(FileName, \"Weapon10\", weapons[9][0]);
     dini_IntSet(FileName, \"Ammo10\", weapons[9][1]);
     dini_IntSet(FileName, \"Weapon11\", weapons[10][0]);
     dini_IntSet(FileName, \"Ammo11\", weapons[10][1]);
     dini_IntSet(FileName, \"Weapon12\", weapons[11][0]);
     dini_IntSet(FileName, \"Ammo12\", weapons[11][1]);
        }
    }
return 1;
}

 
public OnPlayerDisconnect(playerid, reason) alatt pedig ez:
 
SaveFegyver(playerid);

 
Valaki segít nekem megoldani a problémát?
Elõre is köszönöm!
Cím: Nem ment a szerver
Írta: skyLine - 2014. május 08. - 17:18:39
        if(!fexist(FileName))
        {
             dini_Create(FileName);
        }
        else
        {
        }
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 17:21:04
és ezt hova ?
:D
Cím: Nem ment a szerver
Írta: skyLine - 2014. május 08. - 17:32:46
stock SaveFegyver(playerid)
{
new weapons[13][2];
new FileName[128];
for (new i = 0; i < 13; i++)
       {
format(FileName, sizeof(FileName), \"Fegyverek/%s.ini\", i);
if(dini_Exists(FileName))
{
          GetPlayerWeaponData(playerid, i, weapons[0], weapons[1]);
     dini_IntSet(FileName, \"Weapon1\", weapons[0][0]);
     dini_IntSet(FileName, \"Ammo1\", weapons[0][1]);
     dini_IntSet(FileName, \"Weapon2\", weapons[1][0]);
     dini_IntSet(FileName, \"Ammo2\", weapons[1][1]);
     dini_IntSet(FileName, \"Weapon3\", weapons[2][0]);
     dini_IntSet(FileName, \"Ammo3\", weapons[2][1]);
     dini_IntSet(FileName, \"Weapon4\", weapons[3][0]);
     dini_IntSet(FileName, \"Ammo4\", weapons[3][1]);
     dini_IntSet(FileName, \"Weapon5\", weapons[4][0]);
     dini_IntSet(FileName, \"Ammo5\", weapons[4][1]);
     dini_IntSet(FileName, \"Weapon6\", weapons[5][0]);
     dini_IntSet(FileName, \"Ammo6\", weapons[5][1]);
     dini_IntSet(FileName, \"Weapon7\", weapons[6][0]);
     dini_IntSet(FileName, \"Ammo7\", weapons[6][1]);
     dini_IntSet(FileName, \"Weapon8\", weapons[7][0]);
     dini_IntSet(FileName, \"Ammo8\", weapons[7][1]);
     dini_IntSet(FileName, \"Weapon9\", weapons[8][0]);
     dini_IntSet(FileName, \"Ammo9\", weapons[8][1]);
     dini_IntSet(FileName, \"Weapon10\", weapons[9][0]);
     dini_IntSet(FileName, \"Ammo10\", weapons[9][1]);
     dini_IntSet(FileName, \"Weapon11\", weapons[10][0]);
     dini_IntSet(FileName, \"Ammo11\", weapons[10][1]);
     dini_IntSet(FileName, \"Weapon12\", weapons[11][0]);
     dini_IntSet(FileName, \"Ammo12\", weapons[11][1]);
              }else dini_Create(FileName);
       }
return 1;
}
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 17:59:19
Most már létrehozza ezeket a .ini fájlba. De ha belépek akkor megint csak nincs fegyverem. :(
 
Weapon1=0
Ammo1=0
Weapon2=0
Ammo2=0
Weapon3=0
Ammo3=0
Weapon4=0
Ammo4=0
Weapon5=0
Ammo5=0
Weapon6=0
Ammo6=0
Weapon7=0
Ammo7=0
Weapon8=0
Ammo8=0
Weapon9=0
Ammo9=0
Weapon10=0
Ammo10=0
Weapon11=0
Ammo11=0
Weapon12=0
Ammo12=0

 
[mod]Ezt célszerû code tagbe rakni, ezért most beleraktam.[/mod]
Cím: Nem ment a szerver
Írta: KovaNovik - 2014. május 08. - 18:19:01
A fájl nevébe nem a játékos nevét kellene formázni?  ::|
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 18:34:51
Szóval az i betû helyére ?
De oda mit ?
Cím: Nem ment a szerver
Írta: KovaNovik - 2014. május 08. - 18:59:10
new Nev[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, Nev, sizeof(Nev));
format.... //Itt az i helyére Nev.
Cím: Nem ment a szerver
Írta: Jim Toretto - 2014. május 08. - 19:15:25
Ááá végre hibátlanul mûködik!
Köszönöm mindenkinek a segítséget!  :thumbsup:

Dupla hozzászólás automatikusan összefûzve. ( 2014. május 09. - 14:50:44 )

Sajnos még mindig nem jó :(
A mentéssel sztem nagy gond nincs mert megcsinálja már szépen de a betöltéssel viszont még mindig van.
Ahogy fellépek a szerverre nincsenek meg a fegyverek és már a scriptfájlba is 0-ra írt mindent, holott mikor kiléptem belefoltak írva a mentett fegyverek ID-ji és a lõszerszámai. :(
Bár nekem nem rémlik, hogy lett e csinálva olyan hogy ha a játékos fellép akkor megkapja a fegyvereit, vagy nem is tudom pontosan hogyan kell ezt.
Még segítene valaki ? :(
Cím: Nem ment a szerver
Írta: skyLine - 2014. május 09. - 15:45:51
Ezt már elküldtem PM-ben.
Az OnPlayerSpawn rész.