Přejít na obsah
  • Vytvořit účet

PSP Center 0.2,0.1


_beriii_

Recommended Posts

Je v pořádku že to celý zkopíroval? :D

Jezis asi nechapes o co tady go co? Program jsme jeste neskousel protoze zatim zadny problem s PSP nemam :) Tak mu snad budu verit kdyz rika ze to neni CTRL + C a CTRL + V ... Thanks by melo znamenat ze cerpal z navodu jednoho cloveka ale zaroven ho doupravil podle toho, co chce a jak to chce ...

Odkaz ke komentáři
Sdílet na ostatní stránky

Jezis asi nechapes o co tady go co? Program jsme jeste neskousel protoze zatim zadny problem s PSP nemam :) Tak mu snad budu verit kdyz rika ze to neni CTRL + C a CTRL + V ... Thanks by melo znamenat ze cerpal z navodu jednoho cloveka ale zaroven ho doupravil podle toho, co chce a jak to chce ...

Viděl si ten zdroják je to přesná kopie z Myschooova tutoriálu....

Odkaz ke komentáři
Sdílet na ostatní stránky

ok takze, porovnanie

analog berii

-- barvy
white = Color.new(255,255,255)
selector = Color.new(255,128,192)
pink = Color.new(255,128,192)
grow = Color.new(128,128,128)
red = Color.new(255,0,0)
black = Color.new(0,0,0)
white = Color.new(255,255,255)

-- ctverec
player = Image.createEmpty(32,32)
player:clear(pink)

-- vlastnosti
Player = { x = 100, y = 100, img = player }

-- analog pohyb
function analogMove()

pad = Controls.read()

-- promeny
anaX = pad:analogX()
anaY = pad:analogY()


if anaX > 50 then
Player.x = Player.x + 5
end

if anaX < -50 then
Player.x = Player.x - 5
end


if anaY > 50 then
Player.y = Player.y + 5
end

if anaY < -50 then
Player.y = Player.y - 5
end
end

while true do

screen:clear()

-- ctverec
screen:blit(Player.x,Player.y,Player.img)

analogMove()

-- info
screen:print(5, 5, "PSP Center - Analog Tester", grow)
screen:print(5,45,"analogX: " .. anaX, white)
screen:print(5,55,"analogY: " .. anaY, white)
screen:print(5,260, "pro hlavni menu - stiskni O...", white)


pad = Controls.read()
if pad:circle() then
dofile("index.lua")
end

analog tut

red = Color.new(255,0,0)
black = Color.new(0,0,0)
white = Color.new(255,255,255)

-- vytvorim si prazdny cerveny obrazok
player = Image.createEmpty(32,32)
player:clear(red)

-- vytvorim si table z vlastnostami
Player = { x = 100, y = 100, img = player }

-- funkcia analogoveho pohybu
function analogMove()

pad = Controls.read()

-- anaX a anaY su premenne
anaX = pad:analogX()
anaY = pad:analogY()

-- ak je anaX cislo vacie ako 50 potom
if anaX > 50 then
-- hrac sa pohne po X osi o 5 pixelov
Player.x = Player.x + 5
end

if anaX < -50 then
Player.x = Player.x - 5
end

-- ak je anaYcislo vacie ako 50 potom
if anaY > 50 then
-- hrac sa pohne po Y osi o 5 pixelov
Player.y = Player.y + 5
end

if anaY < -50 then
Player.y = Player.y - 5
end
end

while true do

screen:clear()

-- vykreslim hraca
screen:blit(Player.x,Player.y,Player.img)

-- vlozim funkciu
analogMove()

-- vypisem koordinaty (nie je porebne skor pre info)
screen:print(5,5,"analogX: " .. anaX, white)
screen:print(5,15,"analogY: " .. anaY, white)

if pad:cross() then
break
end

screen.flip()
screen.waitVblankStart()
end

rovnako pomenovane funkcie, premenne... odstranil si iba moje komentare + zmenil text ktory sa vypisuje..

---------------------------------------

bateria beri

--definujem farby
biela = Color.new(255,255,255)
cervena = Color.new(255,0,0)
zelena = Color.new(255,128,192)
grow = Color.new(128,128,128) 

