Tumgik
Text
Kaŝkarteto por INSTEADo
Ĉi tiu artikolo estas traduko de ĉi dokumento (TTT-arkiva versio).
Titolo
--$Name: La plej interesa ludo!$ --$Version: 0.0.1$ --$Author: Anonima amatoro de tekstaj aventuroj$ --$Info: Ĉi tio estas refaro de maljuna ludo\n el ZX spectrum$
Objekto
obj { nam = "tablo"; dsc = "En ĉambro estas {tablo}"; act = "Hm...Simple tablo..."; };
Ĉambro
room { nam = "main"; title = "Komenco de aventuro"; disp = "Ĉefa ĉambro"; dsc = [[Vi estas en granda ĉambro]]; way = { "cxambrego", "strato" }; obj = { "kesto", pomo }; }
Dialogo
dlg { nam = "interparolo"; -- kutime, en dialogoj, inventaro ne estas bezona noinv = true; title = [[Interparolo kun vendisto]]; enter = [[Mi alparolis je vendisto]]; phr = { { "Vi havas fabojn?", "-- Ne." }, { "Vi havas ĉokoladon?", "-- Ne." }, { "Vi havas kvason?", "-- Jes", { "Kiom kostas kvaso?", "-- 50 rublojn." }, { "Kvaso estas malverma?", "-- Malvarmigujo rompiĝis.", { "Mi prenas du!", "Restas unu.", { "Donu unu!", function() p [[Ok!]]; take "kvaso"; end }; } } } } }
Konektado de la modjuloj
require "click" -- kaptado de musklikoj je bildo de sceno require "fmt" -- funkcioj de formatado fmt.para = true -- ŝalti reĝimon de paragrafoj (alineoj)
Modjuloj
"dbg" — modjulo de sencimigo;
"click" — modjulo de kaptado de musklikoj je bildo de sceno;
"prefs" — modjulo de agordoj (deponejo de datumoj da agordoj);
"snapshots" — apogo de kaptoj (snapŝotoj), por derulo de ludaj situacioj
"fmt" — dekoracio de eligo;
"theme" — regado per etoso ĉi momente;
"noinv" — laboro per inventaro;
"key" — modjulo de traktado de eventoj je uzado de klavoj;
"timer" — horloĝo;
"sprite" — modjulo por laboro per rulbildoj;
"snd" — modjulo por laboro per sono;
"nolife" — modjulo de blokado da metodoj life
Atributoj-listoj
Atributoj-listoj permesas labori kun sia enhavo per garnituro de metodojroom { nam = "malvarmigujo"; frost = std.list { "glaciajxo" }; }
disable() — elŝaltas ĉiujn objektojn de listo;
enable() — ŝaltas ĉiujn objektojn de listo;
close() — fermi ĉiujn objektojn de listo;
open() — malfermi ĉiujn objektojn de listo;
add(objekto|nomo, [pozicio]) — aldoni objekton;
for_each(funkcio, argumentoj) — doni por ĉiu objekto funkcion kun argumentoj;
lookup(nomo/etikedo aŭ objekto) — serĉo de objekto en listo. Redonas objekton kaj indekson;
srch(nomo/etikedo aŭ objekto) — serĉo de videbla objekto en listo;
empty() — redonos true, se listo estas malplena;
zap() — purigi liston;
replace(kion, per io) — anstataŭigi objekto en listo;
cat(listo, [pozicio]) — aldoni enhavon de listo en kurantan liston jepozicio.
del(nomo/objekto) — forigi objekton el listo.
Oni ekzistas funkcioj, kiuj redonas objektojn-listojn:
inv([ludanto]) — redoni inventaron de ludanto;
objs([ĉambro]) — redoni objektojn de ĉambro;
ways([ĉambro]) — redoni transirejojn de ĉambro.
Ekzemple:pl.obj:add "trancxilo" -- aldoni al ludanto objekton de tranĉilo
Ankaŭ estas nombra atributo "pri", kiu ludas rolon de prioritato en listo. Se «pri» ne estas instalita, do valoro de prioritato estas 0. Plue, se vi volas, ke iu objekto estus unua en listo, do instalu al objekto prioritato «pri» < 0, se vi volas, ke objekto estus en fino de listo — «pri» > 0.obj { pri = -100; nam = "umo"; disp = "Tre grava aĵo de inventaro"; inv = [[Singardu kun ĉi tiu aĵo.]]; }
Traktiloj defaŭlte
game.act = "Ĉi tio ne funkcias."; game.use = "Ĉi tio ne helpos."; game.inv = "Por kio ĉi tio por mi?";
Mallokaj variabloj
global { -- difino de mallokaj variabloj global_var = 1; -- nombro some_number = 1.2; -- nombro some_string = "ĉeno"; know_truth = false; -- Bulea variablo array = {1, 2, 3, 4}; -- tabelo
Konstantoj
const { A = 1; B = 2; }const "Aflag" (false)
Deklaracioj
declare { A = 1; B = 2; }declare "Z" (false)declare "test" ( function() p "Saluton, Mondo!" end )global "f" (test)
Helpaj funkcioj
function mprint(n, ...) local a = {...}; -- kelktempa tabelo kun argumentoj al funkcio p (a[n]) -- eligas n-an elementon de tabelo end
Objekto «Ludanto»
Defaŭlte, atributo «obj» ĉe ludanto prezentas inventaron.game.player = player { nam = "Bazilo"; room = "kuirejo"; -- la komenca ĉambro de ludanto power = 100; obj = { "pomo" }; -- tuj ni aldonas pomon en inventaron };
Objekto «Mondo»
Nomo de ĉi tiu objekto estas «game». Ekzistas ligilo-variablo, kiu ankaŭ nomiĝas kiel "game".game.act = "Ne sukcesas."; game.inv = "Hm... Stranga umo..."; game.use = "Ne funkcios..."; game.tak = "Ĉi tio por mi ne estas necesa...";
Metodoj de la objekto (obj)
:with ({…}) — difino de obj listo;
:new (… ) — konstrukcilo;
:actions (tipo, [valoro]) — difini/legi nombron de objekta eventoj de la difinita tipo;
:inroom ([{}]) — en kia ĉambro (ĉambroj) lokiĝas objekto;
:where ([{}]) - en kia objekto (objektoj) lokiĝas objekto;
:purge() — forigi objekton el ĉiuj listoj;
:remove() — forigi objekton el ĉiuj objektoj/ĉambroj/inventaro;
:close()/:open() — fermi/malfermi;
:disable()/:enable() — elŝalti/ŝalti;
:closed() — redonos true, se estas fermita;
:disabled() — redonos true, se estas elŝaltita;
:empty() — redonos true, se estas senenhava;
:save(fp, n) — funkcio de konservado;
:display() - funkcio de montro en sceno;
:visible() — redonos true, se estas kalkulata kiel videbla;
:srch(w) — serĉo de videbla objekto;
:lookup(w) — serĉo de ajna objekto;
:for_each(fn, …) — iteraciilo je objektoj
:lifeon()/:lifeoff() — aldoni/forigi el listo de vivaj.
Metodoj de la ĉambro
Krom metodoj obj, estas aldonita sekvaj metodoj:
:from() — de kie alvenis en ĉambro;
:visited() — ĉu estis vizitita ĉambro pli frue?;
:visits() — nombro de vizitoj (0 — se ne estis);
:scene() — montro de scenoj (ne objektoj);
:display() — montro da objektoj de sceno;
Metodoj de la dialogo
Krom metodoj «room», estas aldonita sekvaj metodoj:
:push(frazo) — pasi al frazo kun memorfikso ĝin en la steko;
:reset(frazo) — samo, sed kun deĵeto de la steko;
:pop([frazo]) — reveno al steko;
:select([frazo]) — elekto de kuranta frazo;
:ph_display() — montro de elektita frazo;
Metodoj de la ludmondo
Krom metodoj obj, estas aldoninta sekvaj metodoj:
:time([v]) — instali/preni nombron de ludtaktoj;
:lifeon([v])/:lifeoff([v]) — aldoni/forigi objekton el listo de vivaj, aŭ ŝalti/elŝalti vivan liston malloke (se ne estas difinita argumento);
:live([v]) — kontroli aktivecon de viva objekto;
:set_pl(pl) — ŝanĝi ludanton;
:life() — iteracio de vivaj objektoj;
:step() — takto de ludo;
:lastdisp([v]) — instali/preni lastan eligon;
:display(state) — montri eligon;
:lastreact([v]) — instali/preni lastan reakcion;
:events(pre, bg) — instali/preni eventojn de vivaj objektoj;
:cmd(cmd) — plenumado de INSTEAD-komando;
Ludanto
Krom metodoj obj, estas aldonita sekvaj metodoj:
:moved() — ludanto faris translokadon en kuranta takto de ludo;
:need_scene([v]) — estas bezona pentro de sceno en kuranta takto;
:inspect(w) — serĉi objekton (videbla) en kuranta sceno aŭ en si mem;
:have(w) — serĉo en inventaro;
:useit(w) — uzi aĵon;
:useon(w, ww) — uzi aĵon al aĵo;
:call(m, …) — doni metodo de ludanto;
:action(w) — ago al aĵo (act);
:inventory() — redoni inventaron (listo, defaŭlte ĉi tio estas “obj”);
:take(w) — preni objekton;
:walk/walkin/walkout — transiroj;
:go(w) — komando “iri” (kontrolas atingecon de transiroj);
Funkcioj, kiuj revenas objektojn
En simboloj [] estas priskribita nedevigaj parametroj;
“kio” aŭ “kie” signifas objekton (ankaŭ ĉambron), kiu estas difinita per etikedo, nomo aŭ valoro-ligilo;
_(kio) — ricevi objekton;
me() — redonas kurantan objekton-ludanton;
here() — redonas kurantan scenon;
where(kio) — redonas ĉambron aŭ objekton en kiu lokiĝas difinan objekton, se objekto lokiĝas en iom lokoj, do povas transdoni duan parametron — Lua-tabelo, en kiu aldonotaj ĉi tioj objektoj;
inroom(kio) — analogie kiel where(), sed redonos ĉambron, en kiu estas objekto (ĉi tio estas grava por objektoj en objektoj);
from([kie]) — redonos antaŭan ĉambron, el kiu ludanto pasis al difinan ĉambron. Nedeviga parametro - ricevi antaŭan ĉambron por difinita ĉambro, sed ne por kuranta;
seen(kio, [kie]) — redonas objekton aŭ transirejon, se li ĉeestas kaj estas videbla, ankaŭ estas dua parametro — elekti scenon aŭ objekton/liston en kiu serĉi;
lookup(kio, [kie]) — redonas objekton aŭ transirejon, se liĉeestas en sceno aŭ objekto/listo;
inspect(kio) — redonas objekton, se li estas videbla/atingebla en sceno. Serĉo iras en transirejoj kaj objektoj, ankaŭ en objektoj de ludanto;
have(kio) — redonas objekton, se li estas en inventaro kaj ne estas elŝaltita;
live(kio) — redonas liston, se li ĉeestas inter vivaj objektoj;
Atributoj kaj traktiloj de la objektoj kaj ĉambroj (obj kaj room)
ini — traktilo, redonata por objekto/ĉambro ĉe konstrukciado de luda mondo, povas esti nur kiel funkcio'
dsc — atributo, kiu estas redonata por eligado de priskribo;
disp — atributo, informaĵo pri objekto en inventaro aŭ ĉambro en listo de transiroj;
title — atributo de ĉambro, nomo de ĉambro, kiu estas eligada kiam ludanto lokiĝas ene ĉi tiu sceno;
decor — atributo de ĉambro, estas redonata por eligo de priskribo da dekoracioj en sceno;
nolife — atributo de ĉambro, ne redoni traktilojn de vivaj objektoj;
noinv — atributo de ĉambro, ne montri inventaron;
obj — atributo, listo de ingitaj objektoj;
way — atributo de ĉambro, listo kun transirejoj en aliaj ĉambroj;
life — traktilo, estas redonata por “vivaj” (fonoj) objektoj;
act — traktilo de objekto, estas redonata ĉe ago al aĵo de sceno;
tak — traktilo de preno de la aĵo el sceno (se ne estas difinita act);
inv — traktilo de objekto, kiu estas redonata eĉ ago al aĵo de inventaro;
use(s, al kio) — traktilo de objekto, estas redonata eĉ uzado de aĵo de la inventaro al aĵo de sceno aŭ inventaro;
used(s, kio) — traktilo de objekto, estas redonata antaŭ “use” eĉ uzado de aĵo (pasiva formo);
onenter(s, de kie) — traktilo de ĉambro, estas redonata eĉ enveno de ludanto en ĉambron, ĝi povas malpermesi transiron;
enter(s, de kie) — traktilo de ĉambro, estas redonata post sukcesa enveno en ĉambro;
onexit(s, kien) — traktilo de ĉambro, estas redonata eĉ eligo el ĉambro, ĝi povas malpermesi transiron;
exit(s, kien) — traktilo de ĉambro, estas redonata post la sukcesa eligo el ĉambro.
Atributoj kaj traktiloj de la luda mondo (game)
use(s, kio, al kio) — traktilo, ago defaŭlte por uzado de aĵo;
act(s, kio) — traktilo, ago defaŭlte eĉ aplikado de aĵo de la sceno;
inv(s, kio) — traktilo, ago defaŭlte eĉ aplikado de aĵo de la inventaro;
on {use, act, tak, inv, walk} — traktilo, reakcio antaŭ dono de respondaj traktiloj, ĝi povas malpermesi ĉenon;
after {use, act, tak, inv, walk} — traktilo, reakcio post agoj de ludanto.
Funkcioj de la norma libro
include(dosiero) — inkluzivigi dosieron en ludon;
loadmod(modjulo) — konekti modjulo de ludo;
rnd(m) — hazarda entjera valoro de “1” ĝis “m”;
rnd(a, b) — hazarda entjera valoro de “a” ĝis “b”, kie “a” kaj “b” estas entjeroj >=0;
rnd_seed(kio) — difini grajnon de la generilo hazardaj nombroj;
p(…) — eligo de literĉeno en bufron de traktilo/atributo (kun spaceto en fino);
pr(…) — eligo de literĉeno en bufron de traktilo/atributo “kiel estas”;
pn(…) — eligo de literĉeno en bufron de traktilo/atributo (kun linifinilo);
pf(fmt, …) — eligo de formatita literĉeno en buferon de traktilo/atributo;
pfn(…)(…) — formatado de la simpla traktilo;
obj {} — kreado de objekto;
stat {} — kreado de statuso;
room {} — kreado de ĉambro;
menu {} — kreado de menuo;
dlg {} — kreado de dialogo;
me() — redonas kurantan ludanton;
here() — redonas kurantan scenon;
from([w]) — redonas ĉambron el kiu efektivigis transiron en kurantan scenon;
new(konstrukciilo, argumentoj) — kreado de nova dinamika objekto;
delete(w) — forigado de dinamika objekto;
gamefile(dosiero, [deĵeti staton?]) — alŝarĝi dinamike dosieron kun ludo;
player {} — krei ludanton;
dprint(…) — sencimiga eligo;
visits([w]) - nombro de vizitoj en ĉambron aŭ false, se vizitoj ne estis;
walk(w, [bulea exit], [bulea enter], [bulea ŝanĝi from]) - transiro en scenon;
walkin(w) — transiro en sub-sceno (sen dono de exit/onexit de kuranta ĉambro);
walkout([w], [dofrom]) — reveno el sub-scenon (sen dono de enter/onenter);
walkback([w]) — sinonimo walkout([w], false);
_(w) - ricevo de objekto;
for_all(fn, …) — plenumi funkcion por ĉiuj argumentoj;
seen(w, [kie]) — serĉo de videbla objekto;
lookup(w, [kie]) — serĉo de objekto;
ways([kie]) — ricevi liston de transirejoj;
objs([kie]) — ricevi liston de objektoj;
search(w) — serĉo de atingebla objekto por ludanto;
have(w) - serĉo de aĵo en inventaro;
inroom(w) — redono de ĉambro/ĉambroj, en kiu lokiĝas objekto;
where(w, [tabelo]) — redono de objekto/objektoj, en kiu lokiĝas objekto;
closed(w) — true, se objekto estas fermita;
disabled(w) — true, se objekto estas elŝaltita;
enable(w) — ŝalti objekton;
disable(w) — elŝalti objekton;
open(w) — malfermi objekton;
close(w) — fermi objekton;
actions(w, literĉeno, [valoro]) — redonas (aŭ instalas) nombro da agoj de tipo t por objekto w;
pop(etikedo) — ricevo en antaŭan branĉon de dialogo;
push(etikedo) — transiro en sekvan branĉon de dialogo;
empty([w]) — ĉu estas senenhava de dialogbranĉo? (Aŭ objekto);
lifeon(w) — aldoni objekton en listo de vivaj;
lifeoff(w) — forigi objekton el listo de vivaj;
live(w) — objekto estas viva?;
change_pl(w) — ŝanĝo de ludanto;
player_moved([pl]) — kuranta ludanto translokiĝis en ĉi tiu takto?;
inv([pl]) — ricevi liston-inventaron;
remove(w, [wh]) — forigi objekton el objekto aŭ ĉambro; Ĝi forigas objekton el listoj obj kaj way (restigata en ĉiuj aliaj);
purge(w) — neniigi objekton (el ĉiuj listoj); Ĝi forigas objekton el ĉiuj listoj, en kiuj estas ĉi tiu objekto;
replace(w, ww, [wh]) — ŝanĝi unun objekton al alian;
place(w, [wh]) — loki objekton en objekton/ĉambron (foriginte objekton el malnova objekto/ĉambro);
put(w, [wh]) — loki objekton sen forigo el malnova loko;
take(w) — preni objekton;
drop(w, [wh]) — elĵeti objekton;
path {} — krei transirejon;
time() — nombro de la paŝoj de luda komenco.
15/6-22j
0 notes
Video
youtube
Half Life sfx
0 notes
Text
youtube
Captain Shepard walks through Normandy for 5 hours
1 note · View note
Video
youtube
[Другие игры] Reverse Raid
0 notes
Text
youtube
0 notes
Video
youtube
[INSTEAD game] Радикал
0 notes
Text
youtube
0 notes
Text
youtube
Record the world on video for its subsequent preservation in "memory"
Minetest is beautiful!
0 notes
Text
youtube
0 notes
Text
[INSTEAD game] Escape of the cat
youtube
0 notes
Text
0 notes
Video
youtube
[INSTEAD game] ИНСТЕДОЗ 3: Последний рейс| INSTEDOZ 3: Last Flight                          
0 notes
Video
youtube
Game Port Lode Runner with ZX Spectrum to INSTEAD
1 note · View note