Szerző Téma: Y_INI RP Teszt érték mentése  (Megtekintve 2350 alkalommal)

Y_INI RP Teszt érték mentése
« Dátum: 2017. március 10. - 12:14:48 »
0 Show voters
Sziasztok.
 
Lenne egy kérdésem, még pedig az hogy-hogy lehet úgy írni a játékos filejába értéket hogy azt egyből át is írja?
 
Én csináltam egy RP Tesztet és a végén megszeretném változtattni az RP Teszt értékét 1 -re hogy ne kérje már bejelentkezésnél. 
 
Valami hiba lehet vele..itt a kód.
 
Köszönöm előre a segítséget.
 
U.I: Tanuló y_iniző vagyok.. :(
 

if(dialogid == DIALOG_SIKERES)
{
    if(response)
    {
        GivePlayerMoney(playerid, PlayerInfo[playerid][pPenz]);
        new INI:File = INI_Open(UserPath(playerid));
        INI_WriteInt(File,\"RPTeszt\",1);
        INI_Close(File);
        SendClientMessage(playerid, -2,\"Sikeres RP Teszt, kapsz egy kis kezdőpénzt a kellő eszközök beszerzéséhez.\");
}
else
{
        Kick(playerid);
}
}

 
 
« Utoljára szerkesztve: 2017. március 19. - 16:59:01 írta Brandon Brooks »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Y_INI RP Teszt érték mentése
« Válasz #1 Dátum: 2017. március 11. - 19:40:16 »
0 Show voters
Másold be a UserPath(playerid) stockot.. szerintem nem találja a mappát és nincs hova mentse az értéket, másold be lássam mi az.

Y_INI RP Teszt érték mentése
« Válasz #2 Dátum: 2017. március 13. - 20:13:37 »
0 Show voters

stock UserPath(playerid)
{
    new string[258],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),MAPPA,playername);
    return string;
}

 
Elnézést hogy eddig nem reagáltam :(..
 
Itt van az UserPath függvény

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Y_INI RP Teszt érték mentése
« Válasz #3 Dátum: 2017. március 14. - 13:38:50 »
0 Show voters
Kell legyen egy #define MAPPA \"\" azt is másold.

Y_INI RP Teszt érték mentése
« Válasz #4 Dátum: 2017. március 14. - 15:51:50 »
0 Show voters

#define MAPPA \"/Tagok/%s.ini\"

 
Természetesen létezik a mappa a scriptfiles mappában, és működik is de én azonnali mentéseket szeretnék beleírni a játékos fájlaiba.
 
Szóval egy műveletnél írja át az egyik sor értékét egyből.
 
Ennél jobban nem tudom elmagyarázni az a legnagyobb baj...

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Y_INI RP Teszt érték mentése
« Válasz #5 Dátum: 2017. március 14. - 20:39:08 »
0 Show voters
Ha soronként akarod, akkor be kell \"Tag\"-elni azt az adott adattömböt, amit szeretnél töltögetni, ha egyesével akarod, akkor soronként kellene egy tag.
 

INI_SetTag(File,\"ertek\");

 
Ez így fog kinézni a forrásban:
 
[ertek]
 
RPteszt = 1 // Vagy valami hasonló fejből nem tudom az összes lehetséges szintaktikát, de a tag a lényeg.
 
 
 
Aztán a lényeg ha beolvasod, akkor fontos megadni a \"Tag\"-et a callbacknél.
 

...\"Jatekos_Adatainak_Betoltese_%s_%s\",UserPath(playerid),\"ertek\"......);

 
Tehát az elérés után még hozzárakod a \"Tag\"-et, így csak az adott részt fogja figyelni, és mivel abban, ha úgy állítod be, akkor csak 1 sort fog figyelni.
 
 
 
Ennyi információból, ezt tudtam kihozni.

Y_INI RP Teszt érték mentése
« Válasz #6 Dátum: 2017. március 15. - 05:41:28 »
0 Show voters
Köszönöm Mark hogy mindig segítesz nekünk :) Az a vicces hogy ezt a variánst már megálmodtam én is.. suli után megpróbálom így :D És majd írok hogy mi a helyzet :P Addig is köszönök nektek mindent ZyZu és Mark :)

Y_INI RP Teszt érték mentése
« Válasz #7 Dátum: 2017. március 16. - 21:33:48 »
0 Show voters

[data]
Jelszó = 216269482
Admin = 0
AdminDuty = 0
Pont = 0
Pénz = 1500
Nem = 0
Kor = 0
Magasság = 0
Súly = 0
Ruha = 60
Frakció = 0
FrakcióSzint = 0
Munka = 0
JogosítványA1 = 0
JogosítványA = 0
JogosítványB = 0
JogosítványD = 0
RPTeszt = 0
X = 1063.098754
Y = 1037.504394
Z = 10.158012
Angle = 318.182556
Élet = 100.000000
Páncél = 0.000000
[RPTeszt]
RPTeszt = 1

 
Nem egészen értem azt hogy betöltésnél mit hova kéne írni abból amit leírtál.... mellesleg nem tudom felfogni hogy miért készít új sort ugyan azzal az elnevezéssel..
 
Jelenleg így néz ki betöltésnél..
 
INI_Int(\"RPTeszt\",PlayerInfo[playerid][pRP]);
« Utoljára szerkesztve: 2017. március 16. - 21:36:04 írta Brandon Brooks »

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Y_INI RP Teszt érték mentése
« Válasz #8 Dátum: 2017. március 17. - 08:51:11 »
0 Show voters
Elmagyarázom :D
 
A Y_INI a gyorsabb működés elve szerint, lehetőséget ad Tag-ek használatára. Ha megadod melyik \"Tag\" csoportot szeretnéd kezelni, akkor a többit figyelmen kívül hagyja.
Betöltésnél megadhatod, melyik fájlból, és melyik Tag csoportból olvasson ki.
Viszont, szerepelhet egy ugyanolyan érték, több Tag csoportnál is, (lásd neked az RP teszt),mivel az egyiket figyeli csak.
 
Betöltésnél pedig, úgy kell betölteni, hogy meg kell adni, hogy melyik Tag-ből szeretnéd kiolvasni az adott értéket.
 

INI_ParseFile(\"myfile.ini\", \"Callback_%s_RPTeszt\", ......);
public Callback_myfile_ini_RPTeszt(.....); // Stb.
{
    INI_Int(\"RPTeszt\",pInfo[playerid][pRP]);
    return 1;
}

 
Mentésnél szintúgy, megadsz egy Tag-et,
 

INI_SetTag(file,\"RPTeszt\"); // Így biztosan az RPTeszt \"Tag\"-nél lévő értékeket fogja kezelni !
INI_WriteInt(file,\"RPTeszt\",1); // itt pedig beleírod az értéket.

 
Tehát lényegében, mindig csak az adott Tag értékét fogja kezelni, a többitől nem veszi \"számításba\".

Y_INI RP Teszt érték mentése
« Válasz #9 Dátum: 2017. március 18. - 22:55:28 »
0 Show voters
Köszönöm szépen a segítségeteket !! 
 
Végre sikerült felemészteni amit írtál Márk! :) 
 
U.i.: Zárható a téma, még mindig nem találtam meg hogy hol kell lezárni.. :))

Y_INI RP Teszt érték mentése
« Válasz #10 Dátum: 2017. március 19. - 12:39:11 »
0 Show voters
Még egy kérdés betöltésnél hogy írjam a tag-et?

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Y_INI RP Teszt érték mentése
« Válasz #11 Dátum: 2017. március 19. - 13:54:28 »
0 Show voters
Van valami ilyesmi kódod :
 

INI_ParseFile(\"jatekosfile.ini\",\"JatekosBetoltes_%s_RPTeszt\",UserPath(playerid)..........); // Vagy valami ilyesmi, lényeg, hogy a \"%s\" után rakod a Tag-et. \"_RPTeszt\"

 
 

Y_INI RP Teszt érték mentése
« Válasz #12 Dátum: 2017. március 19. - 15:57:29 »
0 Show voters

INI_ParseFile(UserPath(playerid), \"LoadUser_%s_azonnal\", .bExtra = true, .extra = playerid);

 
Így se jó pedig a tag elnevezése az \"azonnal\" 

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Y_INI RP Teszt érték mentése
« Válasz #13 Dátum: 2017. március 19. - 17:25:24 »
0 Show voters
Ezt még utána kell rakni, hogy a tag-eket figyelembe vegye.
 

.extre = playerid, .bPassTag = true

 
Illetve a callbacknél is kell egy (tag[],playerid,...)

Y_INI RP Teszt érték mentése
« Válasz #14 Dátum: 2017. március 19. - 20:43:12 »
0 Show voters

C:\\Users\\Krisztian\\Desktop\\NEW\\gamemodes\\Y_INI.pwn(203) : error 017: undefined symbol \"extre\"
C:\\Users\\Krisztian\\Desktop\\NEW\\gamemodes\\Y_INI.pwn(203) : warning 215: expression has no effect
C:\\Users\\Krisztian\\Desktop\\NEW\\gamemodes\\Y_INI.pwn(203) : error 029: invalid expression, assumed zero
C:\\Users\\Krisztian\\Desktop\\NEW\\gamemodes\\Y_INI.pwn(203) : error 017: undefined symbol \"bPassTag\"
C:\\Users\\Krisztian\\Desktop\\NEW\\gamemodes\\Y_INI.pwn(203) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
4 Errors.

 
be raktam de errorozik..

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal