Stylové healthbary

Sem vkládejte editovatelné kusy kódu a tutoriály.
Post Reply
Pelpet
Posts: 734
Joined: August 6, 2011, 12:03 am

Stylové healthbary

Post by Pelpet »

Na začátek
V poslední době jsem neměl zrovna moc práce a když jsem měl, tak se mi do ní nechtělo a prostě jsem se nudil. Tak mi to nedalo a rozhodl jsem se, že bych vytvořil sérii tutoriálů určených pro lidi, řekněme středně pokročilé. Pro ty, kteří už zvládají hodně věcí v GML, ale ještě jim dělá problém tyto puzzle skládat do kupy. Asi už většina z vás někdy viděla, jakým stylem programuji, narážím tím hlavně na desítky mých příspěvků v poradně.

Nač se připravit?
Rozhodně nejsem zastánce složitých scriptů čítajících stovky řádků. Obvykle se snažím script co nejefektivněji zkrátit a zoptimalizovat, aby byl co nejméně náročný pro CPU. Díky tomu vznikne kód plný různých jednoduchých matematických funkcí (abs, sign, min, max, ...), které obvykle ušetří složité if - else konstrukce a není z toho takový chumel.

K tématu
Na začátek mě napadlo ukázat, jak docílit vzhledných healthbarů (myslím, že nemusím blíže popisovat - samozřejmě lze je použít na znázornění tisíců jiných věcí, než zdraví). Popíšu zde něco jako základní konstrukci vykreslení a přidám k tomu různé efekty, které si můžete přidat.

Jdeme na to
Předem upozorňuji, že z vaší strany předpokládám určitou zkušenost s programováním v GML a proto doufám, že když si objekt pojmenuju oCtrl, nebudu tady muset čelit bombardaci příspěvky, kde si budete stěžovat, že vám to nefunguje a pak zjistím, že jste si objekt pojmenovali jinak (samozřejmě to neplatí jen pro objekty). Opravdu bych nerad dělal poradnu i z této části fóra.

Všechny scripty jsem psal v Game Makeru 8.0, všechny jsou rovněž testovány v této verzi. Na konci naleznete URL na stažení *.gmk souboru, který vám v případě neúspěchu poskytne jisté východisko (doufám).

Začnu tedy tím, že si připravím sprite s mým healthbarem (záměrně jsem tu nechtěl psát, jak si udělat healthbar pomocí funkce draw_healthbar, případně kombinací funkcí draw_rectangle). Použiji tedy sprite, což mi umožní vymyslet si rozmanitý tvar a oprostit se od obdélníkovitých nesmyslů.
Takovýto healthbar jsem si nakreslil já. Vy si udělejte jaký chcete, je to jen na vás ;)
Takovýto healthbar jsem si nakreslil já. Vy si udělejte jaký chcete, je to jen na vás ;)
sHealthbar_strip2.png (611 Bytes) Viewed 3043 times
První pod-obrázek spritu je okraj healthbaru. Je tam vnitřní a vnější černá čára, mezi nimi je to poloviční průhledností vyplněno černou barvou. Zbytek je průhledný. Druhý pod-obrázek je pozadí pro healthbar. Má tvar přesně takový, aby nepřesahovalo přes okraje v prvním obrázku. Je bílé pro to, aby mu šla jednoduše měnit barva pomocí funkce draw_sprite_ext. Sprite si pojmenuji sHealthbar.

Pokračuji tím, že si vytvořím script. Pojmenuji si ho drawHealthbar. Dovnitř si naprogramuju vykreslení healthbaru abych ho mohl poté jednoduše používat bez moření se s relativně dlouhým scriptem.

Code: Select all

// drawHealthbar(x, y, health, backCol, frontCol);
var w, h; // Docasne promenne
w = sprite_get_width(sHealthbar); // Zjistim rozmery spritu sHealthbar.
h = sprite_get_height(sHealthbar);// Pro zvyseni vykonu lze dosadit absolutni hodnoty.

// Pozadi healthbaru bude mit barvu dle hodnoty promenne backCol (argument3).
draw_sprite_ext(sHealthbar, 1, argument0, argument1, 1, 1, 0, argument3, 1);

