Strona 31 z 33
Re: TinTin++, skrypty do arkadii v.1.0
: 12 maja 2017 16:22
autor: Eldakar
fajnie ze zrobiles znajdowanie mapki poza gmcp
ja do tego uzywam flag mappera , i trzymasz tez shorta zima/lato, bo na samych dostepnych wyjsciach sie za daleko nie pojedzie
a pozatym to wszyscy maja wszystko to samo
Re: TinTin++, skrypty do arkadii v.1.0
: 15 maja 2017 10:28
autor: Eldakar
to ja mam taki pomysl:
chcialbym zeby mapa wygladala w ten sposob
http://imgur.com/a/Ps8Ce
i rozwiazanie, nad ktorym sie zastanawiam:
1. mam zapisane wszystkie shorty jako atrybuty pokojow
2. ustawiam wszystkie pokoje na statyczne
loop (1..1000000) #map at $a #map roomflag static on
3. dla kazdego pokoju, znajduje wszystkie wyjscia ktore nie sa wypelnione i koloruje je bazujac na shorcie pokoju
3.a loop (1..1000000) #map at $a (dig wszystko dookola)
3.b koloruje stworzone pokoje bazujac na shorcie pokoju w srodku (las = zielony /|\ na przyklad)
3.c dodaje atrybut nowo utworzonym pokojom (roomtype = 2)
4. dla kazdego pokoju roomtype = 2, powtarzam 3.a
4.b kopiuje roomsymbol z pokoju roomtype =2 na wszystkie zdigowane dookola
3.c jeszcze raz
powtarzam krok 4 N razy, zeby zapelnic mapke
taka mapa dzialalaby w trybie 'read', w trybie 'write' wracam do oryginalnej mapy.
Re: TinTin++, skrypty do arkadii v.1.0
: 16 maja 2017 09:25
autor: Dorien
w wiekszosci nie da sie tego wykonac moim zdaniem, przynajmniej nie dla calej mapy, nie potrafie sobie wyobrazic jak miala by wygladac mapa miasta, co z nachodzacymi na siebie lokacjami? jakas tam mapa lasu pod novi ok, ale np masyw mahakamu raczej watpie
Re: TinTin++, skrypty do arkadii v.1.0
: 16 maja 2017 10:16
autor: Eldakar
cze
co do miast to mam dodatkowo GMCP label, mozliwe ze nie wezme ich pod uwage .
A w kwestii pokojow ktore sie nakladaja, juz rozwiazalem problem. W obecnej wersji skrypt wyszukuje wszystkie wyjscia , tworzy wyjscia tam gdzie ich nie bylo, a jesli dig zlinkowal do uprzednio stworzonego pokoju, usuwam link.
moim wiekszym problemem jest to, jak ukryc linki miedzy tymi 'ozdobnikami' a prawdziwa mapa.
jeden pomysl, ktory mi przychodzi do glowy, to skrypt z poziomu konsoli ktory te linki pousuwa (nie da sie z tego co sie orientuje w tintinie zrobic pokoju niezlikowanego, ktory nadal bedzie widoczny)
pokaze co juz mam (prosze nie brac pod uwage optymalizacji kodu!)
Kod: Zaznacz cały
#map read mapkatt.map
#map return
#map map
#nop prepare the map;
#loop {1} {60000} {a} {#map at {$a} {#map roomflag static off;#map set roomterrain org;#map set roomsymbol {<ffa>[ ]<088>}};};
#alias {dig_terrain}
{
#nop argv1=roomID argv2=terraincode;
#var roomsymbol {};
#if {"%2" == "las"} {#var roomsymbol {<ABA><fca>YYY<088>}};
#map at {%1} {#map get roomexits room_exits};
#map goto %1;
#if {$room_exits[w] > 1} {} {#var tmpterrain {};#map dig w;#map move w;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink e both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[nw] > 1} {} {#var tmpterrain {};#map dig nw;#map move nw;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink se both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[sw] > 1} {} {#var tmpterrain {};#map dig sw;#map move sw;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink ne both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[n] > 1} {} {#var tmpterrain {};#map dig n;#map move n;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink s both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[ne] > 1} {} {#var tmpterrain {};#map dig ne;#map move ne;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink sw both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[s] > 1} {} {#var tmpterrain {};#map dig s;#map move s;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink n both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[se] > 1} {} {#var tmpterrain {};#map dig se;#map move se;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink nw both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
#if {$room_exits[e] > 1} {} {#var tmpterrain {};#map dig e;#map move e;#map get roomterrain tmpterrain;#if {$tmpterrain == "org"} {#map unlink w both} {#map set roomterrain %2;#map set roomsymbol $roomsymbol};#map goto %1};
}
edit, przyklad
generujac taka mapke:
Kod: Zaznacz cały
LLL ORG
| \ /
| \ /
LLL ORG
| \
| \
LLL LLL
moge podmienic LLL (las) i otoczenie tego stringa, na cos ala {<ABA> <088>} i usunac wszystkie linki dookola (takze umieszczajac <ABA> <088> zamiast linkow
Kod: Zaznacz cały
LLLLLL ORG
LLLLLL /
LLL /
LLL ORG
LLLLLL
LLLLLL
LLLLLLLL
Re: TinTin++, skrypty do arkadii v.1.0
: 06 cze 2017 11:07
autor: Eldakar
siemano,
tak wyglada beta mojej mapki, duzo do zrobienia jeszcze...
Skellige
- skellige.png (208.64 KiB) Przejrzano 10270 razy
Las przy kasztelu
- las2.png (168.29 KiB) Przejrzano 10270 razy
Gory, nad tym jeszcze pracuje, zeby po oczach tak nie dawalo
- gory.png (244.28 KiB) Przejrzano 10270 razy
Znaki zapytania oznaczaja lokacje, w ktorych nie mam shorta zapisanego.
Re: TinTin++, skrypty do arkadii v.1.0
: 06 cze 2017 15:20
autor: Dorien
swietna robota, brawo
szacun
fajna opcja byloby napisanie onlinowego edytora do map
Re: TinTin++, skrypty do arkadii v.1.0
: 06 cze 2017 16:21
autor: Eldakar
dzieki
nie jest to az tak skomplikowane, myslalem o tym samym, z kontekstu bazy danych przedmiotow. wyszukkiwarka przedmiotow z 'klikalnymi' lokacjami z poziomu web.
jedyny problem, ktory widze na pierwszy rzut oka, to jak renderowac mapke gdy nakladaja sie pomieszczenia - mozna by to rozwiazac w ten sposob, ze mapka wyswietlana na stronce, jest generowana z poziomu muda (service tintina -> php script)
do edycji, mozna by uzyc, czegos w rodzaju 'rozy wiatrow', zbierajac dane informacje o pokoju i mozliwosci stworzenia kierunkow.
jeszcze inne podejscie (bo jak rozumiem celem byloby posiadanie sharowanej mapy):
- mapka jest na centralnym serverze
- lokalny tintin ma tylko readonly cache
- tryb 'kreacji' pokoju z poziomu clienta - wysyla zapytanie do servera, czy dana lokacja jest edytowalna (lock/nolock - zeby wiecej niz jedna osoba nie probowala edytowac danego pokoju)
- dostajemy potwierdzenie stworzenia lokacji (ack create)
- server wysyla update mapy, kazdemu polaczonemu uzytkownikowi (sync)
Re: TinTin++, skrypty do arkadii v.1.0
: 12 cze 2017 11:03
autor: Stellan
Zastanawialiscie sie moze nad zaslonami myszka? Wiem, ze jest to mozliwe poprzez napisanie
odpowiednigo pluginu do np. Urxvt, ktory dziala troche jak URL launcher. W tym przypadku
klikniecie ciagu pasujacego do wzorca wykonywaloby tylko komende z jego uzyciem. Przydaloby sie tez
podpiac do tego menu kontekstowe z roznymi operacjami na danej zmiennej w stylu: zaslon zmienna,
przelam zmienna itd.
Re: TinTin++, skrypty do arkadii v.1.0
: 12 cze 2017 15:46
autor: Dorien
z tego co mi wiadomo nie da sie zrobic klikalnych linkow w tintinie jako scrypt jedyna opcja to jakims nc komunikowac sie z zewnetrzna apka na dialogu czy innym ui
Re: TinTin++, skrypty do arkadii v.1.0
: 12 cze 2017 17:47
autor: Stellan
Wlasnie o tym pisze. W tym przypadku zewnetrzna apka jest okno terminala z wlaczonym netcatem jako serwer. Wtedy komunikacja miedzy takim oknem a sesja w tintinie to zwyczajne wpisanie komendy po ktorejs ze stron.