Comments (20)
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.
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.
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.
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.
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.
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.
Można by też stworzyć projekt na githubie to lepiej będzie wszystko widać co trzeba zrobić
from nerthusaddon.
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.
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.
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.
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.
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.
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.
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.
Zrozumiałem jak zedytowałeś, tak zrobię
from nerthusaddon.
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.
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.
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.
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.
99% zmian wdrożona w #35, zamykam, znalezione pojedyncze błędy do nowych issue.
from nerthusaddon.
Related Issues (20)
- Dynamic rain HOT 1
- npc presence time HOT 1
- Natychmiastowe dodawanie map i NPC przez narratorów / CDN? HOT 5
- Boczny panel z zmianami na mapie HOT 5
- rawgit is dead HOT 2
- Błędne wyświetlanie nazwy klanu
- Wersja przeglądarki na jaką dodatek jest pisany HOT 6
- Brak zmian w NN_Start.js po stronie klienta HOT 1
- Niepoprawne działanie wczytywania nowej wersji HOT 1
- try{}catch(){} HOT 1
- Wyciekanie before() w test/npc_suite.js HOT 3
- Npce z za długą listą odpowiedzi nie mają suwaka do przewijania HOT 1
- Dodatek niepoprawnie parsuje i zapisuje wyrażenia HOT 18
- Dostęp jako maintainer HOT 6
- Zmiana formatu wersji HOT 6
- Zmiana interfejsu testów HOT 8
- Zmiany w NN_start należy przerzucić do dodatku ładowanego przy starcie HOT 1
- Togglowanie panelu poprzez klikanie na ikonę. HOT 1
- Add thunders and lightnings to weather HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nerthusaddon.