// Stupnici healthbaru vytvorime pomoci draw_sprite_part_ext (ext k vuli barve).
// Predpokladam, ze health (argument2) bude v intervalu 0 - 1.
draw_sprite_part_ext(sHealthbar, 1, 0, 0, w * argument2, h, argument0, argument1, 1, 1, argument4, 1);

// Nyni pres to staci prekreslit okraj healthbaru.
draw_sprite(sHealthbar, 0, argument0, argument1);
Komentář na prvním řádku znázorňuje zápis funkce a její argumenty. Ty jsou:

x, y - pozice helthbaru (to je snad jasné...)
health - Kolik má healthbar ukazovat. Tato hodnota MUSÍ být z intervalu <0; 1>
backCol - barva pozadí
frontCol - barva popředí

V praxi (tvorba efektů)
To, co jsme zatím vytvořili nám poskytne relativně vzhledný healthbar, který ale lze doplnit o spoustu dalších věcí jako postupné měnění hodnot (nebude to skákat z hodnoty na hodnotu, ale bude plynule přecházet).

Ke zmiňovanému plynulému přechodu si vytvoříme objekt, který si nazveme třeba oHealthbar. V create si nastavíme 2 proměnné, a to:

Code: Select all

value = 1; // Realna hodnota
_draw = 0; // Hodnota, ktera se bude vykreslovat misto realne. Umozni to plynuly prechod.
Poté stačí zajistit plynulou změnu proměnné _draw tak, aby vždy na konci dosáhla hodnoty value. Pomůžeme si funkcí sign. Co se výpočtů týče - zaberou jeden řádek zaplněný sotva z čtvrtiny (na mém monitoru) a co se vykreslení týče, to je taktéž více než jednoduché. Náš draw event tedy bude vypadat následovně:

Code: Select all

_draw += sign(value - _draw) * .05; // Cislo 0.05 urcuje rychlost prechodu
drawHealthbar(0, 50, _draw, c_ltgray, c_red); // vykresleni
Lze doplnit i další efekt, jako například plynulá změna barvy dle hodnoty.

Code: Select all

drawHealthbar(0, 50, _draw, c_ltgray, make_color_hsv(_draw * 96, 255, 200));
A podobných doplňků lze vymyslet další spousty.

Já doufám, že jsem to nepsal zbytečně, že to alespoň někomu pomohlo a příště se vrhnu na něco složitějšího, protože toto byla opravdu banalita ;)

*.gmk + náhled
http://www.dl6.mzf.cz/public/01_healthbar.gmk
Takto může vypadat výsledek výše popsaného postupu.
Takto může vypadat výsledek výše popsaného postupu.
healthbars.PNG (3.04 KiB) Viewed 3043 times
User avatar
jiribocek
Posts: 159
Joined: August 5, 2011, 11:22 pm
Facebook: http://facebook.com/
Contact:

Re: Stylové healthbary

Post by jiribocek »

Nechci přehánět, ale ten tutoriál je HUSTO-KRUTO UBER HUSTOKRUTOOŘÍSNÝ! Dík moc!
wilz
Posts: 38091
Joined: May 6, 2022, 8:52 am
Facebook: http://facebook.com/

Re: Stylové healthbary

Post by wilz »

wilz
Posts: 38091
Joined: May 6, 2022, 8:52 am
Facebook: http://facebook.com/

Re: Stylové healthbary

Post by wilz »

audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolutionnaphtheneseriesnarrowmouthednationalcensusnaturalfunctornavelseedneatplasternecroticcariesnegativefibrationneighbouringrightsobjectmoduleobservationballoonobstructivepatentoceanminingoctupolephononofflinesystemoffsetholderolibanumresinoidonesticketpackedspherespagingterminalpalatinebonespalmberry
papercoatingparaconvexgroupparasolmonoplaneparkingbrakepartfamilypartialmajorantquadruplewormqualityboosterquasimoneyquenchedsparkquodrecuperetrabbetledgeradialchaserradiationestimatorrailwaybridgerandomcolorationrapidgrowthrattlesnakemasterreachthroughregionreadingmagnifierrearchainrecessionconerecordedassignment
rectifiersubstationredemptionvaluereducingflangereferenceantigenregeneratedproteinreinvestmentplansafedrillingsagprofilesalestypeleasesamplingintervalsatellitehydrologyscarcecommodityscrapermatscrewingunitseawaterpumpsecondaryblocksecularclergyseismicefficiencyselectivediffusersemiasphalticfluxsemifinishmachiningspicetradespysale
stunguntacticaldiametertailstockcentertamecurvetapecorrectiontappingchucktaskreasoningtechnicalgradetelangiectaticlipomatelescopicdampertemperateclimatetemperedmeasuretenementbuildingtuchkasultramaficrockultraviolettesting
wilz
Posts: 38091
Joined: May 6, 2022, 8:52 am
Facebook: http://facebook.com/

