Szerző Téma: Pénz mentése  (Megtekintve 1161 alkalommal)

Pénz mentése
« Dátum: 2013. Április 16. - 17:25:20 »
0 Show voters
Helló! Van egykis gond az eggyik kis rendszeremmel... Nem menti a pénzt hiába minden jól van.
 
 On Player Connect....
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Pénz\", \"0\");
            dini_IntSet(Betolt, \"Pénz\", Info[playerid][Penz]);
       }
       else
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Pénz\");
       }

 

OnPlayerDisconnect...
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(!dini_Exists(Ment)){}
    else
        {
                dini_IntSet(Ment, \"Pénz\", Info[playerid][Penz]);
    }

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Pénz mentése
« Válasz #1 Dátum: 2013. Április 16. - 17:27:44 »
0 Show voters
Idézetet írta: Zalakaka45 date=1366125920\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36244\" data-ipsquote-contentclass=\"forums_Topic
Helló! Van egykis gond az eggyik kis rendszeremmel... Nem menti a pénzt hiába minden jól van.
 
Pénz

 

Ha más nem is, de ez biztosan hiba: sose használj ékezetes betûket dinivel (se mással, ahol adatokat kérdezel le, vagy bármi más ami nem magyar)! Írd át Penz-re.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Pénz mentése
« Válasz #2 Dátum: 2013. Április 16. - 18:05:36 »
0 Show voters

Nem elérhető Time

Pénz mentése
« Válasz #3 Dátum: 2013. Április 16. - 20:29:20 »
0 Show voters
Szerintem érdemesebb \'\'Money\'\' ra át írni, vagy tévedek ???

Pénz mentése
« Válasz #4 Dátum: 2013. Április 16. - 20:39:34 »
0 Show voters
Ömm attól hogy ez jónak tûnik attól még máshol hibák lehetnek benne szóval amik ehhez a \'Info[playerid][Penz]\' -hez kapcsolódnak azokat a részeket is kérnénk, arigatou goseimas  :smokin:

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Pénz mentése
« Válasz #5 Dátum: 2013. Április 16. - 21:38:31 »
0 Show voters
Mentésnél használhatnál: GetPlayerMoney(playerid);
Lehet az lesz a baj, hogy a változónak nem adsz értéket vagyis a pénzt.

Pénz mentése
« Válasz #6 Dátum: 2013. Április 17. - 13:47:07 »
0 Show voters
Idézetet írta: Red-Eye date=1366137574\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36244\" data-ipsquote-contentclass=\"forums_Topic
Ömm attól hogy ez jónak tûnik attól még máshol hibák lehetnek benne szóval amik ehhez a \'Info[playerid][Penz]\' -hez kapcsolódnak azokat a részeket is kérnénk, arigatou goseimas  :smokin:
 

enum Informacio
{
Admin,
Pontok,
Rendor,
Penz,
}
new Info[MAX_PLAYERS][informacio];
new Betolt[128];
new Ment[128];

 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }
       else
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(!dini_Exists(Ment)){}
    else
        {
                dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
    }
return 1;
}[/code]
A mappa megvan csinálva! Regisztrációs rendszer van, az jól mûködik!

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Pénz mentése
« Válasz #7 Dátum: 2013. Április 17. - 17:33:57 »
0 Show voters
Idézetet írta: Zalakaka45 date=1366199227\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36244\" data-ipsquote-contentclass=\"forums_Topic


Ömm attól hogy ez jónak tûnik attól még máshol hibák lehetnek benne szóval amik ehhez a \'Info[playerid][Penz]\' -hez kapcsolódnak azokat a részeket is kérnénk, arigatou goseimas  :smokin:
 

enum Informacio
{
Admin,
Pontok,
Rendor,
Penz,
}
new Info[MAX_PLAYERS][informacio];
new Betolt[128];
new Ment[128];

 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }
       else
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(!dini_Exists(Ment)){}
    else
        {
                dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
    }
return 1;
}[/code]
 
[/quote]
(A [ code = pawn ] -ot lehagytad véletlenül, szerintem gyorsan szerkeszd át, mielõtt egy Moderátor rád szólna)
 

A mappa megvan csinálva! Regisztrációs rendszer van, az jól mûködik!
 
[/quote]
Tehát akkor azt írtad, hogy van regisztrációs rendszer. Ez esetben létezik már a fájl, tehát ez a rész itt nem kell.
 
 if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }

 
Átírtam neked a helyes kódra, és elméletileg mûködnie is kéne.
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(dini_Exists(Betolt))
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(dini_Exists(Ment))
   {
      dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
   }     
return 1;
}

 
Fontos: az alap pénz mutató nem fogja mutatni a pénzt, mivel arra nincs betöltve. Használ saját, akár Forintot író pénz dobozt (TextDraw-al megoldva), vagy pedig simán töltsd be az alap, $-os dobozra a lekérdezett pénzt, a GivePlayerMoney függvény segítségével. Ha az utóbbi megoldást választod, ahhoz itt van a kód is:
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(dini_Exists(Betolt))
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
                GivePlayerMoney(playerid, Info[playerid][Penz]);
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(dini_Exists(Ment))
   {
      dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
   }     
return 1;
}

 
Remélem segítettem. :)
« Utoljára szerkesztve: 2013. Április 17. - 17:35:31 írta Dfoglalo »

Pénz mentése
« Válasz #8 Dátum: 2013. Április 17. - 20:13:06 »
0 Show voters
Idézetet írta: Dfoglalo date=1366212837\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36244\" data-ipsquote-contentclass=\"forums_Topic


 

