Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - Hoyo

Stran: [1]
1
Dovolil jsem si z již nefunkčního webu (přes webarchiv) Mrakoplashova pavučinka půjčit jeho výuku scriptování, kterou dávám níže.

Myslím, že tu něco podobného žalostně chybí, jelikož nováčci často vůbec neví a škemrají i o základní scripty, které si mohou napsat sami, přitom scriptování je (alespoň pro mě) radostná součást hry a funkční kód potěší.

Pokud byste měl někdo kontakt na Mrakoplashe/Arakira, zeptejte se ho, jestli mu nevadí místní zveřejnění.

__________________________

Lekce c. 1

V tehle lekcich vas budu postupne seznamovat se scriptovanim v yoko a to na priklade mining scriptu. Zacneme od uplne jednoduchého az po vcelku komplexni skript. Dnes si ale povime jen zaklady.

Datové typy, promene a neco navic:
Promene
Promene si predstavte jako krabicku se jmenem do ktere si pak vlozite papirek s nejakym textem (cislem). Treba do krabicky se jmenem "jmeno" si vlozite papirek s textem "Arakir". V yoku si takovou krabicku vytvorite takhle:

Kód:

var jmeno


Casti "var jmeno" rikate yoku ze retezec "jmeno" predstavuje promenou (nasi krabicku). Od teto chvile jakykoli vyskyt tohoto textu (retezce) yoko nahradi hodnout ji prirazenou.
Nazev promene nesmi obsahovat zadne specialni znaky, jako mezery, zavinace, mrizky, dolary, interpunkci a dalsi. Dale nazev nesmi zacinat cislici. Pamatujte si jen to ze funkce musi zacinat pismenem anglicke abecedy a muze obsahovat podtrzitko "_". Dale yoko nerozlisuje velke a male pismena, cili "var Jmeno" ("Jmeno")  je to same co "var jmeno" ("jmeno").
Promene hodnotu priradime nasledovne:
hned pri definici promene

Kód:

var jmeno = "Arakir"


nebo az po jeji definici:

Kód:

var jmeno
jmeno = "Arakir"


Nyni v promene "jmeno" mame ulozenu hodnotu "Arakir".

Datove typy
Tri zakladni:
integer -ciselna hodnota. Definice: var promena = 1
string -textovy retezec. Definice: var promena = "Ahoj"
array -pole hodnot. Predstavte si to jako velkou krabici v niz mate nekolik ocislovanych krabicek a az v techto krabickach mate vlozeny papirky s honotami. Definice:

Kód:

dim pole[3]
    pole[0] = "Prvni prvek pole"
    pole[1] = "Druhy prvek pole"
    pole[2] = "Treti prvek pole"


Jak vidite neni na tom nic sloziteho. "dim" rika ze se jedna o pole. "pole" je jeho nazev. "[3]" rika kolik prvku (krabicek) pole bude mit, v nasem pripade 3 prvky. Dale uz postupujete stejne jak u preddefinovanych promenych akorat za nazev pridate "[cislo]", ktere rika o jaky prvek se jedna. Prvky se cisluji od nuly. Prvky pole mohou nabyvat pouze hodnot integer a string.
Pridam sem jeste:
void -neni to teda datovy typ, protoze to je nic. Nechapete? Jednoduse, void je oznaceni pro "nic". Pouziva se u popisu funkce (i ja ho budu pouzivat), takze ve skriptu ho nikdy nenajdete. Priklad pouziti najdete na konci lekce.

Neco navic
Ted si povime neco malo o pojmech jako je ItemType, ItemID a Color. Jsou to hodnoty jakehokoli predmetu v UO, jak mozna tusite. Vsechny to jsou hexdecimalni cisla uvozene "0x". Tak ted co jednotlive hodnoty predstavuji:

ItemID: Jinak receno identifikacni cislo predmetu. Kazdy item ma sve jedinecne cislo, ktere ma osum cifer. Pr: 0x0100A5F6. V dokumentaci yoka se pro nej pouziva vyraz "object" (a ja jej budu pouzivat take).
ItemType: Toto hodnota rika o jaky typ objectu se jedna. Typ vlastne rika jakou grafiku object ma (pozor ne barvu). Napriklad PickAxe a FoolsPickAxe maji stejny ItemType, ale lisi se v barve (Color). Tato hodnota je 4 ciferna. Pr.: 0x1234. V dokumentaci yoka se pro nej pouziva vyraz "type" (a ja jej budu pouzivat take).
Color: V prekladu "barva". Ano, je to barva predmetu (neplest s grafikou). Tato hodnota rika ultime jakou barvou ma danou grafiku prebarvit. Pokud je tato hodnota nulova pouzije se neprebarvena grafika. Tato hodnota ja 4 ciferna. Pr: 0x1234. V dokumentaci yoka se pro nej pouziva vyraz "color" (a ja jej budu pouzivat take).

Vsechny tyto hodnoty jsou typu string.
Tyto hodnoty budete pri psani skriptu pouzivat dnes a denne. Jak je zjistit si povime v pristi lekci.

Funkce:
Funkce je vlastne nas vytouzeny skript (presneji skript je to co se nachazi ve funkci). Jeji zapis je nasledujici:

Kód:

sub Nazev()
    <telo funkce>
end sub


Jak vidite neni to nic sloziteho. sub rika yoku ze zacina nova funkce za ni nasleduje jeji jmeno (Nazev), ktere se ridi stejnymi pravidli jako nazvy promenych, a zavorky (maji tu svuj ucel, ale zatim se tim zabyvat nebudeme). Aby yoko vedelo kde funkce konci, musime mu to rict zapisem end sub. Priklad funkce, ktera vytiskne "Ahoj svete":

Kód:

sub Ahoj()
    UO.Print("Ahoj svete")
end sub


Tady je ta sama funkce, akorat vyuziva promene:

Kód:

sub Ahoj()
    var text = "Ahoj svete"
    UO.Print(text)
end sub


Seznam funkci:
V teto casti vam v kazde lekci sepisu seznam pouzitych funkci s jejich popisem. Popisovat je bude nasledovne:
<navratova_hodnota> <nazev_funkce>(<parametr>[, <nepoviny_parametr>]) - <popis>

<navratova_hodnota>: typ vracene hodnoty. Jsou to nase zname datove typy + void. Pokud nevite k cemu to je, tak se tim zatim netrapte, brzy pochopite.
<nazev_funkce>: nazev funkce. Mluvi samo za sebe.
<parametr>: pomoci parametru funkci sdelujete informace (hodnoty) ktere potrebuje ke svemu chodu. Zde se bude obevovat bud datovy typ, nebo napr type, object a dalsi.
<nepoviny_parametr>: to stejne co parametr. Od povineho parametru ho poznate tak ze je umisten v hranatych zavorkach [].
<popis>: popis co funkce dela.

void UO.Print(string) - funkce zadany text vypise v okne UO (vlevo dole). Pr: UO.Print("Ahoj")

To by pro dnesek stacilo. Priste se uz vrhneme na mining skript, ktery postupne vypracujeme k pomyslne dokonalosti.

2
Herní témata / Tutorial
« kdy: Srpen 19, 2017, 11:01:20 odpoledne »
Čau,

mohli byste do tutorialu přidat odpadkový koš prosím? Zatím jsem ho tam nenašel, ale hodil by se. :)

Stran: [1]