Re: Stylové healthbary

Post by wilz »

инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфосайтинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоtuchkasинфоинфо
chocolet1
Posts: 35
Joined: October 18, 2022, 10:29 pm
Facebook: http://facebook.com/

Re: Stylové healthbary

Post by chocolet1 »

OnePiece Chapter 21 OnePiece Chapter 22 OnePiece Chapter 23 OnePiece Chapter 24 OnePiece Chapter 25 OnePiece Chapter 26 OnePiece Chapter 27 OnePiece Chapter 28 OnePiece Chapter 29 OnePiece Chapter 30 OnePiece Chapter 31 OnePiece Chapter 32 OnePiece Chapter 33 DragonBall DragonBall Chapter 1 DragonBall Chapter 2 DragonBall Chapter 3 DragonBall Chapter 4 DragonBall Chapter 5 DragonBall Chapter 6 DragonBall Chapter 7 DragonBall Chapter 8 DragonBall Chapter 9 DragonBall Chapter 10 DragonBall Chapter 11 DragonBall Chapter 12 DragonBall Chapter 13 DragonBall Chapter 14 DragonBall Chapter 15 DragonBall Chapter 16 DragonBall Chapter 17 DragonBall Chapter 18 DragonBall Chapter 19 DragonBall Chapter 20 DragonBall Chapter 21 Naruto Ronaldo Doraemon Doraemon Chapter 1 Doraemon Chapter 2 Doraemon Chapter 3 Doraemon Chapter 4 Doraemon Chapter 5 Doraemon Chapter 6 Doraemon Chapter 7 Doraemon Chapter 8 Doraemon Chapter 9 Doraemon Chapter 10 Doraemon Chapter 11 Doraemon Chapter 12 Doraemon Chapter 13 Doraemon Chapter 14 Doraemon Chapter 15 Doraemon Chapter 16 Doraemon Chapter 17 Doraemon Chapter 18 Doraemon Chapter 19 Doraemon Chapter 20 Doraemon Chapter 21 Doraemon Chapter 22 Doraemon Chapter 23 Doraemon Chapter 24 Doraemon Chapter 25 Doraemon Chapter 26 Doraemon Chapter 27 Doraemon Chapter 28 Doraemon Chapter 29 Doraemon Chapter 30 Doraemon Chapter 31 Doraemon Chapter 32 Doraemon Chapter 33 Doraemon Chapter 34 Pokemon Pokemon Chapter 1 Pokemon Chapter 2 Pokemon Chapter 3 Pokemon Chapter 4 Pokemon Chapter 5 Pokemon Chapter 6 Pokemon Chapter 7 Pokemon Chapter 8 Pokemon Chapter 9 Pokemon Chapter 10 Pokemon Chapter 11 Pokemon Chapter 12 Pokemon Chapter 13 Pokemon Chapter 14 Pokemon Chapter 15 Pokemon Chapter 16 Pokemon Chapter 17 Pokemon Chapter 18 Pokemon Chapter 19 Pokemon Chapter 20 Pokemon Chapter 21 Pokemon Chapter 22 Pokemon Chapter 23 Pokemon Chapter 24 Pokemon Chapter 25 Pokemon Chapter 26 Pokemon Chapter 27 Pokemon Chapter 28 Pokemon Chapter 29 Pokemon Chapter 30 Pokemon Chapter 31 Pokemon Chapter 32 Pokemon Chapter 33 Conan Conan Chapter 1 Conan Chapter 2 Conan Chapter 3 Conan Chapter 4 Conan Chapter 5 Conan Chapter 6 Conan Chapter 7 Conan Chapter 8 Conan Chapter 9 Conan Chapter 10 Conan Chapter 11 Conan Chapter 12 Conan Chapter 13 Conan Chapter 14 Conan Chapter 15 Conan Chapter 16 Conan Chapter 17 Conan Chapter 18 Conan Chapter 19 Conan Chapter 20 Conan Chapter 21 Conan Chapter 22 Conan Chapter 23 Conan Chapter 24 Conan Chapter 25 Conan Chapter 26 Conan Chapter 27 Conan Chapter 28 Conan Chapter 29 Conan Chapter 30 Conan Chapter 31 Conan Chapter 32 Conan Chapter 33 Fairy Tail Fairy Tail Chap1 Fairy Tail Chap2 Fairy Tail Chap3 Fairy Tail Chap4 Fairy Tail Chap5 Fairy Tail Chap6 Fairy Tail Chap7 Fairy Tail Chap8 Fairy Tail Chap9 Fairy Tail Chap10 Fairy Tail Chap11 Fairy Tail Chap12 Fairy Tail Chap13 Fairy Tail Chap14 Fairy Tail Chap15 Fairy Tail Chap16 Fairy Tail Chap17 Fairy Tail Chap18 Fairy Tail Chap19 Fairy Tail Chap20 Fairy Tail Chap21 Fairy Tail Chap22 Fairy Tail Chap23 Fairy Tail Chap24 Fairy Tail Chap25 Fairy Tail Chap26 Fairy Tail Chap27 Fairy Tail Chap28 Fairy Tail Chap29 Fairy Tail Chap30 Fairy Tail Chap31 Fairy Tail Chap32 Fairy Tail Chap33 One-Punch Man One-Punch Man Chap1 One-Punch Man Chap2 One-Punch Man Chap3 One-Punch Man Chap4 One-Punch Man Chap5 One-Punch Man Chap6 One-Punch Man Chap7 One-Punch Man Chap8 One-Punch Man Chap9 One-Punch Man Chap10 One-Punch Man Chap11 One-Punch Man Chap12 One-Punch Man Chap13 One-Punch Man Chap14 One-Punch Man Chap15 One-Punch Man Chap16 One-Punch Man Chap17 One-Punch Man Chap18 One-Punch Man Chap19 One-Punch Man Chap20 One-Punch Man Chap21 One-Punch Man Chap22 One-Punch Man Chap23 One-Punch Man Chap24 One-Punch Man Chap25 One-Punch Man Chap26 One-Punch Man Chap27 One-Punch Man Chap28 One-Punch Man Chap29 One-Punch Man Chap30 One-Punch Man Chap31 One-Punch Man Chap32 One-Punch Man Chap33 Tokyo Ghoul Tokyo Ghoul Chap1 Tokyo Ghoul Chap2 Tokyo Ghoul Chap3 Tokyo Ghoul Chap4 Tokyo Ghoul Chap5 Tokyo Ghoul Chap6 Tokyo Ghoul Chap7 Tokyo Ghoul Chap8 Tokyo Ghoul Chap9 Tokyo Ghoul Chap10 Tokyo Ghoul Chap11 Tokyo Ghoul Chap12 Tokyo Ghoul Chap13 Tokyo Ghoul Chap14 Tokyo Ghoul Chap15 Tokyo Ghoul Chap16 Tokyo Ghoul Chap17 Tokyo Ghoul Chap18 Tokyo Ghoul Chap19 Tokyo Ghoul Chap20 Tokyo Ghoul Chap21 Tokyo Ghoul Chap22 Tokyo Ghoul Chap23 Tokyo Ghoul Chap24 Tokyo Ghoul Chap25 Tokyo Ghoul Chap26 Tokyo Ghoul Chap27 Tokyo Ghoul Chap28 Tokyo Ghoul Chap29 Tokyo Ghoul Chap30 Tokyo Ghoul Chap31 Tokyo Ghoul Chap32 Tokyo Ghoul Chap33 Nanatsu no Taizai Nanatsu no Taizai Chapter1 Nanatsu no Taizai Chapter2 Nanatsu no Taizai Chapter3 Nanatsu no Taizai Chapter4 Nanatsu no Taizai Chapter5 Nanatsu no Taizai Chapter6 Nanatsu no Taizai Chapter7 Nanatsu no Taizai Chapter8 Nanatsu no Taizai Chapter9 Nanatsu no Taizai Chapter10 Nanatsu no Taizai Chapter11 Nanatsu no Taizai Chapter12 Nanatsu no Taizai Chapter13 Nanatsu no Taizai Chapter14 Nanatsu no Taizai Chapter15 Nanatsu no Taizai Chapter16 Nanatsu no Taizai Chapter17 Nanatsu no Taizai Chapter18 Nanatsu no Taizai Chapter19 Nanatsu no Taizai Chapter20 Nanatsu no Taizai Chapter21 Nanatsu no Taizai Chapter22 Nanatsu no Taizai Chapter23 Nanatsu no Taizai Chapter24 Nanatsu no Taizai Chapter25 Nanatsu no Taizai Chapter26 Nanatsu no Taizai Chapter27 Nanatsu no Taizai Chapter28 Nanatsu no Taizai Chapter29 Nanatsu no Taizai Chapter30 Nanatsu no Taizai Chapter31 Nanatsu no Taizai Chapter32 Nanatsu no Taizai Chapter33 Nanatsu no Taizai Chapter34 Nanatsu no Taizai Chapter35 Naruto Naruto Chapter1 Naruto Chapter2 Naruto Chapter3 Naruto Chapter4 Naruto Chapter5 Naruto Chapter6 Naruto Chapter7 Naruto Chapter8 Naruto Chapter9 Naruto Chapter10 Naruto Chapter11 Naruto Chapter12 Naruto Chapter13 Naruto Chapter14 Naruto Chapter15 Naruto Chapter16 Naruto Chapter17 Naruto Chapter18 Naruto Chapter19 Naruto Chapter20 Naruto Chapter21 Naruto Chapter22 Naruto Chapter23 Naruto Chapter24 Naruto Chapter25 Naruto Chapter26 Naruto Chapter27 Naruto Chapter28 Naruto Chapter29 Naruto Chapter30 Naruto Chapter31 Naruto Chapter32 Naruto Chapter33 Naruto Chapter34 Kimetsu no Yaiba Kimetsu no Yaiba Chapter1 Kimetsu no Yaiba Chapter2 Kimetsu no Yaiba Chapter3 Kimetsu no Yaiba Chapter4 Kimetsu no Yaiba Chapter5 Kimetsu no Yaiba Chapter6 Kimetsu no Yaiba Chapter7 Kimetsu no Yaiba Chapter8 Kimetsu no Yaiba Chapter9 Kimetsu no Yaiba Chapter10 Kimetsu no Yaiba Chapter11 Kimetsu no Yaiba Chapter12 Kimetsu no Yaiba Chapter13 Kimetsu no Yaiba Chapter14 Kimetsu no Yaiba Chapter15 Kimetsu no Yaiba Chapter16 Kimetsu no Yaiba Chapter17 Kimetsu no Yaiba Chapter18 Kimetsu no Yaiba Chapter19 Kimetsu no Yaiba Chapter20 Kimetsu no Yaiba Chapter21 Kimetsu no Yaiba Chapter22 Kimetsu no Yaiba Chapter23 Kimetsu no Yaiba Chapter24 Kimetsu no Yaiba Chapter25 Kimetsu no Yaiba Chapter26 Kimetsu no Yaiba Chapter27 Kimetsu no Yaiba Chapter28 Kimetsu no Yaiba Chapter29 Kimetsu no Yaiba Chapter30 Kimetsu no Yaiba Chapter31 Kimetsu no Yaiba Chapter32 Kimetsu no Yaiba Chapter33 Bleach Bleach Chapter1 Bleach Chapter2 Bleach Chapter3 Bleach Chapter4 Bleach Chapter5 Bleach Chapter6 Bleach Chapter7 Bleach Chapter8 Bleach Chapter9 Bleach Chapter10 Bleach Chapter11 Bleach Chapter12 Bleach Chapter13 Bleach Chapter14 Bleach Chapter15 Bleach Chapter16 Bleach Chapter17 Bleach Chapter18 Bleach Chapter19 Bleach Chapter20 Bleach Chapter21 Bleach Chapter22 Bleach Chapter23 Bleach Chapter24 Bleach Chapter25 Bleach Chapter26 Bleach Chapter27 Bleach Chapter28 Bleach Chapter29 Bleach Chapter30 Bleach Chapter31 Bleach Chapter32 Bleach Chapter33 Bleach Chapter34 Bleach Chapter35

NewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNewsNews
wilz
Posts: 38091
Joined: May 6, 2022, 8:52 am
Facebook: http://facebook.com/

Re: Stylové healthbary

Post by wilz »

инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоtuchkasинфоинфо
Post Reply