Firess0 1 Odesláno: 15. Červen, 2016 Share Odesláno: 15. Červen, 2016 (upraveno) čau učím sa teraz ukládat cez file.inc a mam taky problem keď zapišem niečo do suboru a chcem to cez format načitať, tak to nejde. tu mam ukládanie cez dialog inputtext. if(dialogid == 9951) { if(response == 1) { new File:subor = fopen("subor.txt", io_write); if (subor) { fwrite(subor, inputtext); fclose(subor); } } else if(response == 0) { } } toto ešte ide ale ak chcem načitať to čo som zapisal cez toto: if(dialogid == 9952) { if(response == 1) { if(listitem == 0) { new File:subor = fopen("subor.txt", io_read); new string[128]; new ab; fread(subor, string); format(ab, sizeof(ab), "Napisal si: %s %s", string, fgetchar(subor, false)); SendClientMessage(playerid, 1, ab); fclose(subor); } } } tak mi vyhodi tieto chyby. : error 035: argument type mismatch (argument 1) : error 035: argument type mismatch (argument 1) Chyba je v format(ab, sizeof(ab), "Napisal si: %s %s", string, fgetchar(subor, false)); Edited 15. Červen, 2016 by Firess0 Link to comment Share on other sites More sharing options...
0 MackoLuky 1 Odesláno: 15. Červen, 2016 Share Odesláno: 15. Červen, 2016 (upraveno) new File:subor = fopen("subor.txt", io_read); new string[128]; new ab[128]; if(soubor) { while(fread(subor, string)) { format(ab, sizeof(ab), "Napsal si: %s", string); SendClientMessage(playerid, 1, ab); } } fclose(subor); Edited 15. Červen, 2016 by MackoLuky Link to comment Share on other sites More sharing options...
0 Firess0 1 Odesláno: 15. Červen, 2016 Author Share Odesláno: 15. Červen, 2016 diky a neporadil by si mi ešte ako mam urobiť toto aby mi pisalo v tomu subore.txt info o hračovi napr. money = 1000 vehicleXYZ = 1, 154, 156 VIP = 1 Chcem vedieť to ako pridať pred napr. suradice vozidla vehicle = + ešte ako načitať určity riadok napr. keby som chcel načitať vehicleXYZ Link to comment Share on other sites More sharing options...
0 Kubko 22 Odesláno: 15. Červen, 2016 Share Odesláno: 15. Červen, 2016 (upraveno) To je tzv. INI zapisovanie: key (name) = value No bohužiaľ, s includom File samotným to nemôžeš urobiť, no môžeš si urobiť stále vlastné funkcie, ktoré by takto vedeli pracovať, no myslím, že by si mal jednoduchšie, keby si si rovno nejaký INI includ stiahol, je ich niekoľko, napr Y_INI, DOF2, dini... Edited 15. Červen, 2016 by Sanios Link to comment Share on other sites More sharing options...
0 Firess0 1 Odesláno: 16. Červen, 2016 Author Share Odesláno: 16. Červen, 2016 Aha ok diky ja použivam file lebo najmenej zaťažuje server Aha ok diky ja použivam file lebo najmenej zaťažuje server A nepreformoval by si mi ten kod na ukladanie z file do y_ini aby som mal niejaky priklad že to y_ini pochopim. Ďakujem. Link to comment Share on other sites More sharing options...
0 Kubko 22 Odesláno: 16. Červen, 2016 Share Odesláno: 16. Červen, 2016 (upraveno) Nedá sa to len tak preformovať , y_ini má svoj kód napísaný a všetky svoje funkcie sú urobené tak aby vedeli prečítať/zapisovať podľa toho INI formátu súboru pomocou includu File. Jediný spôsob, ako môžeš zistiť ako to funguje, pozri návod na SA:MP fóre: http://forum.sa-mp.com/showthread.php?t=570957 Edited 16. Červen, 2016 by Sanios Link to comment Share on other sites More sharing options...
0 Firess0 1 Odesláno: 16. Červen, 2016 Author Share Odesláno: 16. Červen, 2016 Ok diky A keby si bol taky dobry tak mi prosim urob to ukladanie (priklad) na to že mi to do suboru uloži tak: Money = 100 Vip = 1 A potom jak mam načitať ten riadok z vip Ja sa pokusim pochopitbten navod Link to comment Share on other sites More sharing options...
0 Quiter 99 Odesláno: 18. Červen, 2016 Share Odesláno: 18. Červen, 2016 (upraveno) if(subor){while(fread(subor, string)){if(!strcmp(string, "money", true, 5)) // zistím či riadok začína slovom MONEY (na velkosti písmen nezáleží, ak chceš aj velkosť písmen tak miesto TRUE daj FALSE) { strdel(string, 0, 6); // zo stringu obsahujúceho "money=500" (500 je príklad) zmažem znaky na pozíciach 0 až 6 (6 je "=") // teraz premenná string obsahuje "500"... čo dokážeš pomocou strval premeniť na integer }}} PS: Ale úprimne, nemyslím si že je toto to najlepšie riešenie, pretože pokial tam budeš mať 50 dát ktoré budeš chcieť čítať, tak budeš musieť tento postup zopakovať 50*50 čo máš cyklus o 2500 počte, pre každého hráča a to počítam len príklad s najrýchlejším riešením, ktoré ma napadlo no teba nemusí Edited 18. Červen, 2016 by Quiter Link to comment Share on other sites More sharing options...
0 Lukasz 336 Odesláno: 18. Červen, 2016 Share Odesláno: 18. Červen, 2016 (upraveno) ten strdel je zbytecny, staci pak do strval dosadit string[index]. Pouzij jiz nejaky hotovy inc, ktery to resi. Edited 18. Červen, 2016 by Lukasz Link to comment Share on other sites More sharing options...
0 Firess0 1 Odesláno: 20. Červen, 2016 Author Share Odesláno: 20. Červen, 2016 diky Link to comment Share on other sites More sharing options...
Dotaz
Firess0 1
čau učím sa teraz ukládat cez file.inc a mam taky problem keď zapišem niečo do suboru a chcem to cez format načitať, tak to nejde.
tu mam ukládanie cez dialog inputtext.
toto ešte ide ale ak chcem načitať to čo som zapisal cez toto:
tak mi vyhodi tieto chyby.
: error 035: argument type mismatch (argument 1)
Link to comment
Share on other sites
9 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now