Strona 2 z 7

Re: wszystkie mapy dla wszystkich

: 25 paź 2014 11:52
autor: Ulik
Mapę zawsze można kupić na Arce, jeśli nie chce się samemu robić.

Re: wszystkie mapy dla wszystkich

: 25 paź 2014 19:35
autor: Werbat
Podstawowa różnica między mapą z klienta ze stronki a - nawet najlepszą/najbardziej dokładną - swoją i/lub kolegi jest fakt, że mapa w kliencie się 'automatycznie' odnajduje, a w kliencie trzeba po zgubieniu się klikać albo robić obejścia w stylu 'co X lokacji zabezpieczenie w postaci odnajdywaczki w mapperze na podstawie opisu/czegokolwiek'.

Chciałbym bardziej niż 'dostać mapy z góry' mieć możliwość oskryptowania sobie swoich tak, żeby się samo nie gubiło. Jest niby GMCP, ale póki co nasze zdecydowanie za mało potrafi :(

Re: wszystkie mapy dla wszystkich

: 25 paź 2014 22:22
autor: Finmor
Mapa w do zmuda/cmuda tak samo może się 'automatycznie' odnajdować.

Re: wszystkie mapy dla wszystkich

: 26 paź 2014 00:10
autor: Thoven
Finmor:

Korzystając z gmcp? Jeśli masz jakiś sposób to będę bardziej niż wdzięczny za zdradzenie takowego.

Re: wszystkie mapy dla wszystkich

: 27 paź 2014 08:58
autor: Jasko
Thoven: moze nie korzystajac z %gmcp ale mimo tego ze jest %gmcp wlaczone, da sie ustawic marker w przypadku gdy stoisz na lokacji o unikalnym opisie. Mozna to podpiac pod pojedyncza komende i jedziesz. W przypadku gdy w Room.Info jest dodatkowa informacja map mozesz wykorzystac skrypt zaprezentowany przez Gleanevalla - viewtopic.php?f=15&t=382&p=36557#p36557, w przypadku gdy w Room.Info sa tylko wyjscia podane (nie ma mapy terenu w kliencie) potrzebny Ci bedzie moj skrypt, ktory chetnie udostepnie jak tylko ustalimy jak bardzo bedziesz zan zobowiazany ;)

Re: wszystkie mapy dla wszystkich

: 27 paź 2014 11:40
autor: Thoven
Dzięki za propozycję, ale lubię ogarniać to sobie samemu. Dzięki też za cenne informacje - na pewno mi się przydadzą.

Re: wszystkie mapy dla wszystkich

: 27 paź 2014 13:53
autor: Werbat
Czyli żeby uzyskać funkcjonalność mapy z klienta miałbym sobie podpinać teleporty do każdego unikalnego opisu, czyli stworzyć kilkadziesiąt tysięcy triggerów?
Dziękuję uprzejmie, pojadę autobusem. W skrócie, dupa.

Re: wszystkie mapy dla wszystkich

: 27 paź 2014 14:47
autor: Elkas
Wystarczy jeden trigger, za to potrzebna jest baza, która powiąże unikalne id z Twojej mapy z id* przekazywanym przez muda. Dotyczy to jednak tylko tych lokacji, które są pokazywane na mapach klienta webowego.

* id trzeba spreparować z ciągu, w przypadku Cmuda Lokacja_id = %concat(%gmcp.data.map.name,"_",%gmcp.data.map.x,"_",%gmcp.data.map.y

Oczywiście trigger polecam włączyć dopiero jak się zgubi, lub odpalać odnajdowanie jako aliasa.

Re: wszystkie mapy dla wszystkich

: 27 paź 2014 16:17
autor: Finmor
Podsumowując: trzeba zrobić tę samą pracę z mapką do zmuda/cmuda, która została wykonana z mapkami do klienta webowego przez Rafgarta i pomagających mu graczy.
I potem jeden prosty trigger pozycjonujący - można zrobić tak, że teleportuje tylko, jak zauważy niezgodność tego, co wysyła gmcp z pozycją na mapperze.
Dodatkowo uprościć można robiąc tylko określoną liczbę czekpointów (np zakładając, że na prostym trakcie mapper się nie zgubi).
Komu się chce - do dzieła. Raczej praktyczne : )

Re: wszystkie mapy dla wszystkich

: 27 paź 2014 16:32
autor: Jasko
Moje rozwiazanie opiera sie na sie na komendzie zerknij i sprawdzaniu czy dany opis lokacji znajduje sie w bazie mappera i czy jest unikalny, jesli oba warunki sa spelnione to marker jest ustawiony na odpowiadajacym roomie. Uzywanie 100 triggerow jest raczej malo eleganckie, a dwie zaproponowane metody nie dzialaja w 100% bo czasami nie mozna wygenerowac id lokacji z %gmcp, jako ze tej informacji nie ma, a w mojej metodzie w przypadku powtarzajacego sie opisu, kod nie zadziala bo jest wiecej niz jeden wybor. Obydwie metody jednakze sie uzupelniaja jako ze uzywajac metody Gleanevella nie musi byc spelniony warunek ze krotki opis jest unikalny, a mojej nie trzeba generowac id lokacji.

Kod: Zaznacz cały

<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
  <trigger type="Command Input" priority="20" case="true" regex="true">
    <pattern>^(?:> )?zerknij$</pattern>
    <trigger type="Within Lines" param="1" regex="true">
      <pattern>(?:^> )?(.+)</pattern>
      <value>#tag name {%1}
$RoomName = {%1}
;#print $RoomName
;#print {%mapquery(Name = '$RoomName')}
;#print %numitems(%mapquery(Name = '$RoomName'))
#if (%numitems(%mapquery(Name = '$RoomName')) = 1) {
#print {Znam to miejsce - ustawiam marker na mapie.}
;#print {%mapquery(Name = '$RoomName')}
$RoomKey =  %mapquery(Name = '$RoomName')
#teleport  $RoomKey
}</value>
    </trigger>
  </trigger>
</cmud>