-- definujem ciselne premenne
batstat = System.powerGetBatteryLifePercent() -- stav baterie v %
battime = System.powerGetBatteryLifeTime() / 60 -- kolko este vydrzi bat. v hod.
teplota = System.powerGetBatteryTemp() -- teplota baterie v °C
volt = System.powerGetBatteryVolt() -- napatie v milivoltoch

-- funkcia "battery"
function battery()
if System.powerIsBatteryCharging() then -- ak sa nabija tak
screen:print(10,110, "Nabijeni baterie: ON", zelena) -- napis
else -- inak
screen:print(10,110, "Nabijeni baterie: OFF", zelena) -- napis
end
if System.powerIsLowBattery() then -- zisti ci je baterka slaba
screen:print(10,120, "Baterie je prazdna", grow)
end
-- napisem premenne na obrazovku
screen:print(10, 60, "Stav baterie: " .. batstat .. "%", zelena)
screen:print(10, 70, "Baterii zbyva: " .. battime .. " hod.", zelena)
screen:print(10, 80, "Teplota baterie: " .. teplota .. " C", zelena)
screen:print(10, 90, "Napeti baterie: " .. volt .. " mV", zelena)
end

while true do

screen:clear()

screen:print(5, 5, "PSP Center - Battery Status", grow)
screen:print(5,260, "pro hlavni menu - stiskni O...", biela)

-- vlozim funkciu
battery()

pad = Controls.read()

if pad:circle() then
dofile("index.lua")
end

screen.waitVblankStart()
screen.flip()
end

bateria tut

-- Funkcie Baterie
-- by myschoo

--definujem farby
biela = Color.new(255,255,255)
cervena = Color.new(255,0,0)
zelena = Color.new(0,255,0)

-- definujem ciselne premenne
batstat = System.powerGetBatteryLifePercent() -- stav baterie v %
battime = System.powerGetBatteryLifeTime() / 60 -- kolko este vydrzi bat. v hod.
teplota = System.powerGetBatteryTemp() -- teplota baterie v °C
volt = System.powerGetBatteryVolt() -- napatie v milivoltoch

-- funkcia "battery"
function battery()
if System.powerIsBatteryCharging() then -- ak sa nabija tak
screen:print(10,110, "Nabijanie baterie: ON", zelena) -- napis
else -- inak
screen:print(10,110, "Nabijanie baterie: OFF", zelena) -- napis
end
if System.powerIsLowBattery() then -- zisti ci je baterka slaba
screen:print(10,120, "Bateria je slaba", cervena)
end
-- napisem premenne na obrazovku
screen:print(10, 60, "Stav baterie: " .. batstat .. "%", zelena)
screen:print(10, 70, "Bateria vydrzi este: " .. battime .. " hod.", zelena)
screen:print(10, 80, "Teplota baterie je: " .. teplota .. " stupnov C", zelena)
screen:print(10, 90, "Napatie baterie je: " .. volt .. " mV", zelena)
screen:print(10, 150, "Stlac (X) pre vypnutie", biela)
end

while true do

screen:clear()

screen:print(175, 5, "MyBatt by myschoo", biela)
screen:print(175, 12, "-----------------", biela)

-- vlozim funkciu
battery()

pad = Controls.read()

if pad:cross() then
break
end

screen.waitVblankStart()
screen.flip()
end

skopirovane kompletne vratane mojich komentarov... proste ctrl c, ctrl v

--------------------------------------

pixel fixer berii

-- definujem farby, zakladnu cervenu, zelenu a modru ( R G B )
red = Color.new(255,0,0)
green = Color.new(0,255,0)
blue = Color.new(0,0,255)
white = Color.new(255,255,255)
grow = Color.new(128,128,128) 

timer = Timer.new(0)
timer:stop()

function Blick()
timer:start()
if timer:time() >= 0 and timer:time() < 200 then
screen:clear(red)
end

if timer:time() >= 200 and timer:time() < 400 then
screen:clear(green)
end

if timer:time() >= 400 and timer:time() < 600 then
screen:clear(blue)
end

if timer:time() >= 600 then
timer:stop()
timer:reset(0)
end
end

while true do

Blick()

screen:print(5, 5, "PSP Center - PixelFixer", grow)
screen:print(5,260, "pro hlavni menu - stiskni O...", white)