Ömm attól hogy ez jónak tûnik attól még máshol hibák lehetnek benne szóval amik ehhez a \'Info[playerid][Penz]\' -hez kapcsolódnak azokat a részeket is kérnénk, arigatou goseimas  :smokin:
 

enum Informacio
{
Admin,
Pontok,
Rendor,
Penz,
}
new Info[MAX_PLAYERS][informacio];
new Betolt[128];
new Ment[128];

 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }
       else
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(!dini_Exists(Ment)){}
    else
        {
                dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
    }
return 1;
}[/code]
 
[/quote]
(A [ code = pawn ] -ot lehagytad véletlenül, szerintem gyorsan szerkeszd át, mielõtt egy Moderátor rád szólna)
 

A mappa megvan csinálva! Regisztrációs rendszer van, az jól mûködik!
 
[/quote]
Tehát akkor azt írtad, hogy van regisztrációs rendszer. Ez esetben létezik már a fájl, tehát ez a rész itt nem kell.
 
 if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }

 
Átírtam neked a helyes kódra, és elméletileg mûködnie is kéne.
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(dini_Exists(Betolt))
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(dini_Exists(Ment))
   {
      dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
   }     
return 1;
}

 
Fontos: az alap pénz mutató nem fogja mutatni a pénzt, mivel arra nincs betöltve. Használ saját, akár Forintot író pénz dobozt (TextDraw-al megoldva), vagy pedig simán töltsd be az alap, $-os dobozra a lekérdezett pénzt, a GivePlayerMoney függvény segítségével. Ha az utóbbi megoldást választod, ahhoz itt van a kód is:
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(dini_Exists(Betolt))
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
                GivePlayerMoney(playerid, Info[playerid][Penz]);
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(dini_Exists(Ment))
   {
      dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
   }     
return 1;
}

 
Remélem segítettem. :)
 
[/quote]
Most meg az a baj, csináltam egy kódot hogy /penz és akkor a játékba ad 5000 dollár, beirom /penz, ott kijelzi hogy megadta de viszont mikor kilépek, akk má nem menti le a Karakterek mappába!

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Pénz mentése
« Válasz #9 Dátum: 2013. Április 17. - 20:26:12 »
0 Show voters
Idézetet írta: Zalakaka45 date=1366222386\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36244\" data-ipsquote-contentclass=\"forums_Topic


 

 

Ömm attól hogy ez jónak tûnik attól még máshol hibák lehetnek benne szóval amik ehhez a \'Info[playerid][Penz]\' -hez kapcsolódnak azokat a részeket is kérnénk, arigatou goseimas  :smokin:
 

enum Informacio
{
Admin,
Pontok,
Rendor,
Penz,
}
new Info[MAX_PLAYERS][informacio];
new Betolt[128];
new Ment[128];

 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }
       else
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(!dini_Exists(Ment)){}
    else
        {
                dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
    }
return 1;
}[/code]
 
[/quote]
(A [ code = pawn ] -ot lehagytad véletlenül, szerintem gyorsan szerkeszd át, mielõtt egy Moderátor rád szólna)
 

A mappa megvan csinálva! Regisztrációs rendszer van, az jól mûködik!
 
[/quote]
Tehát akkor azt írtad, hogy van regisztrációs rendszer. Ez esetben létezik már a fájl, tehát ez a rész itt nem kell.
 
 if(!dini_Exists(Betolt))
         {
            dini_Create(Betolt);
            dini_Set(Betolt, \"Penz\", \"0\");
            dini_IntSet(Betolt, \"Penz\", Info[playerid][Penz]);
       }

 
Átírtam neked a helyes kódra, és elméletileg mûködnie is kéne.
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(dini_Exists(Betolt))
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(dini_Exists(Ment))
   {
      dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
   }     
return 1;
}

 
Fontos: az alap pénz mutató nem fogja mutatni a pénzt, mivel arra nincs betöltve. Használ saját, akár Forintot író pénz dobozt (TextDraw-al megoldva), vagy pedig simán töltsd be az alap, $-os dobozra a lekérdezett pénzt, a GivePlayerMoney függvény segítségével. Ha az utóbbi megoldást választod, ahhoz itt van a kód is:
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
        format(Betolt, sizeof(Betolt), \"Karakterek/%s.ini\",nev);
        if(dini_Exists(Betolt))
       {
                Info[playerid][Penz] = dini_Int(Betolt,\"Penz\");
                GivePlayerMoney(playerid, Info[playerid][Penz]);
       }
return 1;
}
public OnPlayerDisconnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Ment, sizeof(Ment), \"Karakterek/%s.ini\",nev);
    if(dini_Exists(Ment))
   {
      dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
   }     
return 1;
}

 
Remélem segítettem. :)
 
[/quote]
Most meg az a baj, csináltam egy kódot hogy /penz és akkor a játékba ad 5000 dollár, beirom /penz, ott kijelzi hogy megadta de viszont mikor kilépek, akk má nem menti le a Karakterek mappába!
 
[/quote]
Azért, mert nem a Penz tárolóhoz adod hozzá, hanem csak ahhoz az alap pénz mutató dobozhoz. A disconnecthez írd:
 
dini_IntSet(Ment, \"Penz\", GetPlayerMoney(playerid));

 
a
 
dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);

 
után, tehát
 
dini_IntSet(Ment, \"Penz\", Info[playerid][Penz]);
dini_IntSet(Ment, \"Penz\", GetPlayerMoney(playerid));

 
-et írj.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal