Welcome to Sdružení ONLINE zábavy

Hledat   v  

  Vytvoř účetDomů | Vložit příspěvek | Tvůj účet | Obsah | Témata | Top 10  

Navigace
· Domů
· Ankety
· Archiv článků
· Diskuze SOZ
· Downloads
· Hledat
· NWN server status
· NWN2 server status
· Obsah
· Slovníček pojmů
· Statistiky
· Témata
· Webové odkazy

Obsah
NWN obecně
NWN World Building
Průvodce PW NWN
SOZ
SOZ Forum

NWN světy
Arkhalia
Demona
Dragon Hammer
Equilibrie
Gwain Tharr
Ilandria2
Kandelábrie1
Kandelábrie2
Mystake
Sferie
Thalie

NWN fora
Arkhalia
BG TSCC
Demona
Demona2
Dragon Hammer
Equilibrie
GamePark
Ilandria2
Kandelábrie1
Kandelábrie2
NWN 1
NWN 2
Thalie

NWN stránky
Čeština do NWN1
Bioware
BioWare Social Network
NWN GamePark
NWN Lexicon
NWN Speciál
NWN Vault (IGN)
NWN Vault (Nový)
NWN Wikipedia
NWN2 CZ překlad
NWN2 Blog
NWN2 scripting
NWN2 Toolset Guide
NWN2 Toolset manuál
Seznam NWN serverů
NWNWiki
NWN2Wiki

Subdomeny
Demona
DragonHammer
Gwain Tharr
NWNWiki

D&D stránky
D20 v kostce
Překladový klíč
WotC

Herní weby
Bonusweb.cz
Doupě.cz
gamerzines.com
mmogames.cz
mmorpg.com
mmorpgtoplist.com

  
Druhá kapitola scriptování v NWN





2.1 Deklarace proměnných

Nastavení (deklarace) proměnných a konstant neboli rezervace paměti pro danou proměnou je jedna z nejdůležitějších částí scriptování. Proměnné jsou prvky (hodnoty nebo data), se kterými pracujeme. Deklarace proměnné se vždy skládá ze dvou částí: z typu proměnné a jejího jména. Umístění deklarace proměnné, tj. místo kde se deklarace vyskytuje v kódu scriptu, určuje oblast platnosti proměnné. Všechny proměnné musí mít datový typ. Datový typ proměnné určuje hodnoty, které proměnná může obsahovat a operace, které s ní mohou být prováděny.

int pocet;

Tento příkaz nastaví tak zvaný "local integer" celočíselnou proměnou "pocet ". NWN script editor může obsluhovat několik druhů nebo typů dat a int je nejzákladnějším datovým typem. Odpovídá celému číslo bez desetinné čárky (i záporné hodnoty). Položku "pocet" nazýváme proměnnou, protože můžeme měnit její hodnotu. Styl deklarování proměnné je deklarovat proměnné co nejblíže, jak je to možné, k jejich prvnímu použití.

2.2 Přiřazovací příkaz

Přiřazovací příkaz přiřazuje hodnotu do paměťového místa. Například příkaz:

pocet = 26;

přiřazuje celé číslo 26 lokaci, která je reprezentována proměnnou "pocet". Jinými slovy, odteď můžeme s proměnnou pocet pracovat, jako by to bylo celé číslo 26. Můžeme ji odečítat od jiných celých čísel (násobit, umocňovat ….), nebo přiřazovat do jiných proměnných, které jsou deklarovány jako int.

Příklad:

int motorky;
int yamaha;
int jawa;
motorky = yamaha = jawa = 11;

Přiřazování probíhá zprava doleva. Nejprve se hodnota "11" přiřadí do "jawa", potom hodnota "jawa", která je nyní "11" do "yamaha" a nakonec proměnná "yamaha" (nyní 11) do "motorky".

2.3 Jména proměnných

Měli by jste používat smysluplná jména pro proměnné. Pokud proměnná cena představuje náklady na převoz , nazvěte ji cenaprevoz, nebo CenaPrevoz. Měli by jste (u některých i musíte) také poslechnout několik jednoduchých pravidel pro pojmenování.

Pravidla:

Jediné znaky, které můžete použít ve jménu, jsou alfabetické znaky, číslice a zank podtržení ( _ )

První znak ve jménu nemůže být číslice

Velká písmena se považují za jiná, než malá písmena

Nemůžete pro jména používat klíčová slova editoru

Jména začínající jedním nebo dvěma znaky podtržení jsou rezervována pro použití v implementaci nebo jako globální identifikátory. Sice nevíte o co jde, ale může vám to být jedno, protože nepředpokládám, že se v tomto kurzu dostaneme tak daleko abychom se o tom učili. Prostě a jednoduše to nepoužívejte, pokud nevíte o co jde.

Script editor neklade žádné omezení (aspoň doufám) na délku jmen a všechny znaky ve jménu jsou významné.

2.4 Typy proměnných

Script rozlišuje několik typů proměnných. Je na programátorovi, aby určil vhodný typ pro proměnnou.

int – celočíselná hodnota bez desetinné čárky. Povoleny jsou i záporné hodnoty.

float – hodnota s desetinou čárkou, taktéž jsou povoleny i záporné hodnoty.

string – znaky.

const – zvláštní typ pro určení konstant ( const int MONTHS = 12; ). Velká písmena nás upozorňují na to, abych zjistili, že se jedná o konstantu. Konstanta musí být deklarována mimo funkce.

HexString – podtyp string. Pracuje s hex hodnotami. Tento typ je určen pouze pro převod int do string. Nejspíš ho nikdy nepoužijete.

object – je datová struktura (např. několik int a float typů) NWN Script editoru. Objektem se rozumí například NPC, placeable jako jsou truhly a podobné.

OBJECT_SELF – podtyp object. Pokud použijeme OBJECT_SELF pro deklarování proměnné například z placeable, do proměnné se přiřadí hodnota (tag) našeho placeable.

2.5 Převod proměnných

Script editor nám umožňuje převádět jeden typ proměnné na jiný. Pokud v Okně funkcí napíšete do filtru například IntToString, uvídíte v Okně zpráv parametry pro převod typu proměnných. Jelikož je častým jevem, že nám deklarovaný typ proměnné nevyhovuje, můžeme převodem typu jednoduše deklarovat novou proměnnou.

2.6 Objekt

Deklarací objektu jako takového se zde zabývat nebudeme, jelikož je to celkem složitá věc a deklaraci vlastního objektu na 90% nebudete používat.

Objekt je datová struktura obsahující např. počet životů, rasu (u placeable typ) a další důležité informace o jakémkoliv „předmětu“ v modulu. Objektem jsou například hráči, NPC, placeable, triggery … defacto cokoliv, co v toolsetu umístíte do modulu, může být definováno jako objekt. Definovat tyto objekty můžeme několika různými způsoby. Všechny funkce, jejichž návratovou hodnotou je typ object, jsou vlastně definicí. Např. pokud do filtru v okně funkcí napíšete „object“, můžete se na zlomek těchto funkcí podívat blíže. Jsou to všechny, které začínají „Get…“, ale i mnoho dalších.

Mole









Copyright © by Sdružení ONLINE zábavy Všechna práva vyhrazena.

Publikováno: 2005-12-17 (1593 čtenářů)

[ Zpět ]
Copyright © Sdružení Online zábavy, Všechna práva vyhrazena
Můžete šířit naše zprávy pomocí tohoto souboru backend.php
PHP-Nuke Copyright © 2005 by Francisco Burzi.
This is free software, and you may redistribute it under the GPL.
PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky: 0.08 sekund