-- zpatky do menu
pad = Controls.read()
if pad:circle() then
dofile("index.lua")
end

screen.waitVblankStart()
screen.flip()
end

pixel fixer tut

-- definujem farby, zakladnu cervenu, zelenu a modru ( R G B )
red = Color.new(255,0,0)
green = Color.new(0,255,0)
blue = Color.new(0,0,255)
white = Color.new(255,255,255)

-- pod premennu "timer" si dam novy timer
timer = Timer.new(0)
-- ten sa ale hned zapne takze ho musim stopnut
timer:stop()

-- funckia bliknutia
function Blick()
-- zapne sa timer
timer:start()
-- ak je cas vacsi/nanajvys rovny 0 a mensi ako 200milisekund potom
if timer:time() >= 0 and timer:time() < 200 then
-- pouzijeme prikaz screen:clear(farba)
screen:clear(red)
end
-- takto isto aj dalej
if timer:time() >= 200 and timer:time() < 400 then
screen:clear(green)
end
if timer:time() >= 400 and timer:time() < 600 then
screen:clear(blue)
end
-- ak je cas vacsi ako 600milisekund potom sa timer stopne a resetuje a
-- funkcia bezi od zaciatku
if timer:time() >= 600 then
timer:stop()
timer:reset(0)
end
end

while true do

-- vlozim funkciu
Blick()

screen:print(5,5, "Pixel Fixer by myschoo", white)

screen.waitVblankStart()
screen.flip()
end

eh k*rva... zase nahoda, zase sa to zhoduje takmer do poslednej bodky :)

---------------------------------

name beri

-- barvy
white = Color.new(255,255,255)
pink = Color.new(255,128,192)
grow = Color.new(128,128,128) 

name = io.open("flash1:/registry/system.dreg","r") 
name:seek("set", 0x2380) 
readname = name:read(27) 
name:close() 

while true do 

screen:clear() 

screen:print(5, 5, "PSP Center - Your PSP name", grow)
screen:print(100,100, "Tvoje PSP jmeno je:" , white)
screen:print(100,115, readname , pink)

-- texty
screen:print(5,260, "pro hlavni menu stiskni O...", white)

-- zpatky do menu
pad = Controls.read()
if pad:circle() then
dofile("index.lua")
end

screen.waitVblankStart() 
screen.flip() 
end

name tut

-- definujem farby

white = Color.new(255,255,255)

-- nájdi meno
-- toto nesmiem dat do LOOPu, pretoze ten je citany 60x za sek. musim 
-- to teda dat do prvej casti

-- funkcia pre otvorenie suboru, "r" znamena "read", este existuje
-- funkcia"w+" cize write
meno = io.open("flash1:/registry/system.dreg","r") 
-- musim precita IBA urcity riadok, ten najdem podla offsetu riadku
-- proste pozrite si system.dreg v hex editore :) (0x2380 - offset)
meno:seek("set", 0x2380) 
-- precitam data, 27 znamena pocet znakov, max. dlzka nicku je 27
-- znakov
precitajmeno = meno:read(27)
-- zavriem subor
meno:close()

while true do

screen:clear()

pad = Controls.read()

--pisem na obrazovku
screen:print(5, 5, "Find Name by myschoo", white)
screen:print(100,100, "Tvoje PSP meno je:" , white)
screen:print(100,115, precitajmeno , white)

if pad:cross() then
System.Quit()
end

screen.waitVblankStart()
screen.flip()
end

ejha... stale to iste :)

-----------------------------------

menu beri

-- barvy
white = Color.new(255,255,255)
selector = Color.new(255,128,192)
pink = Color.new(255,128,192)
grow = Color.new(128,128,128)

-- definujeme promenu
selY = 44

while true do

screen:clear()

-- selector
Image:fillRect(4, selY, 120, 10, selector)

-- hlavni menu
screen:print(140,5, "+-+-+-+ +-+-+-+-+-+-+", white)
screen:print(140,10, "|P|S|P| |C|e|n|t|e|r|", white)
screen:print(140,15, "+-+-+-+ +-+-+-+-+-+-+", white)

