wszystkie mapy dla wszystkich

Forum techniczne Arkadii.
Awatar użytkownika
Ulik
Posty: 273
Rejestracja: 21 mar 2009 21:14
Lokalizacja: Kraków

Re: wszystkie mapy dla wszystkich

Post autor: Ulik »

Mapę zawsze można kupić na Arce, jeśli nie chce się samemu robić.
Awatar użytkownika
Werbat
Posty: 1357
Rejestracja: 12 lut 2009 21:25
Lokalizacja: Poznań
Kontakt:

Re: wszystkie mapy dla wszystkich

Post 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 :(
Ostatnio zmieniony 28 paź 2014 01:51 przez Werbat, łącznie zmieniany 1 raz.
I aim to misbehave.
Systematycznie dążę do wyrugowania hejtu z arsenału swoich środków wyrazu.
Finmor

Re: wszystkie mapy dla wszystkich

Post autor: Finmor »

Mapa w do zmuda/cmuda tak samo może się 'automatycznie' odnajdować.
Thoven
Posty: 18
Rejestracja: 10 paź 2013 18:36

Re: wszystkie mapy dla wszystkich

Post autor: Thoven »

Finmor:

Korzystając z gmcp? Jeśli masz jakiś sposób to będę bardziej niż wdzięczny za zdradzenie takowego.
Jasko
Posty: 71
Rejestracja: 06 sty 2012 11:17

Re: wszystkie mapy dla wszystkich

Post 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 ;)
Thoven
Posty: 18
Rejestracja: 10 paź 2013 18:36

Re: wszystkie mapy dla wszystkich

Post autor: Thoven »

Dzięki za propozycję, ale lubię ogarniać to sobie samemu. Dzięki też za cenne informacje - na pewno mi się przydadzą.
Awatar użytkownika
Werbat
Posty: 1357
Rejestracja: 12 lut 2009 21:25
Lokalizacja: Poznań
Kontakt:

Re: wszystkie mapy dla wszystkich

Post 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.
I aim to misbehave.
Systematycznie dążę do wyrugowania hejtu z arsenału swoich środków wyrazu.
Elkas
Posty: 11
Rejestracja: 07 sty 2014 22:16

Re: wszystkie mapy dla wszystkich

Post 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.
Finmor

Re: wszystkie mapy dla wszystkich

Post 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 : )
Jasko
Posty: 71
Rejestracja: 06 sty 2012 11:17

Re: wszystkie mapy dla wszystkich

Post 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>
ODPOWIEDZ