dini_IntSet(file, \"Szint\", JatekosInfo[playerid][szint]); dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); dini_IntSet(file, \"Admin\", JatekosInfo[playerid][Admin]);
GivePlayerMoney(playerid,dini_Int(file,\"Penz\")); JatekosInfo[playerid][szint] = dini_Int(file,\"Szint\"); JatekosInfo[playerid][Admin] = dini_Int(file,\"Admin\");
JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");GivePlayerMoney(playerid,JatekosInfo[playerid][Penz]);
A kód amit megosztottál kevés, viszont a változóba is töltesd be az értéket, ne egyből a pénz barodra.(( UI: Szélsebességgel tanulj MYSQL-t. )) JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");GivePlayerMoney(playerid,JatekosInfo[playerid][Penz]);
A változódba alapvetően nem töltetted be az értéket, hanem egyből a GivePlayerMoney()-al a pénzbárodba insertelted az értéket. Így a változódnak az értéke az alapértelmezett (0) maradt. A kettő kódot amit küldtem másold be, illetve a te általad (a kódodban látható) GivePlayerMoney(); függvényedet töröld, és a kettő sort amit küldtem másold be, majd teszteld.
M[K]_Sh1ft_\" post=\"575669\" timestamp=\"1464620870\"]Figyelmetlenség...LásdMikor valaki lelép a szerverről, akkor mentésre kerül a pénz amit a játékos egy változója tartalmaz. (pipa)(Remélem mikor pénz kap a kedves kliens, nem csak GivePlayerMoney(); fgv.-vel, hanem a játékos változójához is hozzá kerül az összeg...)Mikor viszont valaki bejelentkezik, akkor a fájlból kiolvassa ugyan a változónkat, de a játékos egyik(pénz nevű) változója 0 marad, ha csak annak sem adsz egy értéket. [/quote]Nem igazán értem.
M[K]_Sh1ft_ link=topic=65445.msg575669#msg575669 date=1464620870]Figyelmetlenség...LásdMikor valaki lelép a szerverről, akkor mentésre kerül a pénz amit a játékos egy változója tartalmaz. (pipa)(Remélem mikor pénz kap a kedves kliens, nem csak GivePlayerMoney(); fgv.-vel, hanem a játékos változójához is hozzá kerül az összeg...)Mikor viszont valaki bejelentkezik, akkor a fájlból kiolvassa ugyan a változónkat, de a játékos egyik(pénz nevű) változója 0 marad, ha csak annak sem adsz egy értéket. Nem igazán értem. [/quote]Akkor most egyszerűbben. Szóval mikor egy játékos fel megy a szerverre (tegyük fel nincs pénze és, hogy jó a script) akkor, mikor bejelentkezik, megkapja a pénzt. Lásd: GivePlayerMoney(playerid,dini_Int(file,\"Penz\")); Eddig szép és jó, mert most elvileg adott a játékosunknak 0 pénzt.Tehát a játékos jelenlegi (egyenlege) és a játékos változójának is az értéke 0.Tegyük fel kap 5000$ mert házhoz vitt 2pizzát.Most pedig hogy ezt megvalósítsuk, a játékos változóját át kell írni. JatekosInfo[playerid][Penz] += 5000;//((fontos ha pénzt adsz neki, a változó értékét is át kell írni), nem elég csak a giveplayermoney)GivePlayerMoney(playerid,5000);//+ezt a kis sort hogy a jobb felső sarokban láthassuk a változást is Változás:A játékos változójának,és pénzének az értéke 0 volt ehhez jött 5000Remek. Most gondolt egyet a játékosunk és lelépett a szerverről.Akkor most mentsük is az adatokat: dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); Arra akartam kilyukadni, hogy valószínűleg ott rontottad el, hogy nem figyeltél a változódra.Nos ez volt egy lehetséges megoldás, ami úgy gondolom a legjobb a csíterek ellen.A másik megoldás:Mikor kilép ugye ez van: dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); ezt szépen át írod erre: dini_IntSet(file, \"Penz\", GetPlayerMoney(playerid)); Viszont ha így oldod meg nem sok értelme lesz azon játékos változójának, ami tárolj a pénzt. (Bár ezzel a mondattal lehetne vitatkozni)Edit/Ui: Mikor meghívódik az onplayer connect javasolnám hogy azonnal nullázd ki a játékost. Értsd: ResetPlayerMoney, JatekesInfo[pid][Penz] =0; JatekesInfo[pid][szint] =0; stb.....Lehet ez hülyeség amit írok, de én már ezzel szívtam úgy hogy jó ha le nulláz, na m1 ez csak egy tipp
M[K]_Sh1ft_ link=topic=65445.msg575669#msg575669 date=1464620870]Figyelmetlenség...LásdMikor valaki lelép a szerverről, akkor mentésre kerül a pénz amit a játékos egy változója tartalmaz. (pipa)(Remélem mikor pénz kap a kedves kliens, nem csak GivePlayerMoney(); fgv.-vel, hanem a játékos változójához is hozzá kerül az összeg...)Mikor viszont valaki bejelentkezik, akkor a fájlból kiolvassa ugyan a változónkat, de a játékos egyik(pénz nevű) változója 0 marad, ha csak annak sem adsz egy értéket.
GivePlayerMoney(playerid,dini_Int(file,\"Penz\"));
JatekosInfo[playerid][Penz] += 5000;//((fontos ha pénzt adsz neki, a változó értékét is át kell írni), nem elég csak a giveplayermoney)GivePlayerMoney(playerid,5000);//+ezt a kis sort hogy a jobb felső sarokban láthassuk a változást is
dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]);
dini_IntSet(file, \"Penz\", GetPlayerMoney(playerid));
M[K]_Sh1ft_\" post=\"575685\" timestamp=\"1464622865\"] M[K]_Sh1ft_ link=topic=65445.msg575669#msg575669 date=1464620870]Figyelmetlenség...LásdMikor valaki lelép a szerverről, akkor mentésre kerül a pénz amit a játékos egy változója tartalmaz. (pipa)(Remélem mikor pénz kap a kedves kliens, nem csak GivePlayerMoney(); fgv.-vel, hanem a játékos változójához is hozzá kerül az összeg...)Mikor viszont valaki bejelentkezik, akkor a fájlból kiolvassa ugyan a változónkat, de a játékos egyik(pénz nevű) változója 0 marad, ha csak annak sem adsz egy értéket. [/quote]Nem igazán értem. [/quote]Akkor most egyszerűbben. Szóval mikor egy játékos fel megy a szerverre (tegyük fel nincs pénze és, hogy jó a script) akkor, mikor bejelentkezik, megkapja a pénzt. Lásd: GivePlayerMoney(playerid,dini_Int(file,\"Penz\")); Eddig szép és jó, mert most elvileg adott a játékosunknak 0 pénzt.Tehát a játékos jelenlegi (egyenlege) és a játékos változójának is az értéke 0.Tegyük fel kap 5000$ mert házhoz vitt 2pizzát.Most pedig hogy ezt megvalósítsuk, a játékos változóját át kell írni. JatekosInfo[playerid][Penz] += 5000;//((fontos ha pénzt adsz neki, a változó értékét is át kell írni), nem elég csak a giveplayermoney)GivePlayerMoney(playerid,5000);//+ezt a kis sort hogy a jobb felső sarokban láthassuk a változást is Változás:A játékos változójának,és pénzének az értéke 0 volt ehhez jött 5000Remek. Most gondolt egyet a játékosunk és lelépett a szerverről.Akkor most mentsük is az adatokat: dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); Arra akartam kilyukadni, hogy valószínűleg ott rontottad el, hogy nem figyeltél a változódra.Nos ez volt egy lehetséges megoldás, ami úgy gondolom a legjobb a csíterek ellen.A másik megoldás:Mikor kilép ugye ez van: dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); ezt szépen át írod erre: dini_IntSet(file, \"Penz\", GetPlayerMoney(playerid)); Viszont ha így oldod meg nem sok értelme lesz azon játékos változójának, ami tárolj a pénzt. (Bár ezzel a mondattal lehetne vitatkozni)Edit/Ui: Mikor meghívódik az onplayer connect javasolnám hogy azonnal nullázd ki a játékost. Értsd: ResetPlayerMoney, JatekesInfo[pid][Penz] =0; JatekesInfo[pid][szint] =0; stb.....Lehet ez hülyeség amit írok, de én már ezzel szívtam úgy hogy jó ha le nulláz, na m1 ez csak egy tipp [/quote]Teszteltem, és müködik nagyon köszi a segítséget:)
M[K]_Sh1ft_ link=topic=65445.msg575669#msg575669 date=1464620870]Figyelmetlenség...LásdMikor valaki lelép a szerverről, akkor mentésre kerül a pénz amit a játékos egy változója tartalmaz. (pipa)(Remélem mikor pénz kap a kedves kliens, nem csak GivePlayerMoney(); fgv.-vel, hanem a játékos változójához is hozzá kerül az összeg...)Mikor viszont valaki bejelentkezik, akkor a fájlból kiolvassa ugyan a változónkat, de a játékos egyik(pénz nevű) változója 0 marad, ha csak annak sem adsz egy értéket. [/quote]Nem igazán értem. [/quote]Akkor most egyszerűbben. Szóval mikor egy játékos fel megy a szerverre (tegyük fel nincs pénze és, hogy jó a script) akkor, mikor bejelentkezik, megkapja a pénzt. Lásd: GivePlayerMoney(playerid,dini_Int(file,\"Penz\")); Eddig szép és jó, mert most elvileg adott a játékosunknak 0 pénzt.Tehát a játékos jelenlegi (egyenlege) és a játékos változójának is az értéke 0.Tegyük fel kap 5000$ mert házhoz vitt 2pizzát.Most pedig hogy ezt megvalósítsuk, a játékos változóját át kell írni. JatekosInfo[playerid][Penz] += 5000;//((fontos ha pénzt adsz neki, a változó értékét is át kell írni), nem elég csak a giveplayermoney)GivePlayerMoney(playerid,5000);//+ezt a kis sort hogy a jobb felső sarokban láthassuk a változást is Változás:A játékos változójának,és pénzének az értéke 0 volt ehhez jött 5000Remek. Most gondolt egyet a játékosunk és lelépett a szerverről.Akkor most mentsük is az adatokat: dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); Arra akartam kilyukadni, hogy valószínűleg ott rontottad el, hogy nem figyeltél a változódra.Nos ez volt egy lehetséges megoldás, ami úgy gondolom a legjobb a csíterek ellen.A másik megoldás:Mikor kilép ugye ez van: dini_IntSet(file, \"Penz\", JatekosInfo[playerid][Penz]); ezt szépen át írod erre: dini_IntSet(file, \"Penz\", GetPlayerMoney(playerid)); Viszont ha így oldod meg nem sok értelme lesz azon játékos változójának, ami tárolj a pénzt. (Bár ezzel a mondattal lehetne vitatkozni)Edit/Ui: Mikor meghívódik az onplayer connect javasolnám hogy azonnal nullázd ki a játékost. Értsd: ResetPlayerMoney, JatekesInfo[pid][Penz] =0; JatekesInfo[pid][szint] =0; stb.....Lehet ez hülyeség amit írok, de én már ezzel szívtam úgy hogy jó ha le nulláz, na m1 ez csak egy tipp [/quote]Teszteltem, és müködik nagyon köszi a segítséget:)