Mattsy 29 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Veľa ľudí používa pre registráciu alebo ukladanie vecí dudb. Script je však zložitý a záťažový na server. A ak chete viec ukladaní musíte si to prepísať v include čo je veľká nevýhoda. DracoBlue nám však vytvoril script dini, ktorý je jednduchší a menej záťažový.Preto si v tomto návode dini viac priblížime a pozrieme sa na jeho funkcie.Najprv si vymenujeme zákaldné funckie a potom ich použitie v scripte.============================================================Dini stiahnete tu: http://bugsy.707.cz/Dini.inc Základné funkcie:dini_Exists(file[]); // Používa sa pri kontrole či súbor existuje dini_Create(file[]); // Používa sa na vytvorenie súboru dini_Remove(file[]); // Používa sa na vymazanie súboru Funkcie pre uloženie:dini_Set(file[], oznacenie[], hodnota[]); // Slúži nám na ukladanie stringu dini_IntSet(file[], oznacenie[],hodnota); // Slúži na ukladanie integeru dini_FloatSet(file[], oznacenie[],Float:hodnota); // Slúži na ukladanie Floatu teda desatinných čísel dini_BoolSet(file[], oznacenie[],hodnota); //Slúži na ukladanie booleanu( true, false ) Funkcie pre načítavanie:dini_Get(file[], oznacenie[]); // Slúži na načítanie stringu dinit_Int(file[], oznacenie[]); // Slúži na načítanie integeru dini_Float(file[], oznacenie[]); // Slúži na načítanie floatu dini_Bool(file[], oznacenie[]); // Slúži na načítanie boolu ============================================================UkladanieTeraz si ukážeme názorné ukladanie Stringu, integeru, floatu a boolu v jednom.Ako prvé si určíme cestu k súboru:new cesta[50]; format(cesta, sizeof(cesta), "/Users/%.sav", Meno(playerid));// Budeme to ukladať do priečinku Users v Scriptfiles, prípomonu si možte zmeniť Teraz zistíme či hráčov účet už existuje:if(!dini_Exists(cesta))// ak hráčov súbor neexistuje( preto tam je ! ) { dini_Create(cesta);// tak ho vytvoríme } else// ale ak existuje { // Tu pridáme ukladanie } Samotné ukladanie:new Float:X, Float:Y, Float:Z;// nadefinujeme si premeny do ktorých budeme ukladať hráčovu pozíciu ktorú neskor uložíme GetPlayerPos(playerid, X, Y, Z);// zistíme si hráčovu pozíciu a následne ju zapíšeme do premien dini_Set(cesta, "Meno", Meno(playerid)); // Do súbora sa vytvorí položka "Meno=" a za "=" sa nám uloží hráčove meno ( na takomto princípe sa ukaldá heslo v registrácii ) dini_IntSet(cesta, "Povolanie", povolanie[playerid]); // Ako druhá položka z vrchu sa nám vytvorí "Povolanie", kde sa nám uloží hráčove povolanie podľa ID povolania dini_FloatSet(cesta, "X", X);// Zapíšeme hráčovu súradnicu X dini_FloatSet(cesta, "Y", Z);// Zapíšeme hráčovu súradnicu Y dini_FloatSet(cesta, "Y", Z);// Zapíšeme hráčovu súradnicu Z dini_BoolSet(cesta, "Vodicak", vodicak[playerid]);// Uložíme si hráčov vodičák ( bool je na preukazy lepšie ) Takže sme sa dostali k tomuto:new cesta[50]; format(cesta, sizeof(cesta), "/Users/%s.sav", Meno(playerid)); if(!dini_Exists(cesta)) { dini_Create(cesta); } else { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); dini_Set(cesta, "Meno", Meno(playerid)); dini_IntSet(cesta, "Povolanie", povolanie[playerid]); dini_FloatSet(cesta, "X", X); dini_FloatSet(cesta, "Y", Z); dini_FloatSet(cesta, "Y", Z); dini_BoolSet(cesta, "Vodicak", vodicak[playerid]); } ============================================================NačítavanieTu si ukážeme ako načítať hráčove štatistiky ktorých ukladanie sme si ukázali vyššie.Znova si určíme cestu k súboru:new cesta[50], Float:X, Float:Y, Float:Z;// definícia stringu a floatov do ktorých uložíme pozíciu format(cesta, sizeof(cesta), "/Uses/%s.sav", Meno(playerid));// cesta k hráčovemu súboru ( musí byť pri každom načítavaní/ukladaní ) Samotné načítavanie:Meno(playerid) = dini_Get(cesta, "Meno");// načítame hráčove meno zo súboru X = dini_Float(cesta, "X");// do premeny zapíšeme súradnicu X ktorú sme si uložili do súboru Y = dini_Float(cesta, "Y");// do premeny zapíšeme súradnicu Y ktorú sme si uložili do súboru Z = dini_Float(cesta, "Z");// do premeny zapíšeme súradnicu Z ktorú sme si uložili do súboru SetPlayerPos(playerid, X, Y, Z);// nastavíme hráčovu pozíciu ( toto by išlo aj inak, ale napísal som vám jednoduchší sposob ) vodicak[playerid] = dini_Bool(cesta, "Vodicak");// Zo súboru načítame hráčovi vodičák Celkovo to bude vyzerať takto:new cesta[50]; format(cesta, sizeof(cesta), "/Users/%s.sav", Meno(playerid)); Meno(playerid) = dini_Get(cesta, "Meno"); X = dini_Float(cesta, "X"); Y = dini_Float(cesta, "Y"); Z = dini_Float(cesta, "Z"); SetPlayerPos(playerid, X, Y, Z); vodicak[playerid] = dini_Bool(cesta, "Vodicak"); Tak to by bolo asi všetko, písal som to z hlavy a dúfam že vám to pomože a že odteraz už budete dini chápať V prípade nejakých nejasností píšte do topicu, nie do SZ ! Návod označen jako platný Ten to návod byl označen jako platný.Návod může být kdykoli označen jako nevhodný či neplatný 2 Link to comment Share on other sites More sharing options...
DonMafia 14 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Krásne vysvetlený tutorial Nováčikom si pomohol Link to comment Share on other sites More sharing options...
iFailGamer 25 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Moc pekne!! 10/10 A teraz skype ! Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 výborny tutorial chválim Link to comment Share on other sites More sharing options...
Lax. 28 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 new cesta[50], Float:X, Float:Y, Float:Z;; Zle .. ale inak good tut Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 8. Březen, 2011 Author Share Odesláno: 8. Březen, 2011 new cesta[50], Float:X, Float:Y, Float:Z;; Zle .. ale inak good tut jaj díky, mám tam dvakrát stredník, som si nevšimol a ďakujem za hodnotenia EDIT: opravené Link to comment Share on other sites More sharing options...
paulie2907 12 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Moc povedný tut. Když jsem ho kdysi potřeboval tak tu nebyl inu, aspoň to pomůže nikomu jinému . Je tu konečně nějakej s DINI formátováním co já používám . Děkuju 10/10 Link to comment Share on other sites More sharing options...
Guest Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 nechválim... Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 8. Březen, 2011 Author Share Odesláno: 8. Březen, 2011 nechválim... ty nikdy nič nechváliš Link to comment Share on other sites More sharing options...
Guest Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 nj, máš pravdu. Nechválim nič čo je tu 2x... viewtopic.php?f=8&t=7756&hilit=dini viewtopic.php?f=8&t=14070&hilit=dini viewtopic.php?f=8&t=73&hilit=dini viewtopic.php?f=8&t=7754&hilit=dini Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 8. Březen, 2011 Author Share Odesláno: 8. Březen, 2011 nj, máš pravdu. Nechválim nič čo je tu 2x...http://pawno.cz/viewtopic.php?f=8&t=7756&hilit=dini http://pawno.cz/viewtopic.php?f=8&t=14070&hilit=dini http://pawno.cz/viewtopic.php?f=8&t=73&hilit=dini http://pawno.cz/viewtopic.php?f=8&t=7754&hilit=dini ja som nerobil registráciu...ale čisto len dini, pretože pri registrácii sa to nenaučíš ja som sa pýtal či ho urobiť...každý povedal áno Link to comment Share on other sites More sharing options...
Guest Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 viewtopic.php?f=8&t=7754&hilit=dini Link to comment Share on other sites More sharing options...
paulie2907 12 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 nj, máš pravdu. Nechválim nič čo je tu 2x...http://pawno.cz/viewtopic.php?f=8&t=7756&hilit=dini http://pawno.cz/viewtopic.php?f=8&t=14070&hilit=dini http://pawno.cz/viewtopic.php?f=8&t=73&hilit=dini http://pawno.cz/viewtopic.php?f=8&t=7754&hilit=dini QWER je zase pán chytrej tak jo pro tebe to udělám. http://pawno.cz/viewtopic.php?f=8&t=7756&hilit=dini - Tohle je registrace (žádnej float, bool a ni "ň" ) http://pawno.cz/viewtopic.php?f=8&t=14070&hilit=dini - opět bez float, a bool http://pawno.cz/viewtopic.php?f=8&t=73&hilit=dini - no comment http://pawno.cz/viewtopic.php?f=8&t=7754&hilit=dini - a tohle je přes fopen a to jsem nechtěl . Takže nic takového jako tento jedinečný tut tu není ! Když nevíš o čem je řeč tak se do toho nese* . Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 8. Březen, 2011 Author Share Odesláno: 8. Březen, 2011 http://pawno.cz/viewtopic.php?f=8&t=7754&hilit=dini Veľmi stručný tutoriál...veľa ľudí má problémy s dini a nevedia ako nato...dal som to tu kvoli ním paulie..dik za obhajobu..ale nemusel si Link to comment Share on other sites More sharing options...
Guest Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 lol... viewtopic.php?f=8&t=7754&hilit=dini - a tohle je přes fopen a to jsem nechtěl . toto si byť tebou prečítam, aspoň pochopíš očom tento návod je Link to comment Share on other sites More sharing options...
paulie2907 12 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 lol... http://pawno.cz/viewtopic.php?f=8&t=7754&hilit=dini - a tohle je přes fopen a to jsem nechtěl . toto si byť tebou prečítam, aspoň pochopíš očom tento návod je To umím zase nečteš, já jen že jsem to nemohl najít tak před 2 měsícemna když jsem to potřeboval! Fopen a fclose se mi také hodí a umím to . Di se léčit :D 1 Link to comment Share on other sites More sharing options...
Guest Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Take vas naucim pouzivat dini.. Pouzivani dini je rychlejsi psani a snadnejsi k pochopeni.. Takze nejdrive se pustime do funkci fread, fwrite, fopen a fclose.. dini_Exists(filename[]) Zjisti jestli existuje zvoleny soubor...dini_Remove(filename[]) Smaze zadany soubor.. Nic zvlastniho dini_Create(filename[]) Vytvori zadany soubor.. dini_Set(filename[],key[],value[]) Zapise STRING do souboru.. Ale muzete psat i cisla.. dini_IntSet(filename[],key[],value) Zapise INTEGER do souboru.. Proto jen inty promena = dini_Int(filename[],key[]) Precte INTEGER ze souboru.. Nelze pouzit na string.. dini_FloatSet(filename[],key[],Float:value) Zapise FLOAT do souboru.. Float:promena = dini_Float(filename[],key[]) Precte FLOAT ze souboru.. dini_Get(filename[],key[]) Precte STRING ze souboru.. Proto ukladat do stringu btw u dini tu je opravený bool stock dini_Bool(filename[],key[]) { if(strcmp("true", dini_Get(filename,key), true) == 0){ return true; }else{ return false; } return strval(dini_Get(filename,key)); } stock dini_BoolSet(filename[],key[],value) { new valuestring[10]; if(value){ format(valuestring,10,"true"); }else{ format(valuestring,10,"false"); } return dini_Set(filename,key,valuestring); } Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 8. Březen, 2011 Author Share Odesláno: 8. Březen, 2011 Je to vysvetlené teoreticky...a kde tam je prakticky? Link to comment Share on other sites More sharing options...
paulie2907 12 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Je to vysvetlené teoreticky...a kde tam je prakticky? Přesně Link to comment Share on other sites More sharing options...
Yamaha 0 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Qwere "silent" "silent" "silent" ! "lol" Link to comment Share on other sites More sharing options...
iFailGamer 25 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Pajero!! skype! prde Link to comment Share on other sites More sharing options...
Yamaha 0 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Neee koncim cuuus "lol" Zajtra "sleep" Link to comment Share on other sites More sharing options...
-GSG-Nuke 1 Odesláno: 8. Březen, 2011 Share Odesláno: 8. Březen, 2011 Dobrý 10/10 mě se to zdá dost přehledný good Link to comment Share on other sites More sharing options...
LINE UP 0 Odesláno: 15. Březen, 2011 Share Odesláno: 15. Březen, 2011 a ako prosim ta spravim aby mi to ukladalo vsetko o mam v mode? napr. domy,podniky,zbrane,peniaze,peniaze v banke,skin,povolanie a pod. Link to comment Share on other sites More sharing options...
Mattsy 29 Odesláno: 15. Březen, 2011 Author Share Odesláno: 15. Březen, 2011 v prvom rade si zisti čo je string(text) alebo integer(číslo) alebo float(desatinné číslo) a potom si to uložíš podľa tutu, zmeníš premenu a hodnotu do ktorej sa to bude ukladať 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