Git Product home page Git Product logo

Comments (20)

akrzyz avatar akrzyz commented on July 28, 2024

Wcześniej nie korzystałem specjalnie z NI ale teraz jak to odpaliłem, to się załamałem, to mi laguje jak nie wiem. Wszystko mi skacze tyle że więcej mapy widać, jakiś koszmar.

Nie wiem jak tam co działa ale widzę że jest pisane zupełnie inną koncepcją. W pierwszej kolejności bym chat ogarnął jak działa.

Jak się tak na to patrze to chyba wole wrócić do dopracowania starego dodatku, który by SI rozwijał na cały ekran zamiast babrać się z NI.

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

A jak wygląda podłączenie dodatku? Mogę poprzerabiać i popatrzyć jak to działa ale nie wiem czy możesz po prostu np. osobny link dać do dodatku na NI.

Bo panel dodatków nie działa więc jedynie z jakiegoś tempermonkey mogę na żywo testować

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Dobra, po zainstalowaniu przez tempermonkey "działa" bez zarzutów.

No prócz tego że 90% skryptów wywala bo API jest inne.

Teraz jeszcze raz pytanie, czy robimy z tego dwie różne ścieżki w zależności od SI/NI czy w każdym miejscu będzie podmienianie w zależności od tego czy jest to NI czy SI.

Bo w takim wypadku w starcie można sprawdzić jaki interfejs jest (jest ciasteczko o nazwie interfejs bodajże) i ustawić go jako zmienną, i potem w każdym miejscu dawać jeżeli si to to jeżeli ni to tamto.

Ta decyzja do ciebie należy chyba :v

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Mam już zrobiony chat, jeszcze muszę ogarnąć *addGrafy i tak dalej. Da się zrobić wszystko :# Jutro (znaczy dziś) wieczorem dam pullrequesta. Wygląda spoko (kolory przyciemnione bo stare wiadomości)

I ogólnie za każdym razem podmienianie w zależności od SI/NI jest lepsze moim zdaniem, bo większość kodu i tak jest taka sama. Po prostu będzie jak mówiłem zmienna z jakąś nazwą która będzie zawierała nazwę interejsu

from nerthusaddon.

akrzyz avatar akrzyz commented on July 28, 2024

Ja się jeszcze nie przyglądałem jak działa NI od strony API ale zakładam, że większość kodu będzie wspólna tylko trzeba mieć jakiś klej porobionym który interakcje z samym API załatwi.
Czekam na pull requesta bo mi się nie chce samemu API od NI rozkminiać ;p

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

To "API" jest straszne. Dodatkowo z podmianą mapy/npców trzeba będzie mocno kombinować, bo wszystko leci do jednego canvasa. Ale mam nadzieję że jakoś dam radę :#

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Można by też stworzyć projekt na githubie to lepiej będzie wszystko widać co trzeba zrobić

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Po kolejnych godzinach zmagań ogarnąłem kod na dodanie grafiki (który jest bardziej na podmianę mapy, tylko w nieco inny sposób. Po prostu grafika jest na mapie ale pod npcami). Przynajmniej w teorii. No i nie wygląda aż tak pięknie, bo wzorowałem się na już stworzonym dodatku o baaardzo innym zastosowaniu (podobnie jak ze zmianą czatu. czytając kod NI można równie dobrze skoczyć z okna, szczególnie na moim obecnym poziomie jsa .-. (ale staram się ogarniać jak najwięcej))

Samej zmiany mapy bez takiego trochę "workaround-u" nie udało mi się osiągnąć.