screen:print(5,45, "# Your PSP name", white)
screen:print(5,55, "# Pixel Fixer", white)
screen:print(5,65, "# Analog Tester", white)
screen:print(5,75, "# Button Tester", white)
screen:print(5,85, "# Battery Info", white)
screen:print(5,95, "Creditz", grow)
screen:print(5,105, "Exit to XMB", grow)

pad = Controls.read()

-- pohyb selectoru pomoci selY
if pad:down() and oldpad:down() ~= pad:down() then
selY = selY + 10
end

if pad:up() and oldpad:up() ~= pad:up() then
selY = selY - 10
end

-- pohyb selecotru v kruhu
if selY == 114 then
selY = 44
end

if selY == 34 then
selY = 104
end

-- funkce
if selY == 44 and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("pspname.lua")
end

if selY == 54 and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("pixelfix.lua")
end

if selY == 64 and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("analogtest.lua")
end

if selY == 74 and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("buttontest.lua")
end

if selY == 84 and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("batteryinfo.lua")
end

if selY == 94 and pad:cross() and oldpad:cross() ~= pad:cross() then
dofile("creditz.lua")
end

if selY == 104 and pad:cross() and oldpad:cross() ~= pad:cross() then
System.Quit()
end

-- copyright
screen:print(5,260, "Copyright 2008 © beriii - PSP Center v0.1", white)

screen.waitVblankStart()
screen.flip()
oldpad = pad
end

menu tut

-- farby

biela = Color.new(255,255,255)
selector = Color.new(0,128,255)
zelena = Color.new(20,150,147)

-- definujem premennu
selY = 44

while true do

screen:clear()

-- vytvorim tzv. "selector" (vid. obrazok)
Image:fillRect(4, selY, 120, 10, selector)

-- nejake texty + polozky v menu
screen:print(140,5, "Testovacie menu by myschoo", biela)
screen:print(140,12, "--------------------------", zelena)

screen:print(5,45, "Nova hra", biela)
screen:print(5,55, "Pokracuj v hre", biela)
screen:print(5,65, "Ovladanie", biela)
screen:print(5,75, "O hre", biela)
screen:print(5,85, "Koniec", biela)
screen:print(5,115, "---------------------------------------", biela)
screen:print(5,135, "Pouzi sipky pre pohyb v menu", biela)
screen:print(5,145, "Pouzi (X) pre potvrdenie", biela)

pad = Controls.read()

-- pohyb selectora za pomoci premmennej selY
if pad:down() and oldpad:down() ~= pad:down() then
selY = selY + 10
end

if pad:up() and oldpad:up() ~= pad:up() then
selY = selY - 10
end

-- toto zaisti, ze selector bude kruzit v cykle, ak ste na 5. polozke a
-- stlacite dole, selector bude na 1. polozke a naopak
if selY == 94 then
selY = 44
end

if selY == 34 then
selY = 84
end

-- vykona jednotlive funkcie
if selY == 44 and pad:cross() and oldpad:cross() ~= pad:cross() then
-- vykona 1. funkciu
end

if selY == 54 and pad:cross() and oldpad:cross() ~= pad:cross() then
-- vykona 2. funckiu
end

if selY == 64 and pad:cross() and oldpad:cross() ~= pad:cross() then
-- vykona 3. funckiu
end

if selY == 74 then
screen:print(5,250, "Moja Prva Hra by myschoo", biela)
screen:print(5,260, "Vsetky prava vyhradene :D", biela)
end

if selY == 84 and pad:cross() and oldpad:cross() ~= pad:cross() then
System.Quit()
end

screen.waitVblankStart()
screen.flip()
oldpad = pad
end

zase rovnake pomenovanie premennych a rovnaky princip ... nice

--------------------------------------

stale si este niekto mysli, ze to NIE je skopirovane?

--------------------------------------

tie navody som robil pre vas clenov aby sa nieco naucili, nieco vyskusali, nie aby ich skopirovali a potom ich vydavali za svoje vlastne aplikacie

chcel som tam pridat dalsi priklad, jednoduchu hru, ale asi sa na to vykaslem lebo za 2 dni to niekto skopci a vyda pod "licenciou"...

a pre teba beri mam malu vyzvu :)

prepis vsetky tieto funkcie nejako inak, inym sposobom a potom bude jasne ze aj nieco vies spravit, nielen copy/paste...

