Aneb stabni kultura neni jen buzerace…
Mozna konvence odsazovani, kterou pouzivam ja (z realneho NPC, jen je pridana zbytecna sekce OnInit), vypada nasledne:
amatsu,143,148,3 script Kseftar#jirkan 118,{ // povinny format, zde neni co resit mes "[Kseftar]"; // standardni odsazeni jeden tabelator, v levem sloupci je jen definice NPC, jeji ukonceni a pripadne eventy if (!countitem(677)) { // slozena zavorka ktera otevira vnoreny blok na konci radku mes "Vypadni socko, kazis mi ksefty!"; // samotny blok je odsazeny o dalsi tabelator mes "Az budes mit bony prijd"; close; } // uzaviraci zavorka je presne pod prikazem ktery blok otevrel mes "psssst!"; // dalsi kod bez bloku pokracuje dal. mes "hele, ty vypadas bohate, udelame obchod?"; next; mes "[Kseftar]"; mes "Tak ja ti jako pujcim nejakej klip a ty mi zaplatis, co ty na to?"; if (2 != prompt("Tahni drbane!:A co nabizis?")) close; // na jeden radek pouze ty nejjednodussi konstrukce za if, cokoli slozitejsiho do samostatnych bloku next; mes "[Kseftar]"; mes "Mam tu tyhle ctyri klipy, pujcim ti je na 2 hodiny a ty mi za to das jeden bon, plati?"; switch (select("Healing Clip:Hiding Clip:Clip Under a Cast:Clairvoyant Clip:Nic nechci")) { // switch podobne jako if, zacatek bloku na konci radky case 1: // varianty case odsazene o jeden tab delitem 677,1; // ale samotny kod je od case opet odsazeny, aby bylo poznak kde ktera sekce konci rentitem 10600,7200; break; case 2: // vynechavat radek nebo nevynechavat? tot otazka, na jednu delitem 677,1; // kdyz vynechame, je to prehlednejsi, ale zase se min vejde rentitem 10601,7200; // na obrazovku takze se hur orientuje break; case 3: delitem 677,1; rentitem 10602,7200; break; case 4: delitem 677,1; rentitem 10603,7200; break; // takze jsem vynechal radku az u podstatne zmeny default: // vzdy nejak osetrujeme i volby ktere nemusi nastat mes "Tak priste"; break; // tenhle break je nadbytecny, ale na druhou stranu clovek pri dalsim copypastovani nezavlece chybu } close; OnInit: // event jako jediny krome konce od prvniho sloupce npctalk "Tak me tu mate!"; // a kod zase klasicky odsazeny end; }
Poznamka: V tomto scriptu nedodrzuji to, ze delitem a getitem by mely mit popsane co zerou/davaji. Cinim tak protoze je to zrejme z kontextu par radku kolem (zarucene na jedne obrazovce) o jake predmety se jedna.