NPCe najpewniej będzie się dodawało npcami. (jak patrzyłem to o wiele prościej chyba jest :#)
Weather najfajniej by było wbudowanymi Engine.weather, może one nie będą takie straszne
Light to bym poszedł po najmniejszej linii oporu i narzucił nad canvas płachtę przepuszczającą eventy i jedynie zmieniającą swoje opacity odwrotnie do lighta, np. *light 0.3 by zmieniał opacity na 0.7, czyli by było bardzo czarnawo. Dodatkowo można dodać łatwo zmianę koloru lighta, bo czemu nie.

from nerthusaddon.

akrzyz avatar akrzyz commented on July 28, 2024

Zmieniłem start dodatku, teraz pluginy nigdy same się nie startują. Start wołany jest zawsze z NN_start.js niezależnie czy reszta wczytywana jest z localStorage czy z cdn'a.
Jeżeli jesteśmy na SI to na pluginach woła się start natomiast na NI woła się na nich start_ni. To powinno ładnie załatwić kwestie startowania dodatku na różnych silnikach, wystarczy adaptery ukryć w start_ni. Jeżeli moduł nie ma metody start_ni to po prostu nie będzie się nawet próbował uruchomić na NI.

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Tyle że to nie takie proste, np. niektóre komendy osobno wymagają atencji, np. teraz jak piszę to w nerthus.chatCmd.map["map"] również potrzeba sprawdzenia czy to ni czy si, bo inaczej mapa jest wyświetlana. I jedno będzie miało g a drugie API

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Chyba że chcesz bym definiował całe funkcje w tym start_ni.

P.S.
dzięki za zepsucie mi NI na Nerthusie >_<
Error: Syntax error, unrecognized expression: .tab.Ath`Lar1Draa`Ilythiiri

from nerthusaddon.

akrzyz avatar akrzyz commented on July 28, 2024

nerthus.chatCmd.map["map"] jak komenda nie działa na NI to można ją wywalić z mapy w start_ni a jak ma inną implementacje to przemapować handler

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Nie o to chodzi.
nerthus.chatCmd.map["map"] może działać na NI jak będzie mieć przełącznik w sobie, czyli będzie się różnie zachowywała w zależności od tego jaki jest interfejs (bo cała mapa jest w jednym canvasie na NI)

to teraz moje pytanie:
czy mam deklarować takie funkcje po prostu w start/start_ni?

a bardziej: czy mam funkcję o jednej nazwie która będzie to obsługiwała, ale inna będzie w środku deklarować osobno w każdym starcie (może tak ma bardziej sens)

OK, czyli będę przemapowywać

from nerthusaddon.

akrzyz avatar akrzyz commented on July 28, 2024

możesz zrobić funkcje nerthus.chatCmd.map_ni["map"] = ... i w start_ni przemapować this.map.map = this.map_ni.map i powinno śmigać

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Zrozumiałem jak zedytowałeś, tak zrobię

from nerthusaddon.

akrzyz avatar akrzyz commented on July 28, 2024

posiedziałem dzisiaj chwile i naskrobałem coś takiego: https://rawgit.com/akrzyz/margonem_addons/master/margo-prettifier.js (trzeba mieć chat z boku włączony żeby zadziałało) jeszcze sporo jest tam do zrobienia ale przynajmniej już jakoś zaczyna wyglądać :)

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Co to jest? Bo nie mogę uzmysłowić sobie co ten kod robi. (jeżeli to

Jak się tak na to patrze to chyba wole wrócić do dopracowania starego dodatku, który by SI rozwijał na > cały ekran zamiast babrać się z NI.

To według mnie najwyżej w osobnym issue to pisz, a tak to zupełnie nie jest to rozwiązanie dla portu na NI .-.)

Za to ja skończyłem już *map i wieczorem dam kolejnego pullrequesta. I może to dziwnie nieco wyglądać ale na 100% działa i nie mam pojęcia jak inaczej to zrobić, bo dostać się do rysowania mapy do canvasa jest baaaaardzo trudno, a API nie obsługuje czegoś takiego. Mam nadzieję że NPC będą łatwiejsze, nimi chyba się zajmę kolejnymi

from nerthusaddon.

akrzyz avatar akrzyz commented on July 28, 2024

Ciekaw jestem jak mapę zrobiłeś bo nie widziałem tam takiego obiektu jak w si #ground ale może niezbyt dokładnie patrzyłem.

Jak ogarniesz jak grafiki na mapie rozstawiać to będzie też duży krok w kierunku dodania światełek bo pogoda i noc będą raczej proste.

Ja w między czasie popatrzyłem się na penel i coś tam nadziergałem #37.
Ikona z tarczą wygląda zaskakująco ładnie ale dodana jest na chama a nie za pomocą API, może potem poszukam jak to dodać we właściwy sposób. Nie wiem też czemu ale opcje się nie rozwijają na NI ale może je po prostu zrobię je zawsze widocznymi.

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

Trochę zarwanie głowy mam więc opóźnia to pracę we wdrożeniu (potrzebuję dostosować z mojej wersji testowej na gita i wtedy dokładnie przestestować czy działa. A testy Qunit są beznadziejne do testowania tego typu addonów, chyba że byśmy dali require (które jest z nodejsa a nie z testów i ogólnie działa samo w sobie okropnie i niezgodnie z przeznaczeniem tutaj, dlatego błędy wywala) całego engina margonem,a potem całe okno zbudowalibyśmy.

Po zmianie mapek światełka można dodać w prawie ten sam sposób. Jedyne co to bym podpiął światełka i mapę pod jedną funkcję, bo nie wiem jak będą działać razem. A raczej światełka na mapkach podstawionych nie są pożądane, choć może. No nic, zobaczy się jak będzie to działać. A NPCe to osobna sprawa, bo oni muszą być jako postacie które za sobą się pojawiają itd. Więc mapie bliżej do świateł niż do postaci :#

Z tymi brzydkimi ustawieniami nie wiem czy warto się bawić z alertem, czy by nie zrobić całości od nowa, jakiś ładnych ustawień, ładnych linków pod grafikami jakimiś, by było to przyjemne a nie to co jest teraz :#
No ale to na pewno na dalszy plan

W dodawanie widgetów się jeszcze nie bawiłem, ale chyba było to dosyć proste, nie jestem pewien

from nerthusaddon.

KrisAphalon avatar KrisAphalon commented on July 28, 2024

99% zmian wdrożona w #35, zamykam, znalezione pojedyncze błędy do nowych issue.

from nerthusaddon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.