Tanga 131 Odesláno: 12. Prosinec, 2013 Share Odesláno: 12. Prosinec, 2013 Toto je len ukážka použitia môjho includu na prácu so súbormi.Ak ho ešte nemáš, sťahuj tu. *Sťahuj tú verziu, ktorá má 7.3 KB!Preskočím tú časť, kde vysvetlujem, že môj includ je určený na používanie ini súborov.Všetko sa dá nájsť v linku na jeho stiahnutie.Zoznam funkcií v include je tu: VytvoritSubor(subor[]); VymazatSubor(subor[]); // Maže súborExistujeSubor(subor[]); // Vracia či súbor existujeZapisatInt(subor[],tag[],int,bool:prepisanie); // Ak údaj už je zapísaný, prepísanie daj trueZapisatString(subor[],tag[],string[],bool:prepisanie); // Ak údaj už je zapísaný, prepísanie daj trueZapisatFloat(subor[],tag[],float:RealneCislo,bool:prepisanie); // Ak údaj už je zapísaný, prepísanie daj truePrecitatInt(subor[],tag[]); // Vracia integerPrecitatString(subor[],tag[]); // Vracia stringPrecitatFloat(subor[],tag[]); // Vracia float Asi treba bližšie vysvetliť zapisovacie funkcie, pretože ten posledný argument je netradičný (na urýchlenie skriptu).Ukážem použitie pri zapisovaní a čítaní nejakého desatinného čísla. //Posledný argument určuje, že či už bol predtým tento údaj zapísaný VytvoritSubor("TEST.TXT"); ZapisatFloat("TEST.TXT","G",float:9.80665,false); // Posledný argument je false, pretože predtým tam daný riadok ("G") nebol printf("Gravitačná konštanta je rovná '%f'.",PrecitatFloat("TEST.TXT","G")); ZapisatFloat("TEST.TXT","G",float:1.56789,true); // Už existuje riadok "G", takže použijem posledný argument true printf("Gravitačná konštanta sa určite nerovná '%f'.",PrecitatFloat("TEST.TXT","G")); Tak a teraz keď som vysvetlil daný argument, môžem urobiť rovno registračný systém, na tom ukážem ostatné funkcie. #include <a_samp> #include <Súbory> #include <zcmd> new bool:Prihlaseny[MAX_PLAYERS]; public OnPlayerConnect(playerid) { SendClientMessage(playerid,0xFF0000FF,"Použi /prihlasit heslo"); Prihlaseny[playerid] = false; } public OnPlayerDisconnect(playerid) { if(Prihlaseny[playerid] == true) { ZapisatFloat(SuborHraca(playerid),"HP",float:GetPlayerHealth(playerid),true); ZapisatInt(SuborHraca(playerid),"Cash",GetPlayerMoney(playerid),true); } } public OnPlayerSpawn(playerid) { if (!Prihlaseny[playerid]) { Kick(playerid); } } command(prihlasit,playerid,params[]) { if(!isnull(params)) { if (ExistujeSubor(SuborHraca(playerid))) { if (!strcmp(params,PrecitatString(SuborHraca(playerid),"Heslo"))) { Prihlaseny[playerid] = true; SpawnPlayer(playerid); //PlayerClassy dúfam máš SetPlayerHealth(playerid,PrecitatFloat(SuborHraca(playerid),"HP")); GivePlayerMoney(playerid,PrecitatInt(SuborHraca(playerid),"Cash")); } else return SendClientMessage(playerid,0xFF0000FF,"Zlé heslo."); } else return SendClientMessage(playerid,0xFF0000FF,"Musíš sa najprv /registrovat"); } return SendClientMessage(playerid,0xFF0000FF,"Musíš použiť /prihlasit heslo"); } command(registrovat,playerid,params[]) { if (!ExistujeSubor(SuborHraca(playerid)) && !isnull(params)) { VytvoritSubor(SuborHraca(playerid)); ZapisatString(SuborHraca(playerid),"Heslo",params,false); ZapisatFloat(SuborHraca(playerid),"HP",float:100.0,false); ZapisatInt(SuborHraca(playerid),"Cash",10,false); return SendClientMessage(playerid,0xFFFFFFFF,"Použi /prihlasit heslo"); } return SendClientMessage(playerid,0xFF0000FF,"/prihlasit heslo"); } SuborHraca(playerid) { new Meno[MAX_PLAYER_NAME]; new string[sizeof(Meno)+6]; GetPlayerName(playerid,Meno,MAX_PLAYER_NAME); format(string,sizeof(string),"%s.ini",Meno); return string; } Ten systém nie je bohviečo, no na získanie nápadu to stačí... Takisto je to netestované, keďže nemám GTA . Link to comment Share on other sites More sharing options...
LORD BENDTNER 0 Odesláno: 12. Prosinec, 2013 Share Odesláno: 12. Prosinec, 2013 Moc zabavné :D ale pekné 3/3 Link to comment Share on other sites More sharing options...
Cloudy 0 Odesláno: 13. Prosinec, 2013 Share Odesláno: 13. Prosinec, 2013 Pěkné ale doporučoval bych vždy při načítaní includu aby include neobsahoval speciální znaky atd.. některé IDE neumí rozpoznat ty naše znaky, nahradí je čtvercem.. :DD Link to comment Share on other sites More sharing options...
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