minimalne prepis: MENU, PIXEL FIXER a ANALOG a aj BUTTON tester sa da inak....

Odkaz ke komentáři
Sdílet na ostatní stránky

tie navody som robil pre vas clenov aby sa nieco naucili, nieco vyskusali, nie aby ich skopirovali a potom ich vydavali za svoje vlastne aplikacie

chcel som tam pridat dalsi priklad, jednoduchu hru, ale asi sa na to vykaslem lebo za 2 dni to niekto skopci a vyda pod "licenciou"...

a pre teba beri mam malu vyzvu :)

prepis vsetky tieto funkcie nejako inak, inym sposobom a potom bude jasne ze aj nieco vies spravit, nielen copy/paste...

minimalne prepis: MENU, PIXEL FIXER a ANALOG a aj BUTTON tester sa da inak....

Za tu hru se přimlouvám nejsou tu jen tací lidé :)

Odkaz ke komentáři
Sdílet na ostatní stránky

PSP Center 0.2

Pouze ANGLICKA verze. Ceska verze bude k dispozici zitra.

Link ke stazeni v prvnim prispevku...

PSP Center 0.2

2008 © beriii

www.beriii.php5.cz

# FAQ

1. How to install??

-- Copy the PSP Center folder from archive to

-- /PSP/GAME/

-- on your memory stick

2. How to run??

-- In GAME menu select PSP Center and press cross...

3. Controls

-- Cross = Enter

-- Circle = Back

# CHANGES

1. Added new features

------ FW version

------ MS Info

------ File Browser

------ CPU Machin

------ Clock Machine

2. All v0.1 bugs FIXED!

# OLD VERSIONS

-- PSP Center [0.1] [EN] [http://www.edisk.cz/stahnout-soubor/92907/PSPcenter.rar_341.33KB.html]

-- PSP Center [0.1] [CZ] [http://www.edisk.cz/stahnout-soubor/36082/PSPcenterCZ.rar_341.43KB.html]

Odkaz ke komentáři
Sdílet na ostatní stránky

btw. tady mas ten button tester jak pro mentali abys pochopil ze to chapu 8] a dokazu to napsat v podstate je to to sami jako mas ty tak bych to taky {ted uz taky )udelal if then (print)... A jestli chces uplne jiny funkce tak to ti napisu zitra nebot dneska uz to SciTe radsi poustet nebudu.

-- omg.lua
-- od beriiiho
-- DEJME SI RADSI SPEKA a NERESME KOKOTINY

-- barvicky
bila = Color.new(255,255,255)

-- spustim loop
while true do

-- smazu obrazovku
screen:clear()

-- definuju ovladani
ovladej = Controls.read()

-- tlacitka a nasledovny zobrazeni na screen pomoc PRINT
if ovladej:triangle() then -- kdyz strojuhelnik  pak
screen:print(10, 70, "TROJUHELNIK", bila) -- vypise PTROJUHELNIK na 10,70
end

-- atd. dalsi tlacitka

-- ukoncime luaplayer (navrat do XMB)
if ovladej:circle() then -- kdyz kolecko pak
System.Quit() -- ukonci luaplayer
end

-- ukoncim loop
screen.waitVblankStart()
screen.flip()
end

Odkaz ke komentáři
Sdílet na ostatní stránky

PSP Center 0.2

hi all, Vytvoril jsem pro vas aplikaci.

Ktera ma kontrolu nad nejdulezitejsimi funkcemi PSPcka.

Aplikace je sirena pod GNU/GPL licenci. Obsahuje ceskou i anglickou lokalizaci

Screenshot:

screen1ik1.png

Hele, na jaký stránce bereš ty zdrojáky? :psp:

Odkaz ke komentáři
Sdílet na ostatní stránky

precti si diskusi zde a mozna pochopis..

.. je to ale umeni zkopcit nekolik zdrojaku z ruznych tutorialu, dat je do jedne aplikace a sirit to pod svym vytvorem a jeste s ubohym copyrightem, na ktery nemas v tomto pripade ani nahodou pravo..

.. pochybuji, ze jsi se ptal majitelu, zda si muzes ukradnout a pozmenit jejich zdrojaky.. nemas pravo menit jim licensi na GNU/GPL, pokud jejich pravy tvurce ucinil jinak..

Odkaz ke komentáři
Sdílet na ostatní stránky

precti si diskusi zde a mozna pochopis..

.. je to ale umeni zkopcit nekolik zdrojaku z ruznych tutorialu, dat je do jedne aplikace a sirit to pod svym vytvorem a jeste s ubohym copyrightem, na ktery nemas v tomto pripade ani nahodou pravo..

.. pochybuji, ze jsi se ptal majitelu, zda si muzes ukradnout a pozmenit jejich zdrojaky.. nemas pravo menit jim licensi na GNU/GPL, pokud jejich pravy tvurce ucinil jinak..

Já taky pracuju s jinejma zdrojákama, ale přepisuju je a nešířím je... :D

Odkaz ke komentáři
Sdílet na ostatní stránky

to Anonymous:

Vsechny zdrojaky ktery jsem nenapsal jsou z tutorialu. Nejsou vydany pod zadnou licenci a jsou k tomuhle ucelu (free) (vzdyt celej web evilmana je ktomuhle ucelu) . To znamena ze pouzit je muze kdokoliv a vidat je pod jakoukoliv licenci. Takze nejdriv si zjisti zda ty zdrojaky vubec pod nejakou licenci byli ( nebyli a nejsou) a neobvinuj me z toho ze sem zmenil jejich licenci a okradl je.

Odkaz ke komentáři
Sdílet na ostatní stránky

ne, jen te obvinuji, ze z moralniho hlediska to neni vazne nic pekneho, zkopcit par zdrojaku (at byly zverejneny s jakymkoliv zamerem a jakoukoliv licensi), pozmenit jejich popisky (aby se nereklo) a smichat to dohromady a do paticky hodit svoje jmeno a jako tresnicku copyright a rikat, ze je to tve dilo, ja bych rekl, ze je to dilo panu, co delali ty tutorialy..

.. proste myslim, ze to neni umeni a ze misto tveho nicku v menu, by tam mela byt polozka credits a mely by tam jet nejdrive jmena (nicky) pravych autoru zdrojovych kodu a az pak mozna nakonec tvuj nick "Mixed together" nebo "Joined all code above" apod..

.. ale je to jedno ;) jen ti rikam, ze to do budoucna nikam nedothnes timhle stylem, kdyby jsi udelal neco sveho, byl by muj nazor uplne opacny, ale presne tohle nesnasi zadny vyvojar, co rozhodi kody na verejnost - kdyz je nekdo pouzije ve svem vytvoru a pozmeni tam neco a ten vytvor pak vydava za svuj (a nikde nezmini onoho autora, kde cerpal - ze slusnosti)

.. ale kdyz te to tesi, budiz ;) (ano, taky jsem na svuj web hodil neco volneho, ale to jsem na to ani nehrabl a do paticky webu jsem jasne hodil link na autory a jmeno one veci - takhle se to dela ;) )

Odkaz ke komentáři
Sdílet na ostatní stránky

Nejvíc mě dostalo tohle:

screen:print(5,260, "Copyright 2008 © beriii - PSP Center v0.1", white)

Ten Copyright nemá chybu :). Jinak to, že je něco na nějakých stránkách a není u toho uvedena licence, neznamená, že si to můžeš volně zkopírovat. Raději místo zkopírování kódů do imo naprosto zbytečné aplikace naprogramuj sám třeba dobrou hru a nikdo tě už buzerovat nebude, ale tudy cesta fakt nevede.

Odkaz ke komentáři
Sdílet na ostatní stránky

  • 3 weeks later...

Přidej se do diskuze

Můžete přidat přidat příspěvek a zaregistrovat se později. Pokud máte úcet, přihlašte se.

Návštěvník
Odpovědět na toto téma...

×   Vložili jste obsah s formátováním..   Odstranit formátování

  Only 75 emoji are allowed.

×   Váš odkaz byl automaticky načten a vložen..   Zobrazit jako odkaz

×   Váš předchozí obsah byl obnoven.   Vymazat obsah

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Vytvořit...

Důležitá informace

Tento web používá k poskytování služeb a k analýze návštěvnosti soubory cookies. Více informací naleznete v Zásady ochrany osobních údajů a Pravidla webu