#Datamine Discussions

1 messages · Page 17 of 1

hard gorge
#

I don’t quite get the purposely lying part rather than knowing things are subject to change.

#

Also remembering Neon had a swimsuit shown long ago and thinking how weird it is giving SRs skins.

spice schooner
#

summer neon is an alt, not a skin

hard gorge
#

Ah sorry

spice schooner
#

its fine just letting you know

shy maple
hard gorge
#

Ah it was a dollar.

midnight folio
#

Neon and Mary are alters yes

#

Wavi SugarBamboozled

slate trellis
#

Poggies

#

Somebody please send help for me to push from 20 to 25

proven birch
#

Chapter 25 fuck off ShitUp wahahaha

#

I fucking hate campaign in this game lower the CP already

mild fiber
#

Bruh

sweet tusk
#

Shhh let him believe

whole mountain
autumn plover
#

red hood rapi ayooo

nimble shoal
#

Red hood rapi will happen eventually just probably not what was just posted lmao

torn karma
#

But wow, latest one is summer right after this event ? pepesweat

whole mountain
#

If they added the files then its soon ™️

spice schooner
#

im not sure wether to hate or love the trolling going on today

stuck cradle
#

The red hood misinformation?

spice schooner
#

yes

nimble shoal
#

Seems to be that way

compact swallow
#

man

#

meanwhile i was just hoping Maybe Mihara ssr would be leaked soon lol

#

seems thats not the case yet

nimble shoal
#

I'm sorry mihara lover

compact swallow
#

i dont mind waiting lol

#

more time for me to save tickets

nimble shoal
#

As a Pepper lover though I'm finally eating good

compact swallow
#

with Mihara im always eating good

orchid kite
#

Damn, turns out I was off about having 420 Golden Vouchers for Summer + Nikke collab. I actually have 510; ez prep-work

keen temple
#

I couldnt follow who reed is anymore

stuck cradle
keen temple
#

Inferno of Nihilist*

stuck cradle
#

He's reed

keen temple
#

yea
i had to search for reedlyx

#

so wheres the meme post?

stuck cradle
keen temple
#

I did

but im blind

zealous hazel
#

Keep scrolling

spice schooner
keen temple
spice schooner
#

Last one in datamine

#

(sorry for ping)
Or read from here

#

For some stupid reason on mobile it doesn't show the reply bar properly and can't turn off ping

slate trellis
crimson void
nimble shoal
#

When bla bla update leaks

eternal mist
#

Oh wow what a great day. Got my rosanna and just found out I’m not gonna have to spend a single ticket for red hood

eternal mist
spark cloak
#

Prolly just getting 1 copy of them with gacha

#

Then use mileage tix for pilgrims that are 1% pull rate

#

Pull 2% units with gacha and then save mileage for op pilgrims

harsh sparrow
obsidian fern
#

That Red Hood leak sounds super fake. Information 3 chapters ahead of where we are? free? and just buffed up existing Rapi's skills?

#

People are saying it is fake. Leaving it there just destroys credibility of the channel then. SuiseiRaisedEyebrow

zealous hazel
spice schooner
zealous hazel
#

Wasn't there a post about someone in Asia that translated it?

robust patio
#

the real question is why post on datamine after the troll has been revealed

#

its too late already, just cut the bullshit

zealous hazel
#

Too lazy to delete?

quartz sable
#

yeah when it was just a random bot post in this channel and people were believing it, that's fine, but the datamine channel has credibility and leaving a known fake up there is definitely hurting it

robust patio
whole mountain
#

is it possible that alts only for summer and winter, or will there be other one?

crude portal
#

Where Anis swimsuit

hearty jolt
#

oh yes the classic, lmao as if they'll give you free 5 star

whole mountain
hearty jolt
#

anyways if that rapi skin is real would it be free? cuz it's weird to spend 20 bucks for a skin of a unit you'll barely use

zealous hazel
#

Rapi skin?

harsh sparrow
zealous hazel
#

Nah, red hood gott be upgradeCopium

hearty jolt
zealous hazel
#

Ah, that one.

#

Ya, swimsuit likely permanent or something

scarlet schooner
#

the wording seems to be temporary

torn karma
#

That red hood thing is just a fake / joke kekw

torn karma
left hull
#

Soo redhood gonna be free after completing chpter 25 or liberation system?Doropression

sweet tusk
#

Chapter 25 then you gotta rate 5 stars on the app store

harsh sparrow
#

reading comprehension at a new low kek

sweet tusk
#

People can't read anything other then what's posted in the datamine channel

crimson void
#

damn some people still talk about it.

#

btw Red Hood free after ch25.

astral lava
#

Sure hope so, imagine needing to gacha roll one of your starter Nikke just for an upgrade

#

I still want an SSR Anis

placid spade
#

There’s 4 type of ppl here

  • The one read staticdata
  • The one extract from eb file and throw it to spineview
  • The discussion citizen
  • Leeches pretend to be messiah
daring gazelle
#

It would be delicious irony that we will never know if the shit red made up is actually true and shiftup has to change its plans in the last minute.

plucky cargo
#

You never know leak maybe true

crimson void
#

yo shiftup hit me up Pepe_clown

cedar spire
limber siren
#

Rapi getting a SSR version?

cedar spire
#

My god atleast back read once in a while

#

And no it's bait for leakers being a messiah

placid spade
#

Yeah, this is tatical bait on ppl pretend to be messiah

exotic rain
#

i just want to know the next banner

spark cloak
#

Summer event

#

Swimsuit neon/mary it seems

whole mountain
#

If you look at newest datamine post you can tell what comes next

rigid berry
#

Chapter 25 won’t be coming for a long time

twin owl
#

I thought Idda and Summer Neon had been leaked since launch, how come they're getting reposted in datamine, now?

cedar spire
#

Reconfirmation that they exist not being deleted concept I guess

stuck cradle
#

Summer Mary MarySmile

whole mountain
#

pepehmmm no more slacking im back

midnight folio
#

hi back

crimson star
#

Neon has a bit more tummy than I was expecting

keen temple
#

@crimson void

whole mountain
#

the best part

harsh sparrow
whole mountain
#

they just repost the "sauce" which is just a translated text

keen temple
#

dumbass chinese

dapper jay
#

I trust

whole mountain
#

pepehmmm just hope this was the last time

keen temple
#

Yall wanna make more fake leaks?

#

the probably leaks

harsh sparrow
#

weren't people already complaining that reed's little trole is still in #datamine earlier today

keen temple
#

good

harsh sparrow
#

lole

north panther
#

Make enough fake leaks to completely ruin this server’s “reputation” so leachers stop checking/reposting from here

whole mountain
#

not that it matters they post it anyways

coarse ivy
#

so summer neon is a mg = skip?

peak frost
#

I mean

#

Our girl is also mg

#

But is meta

#

So we need more info to predict whether skip or not

#

I mean it could even be free unit who knows

whole mountain
#

the Duals Round mags are for AR

exotic rain
#

why is idda being reposted?

spark cloak
#

Its not a repost

placid spade
#

It’s a repost

placid spade
keen temple
#

original Idda was the predecessor to Privaty

#

Old Idda

whole mountain
keen temple
#

Trailer from 4 years ago

#

back when you only control 1 Nikke

whole mountain
keen temple
#

then it became a 3 nikke control

whole mountain
#

i don't think shift up allows fan games, but i wished someone make beta fangame of nikke

#

i mean, other games did

zealous hazel
#

Idda's crouch piece still looks weird

#

Is that..metal panties with breathing holes?

merry shoal
digital cloud
#

probably reed trying to troll again

keen temple
whole mountain
#

Why idda looks like Marian?!

#

WTHack?!

hollow echo
whole mountain
#

Btw... RH is coming into chp 25...

#

Interesting

#

Also outpost upgrade confirm

tame stone
coarse patio
#

red hood is next?

harsh bison
#

No

whole mountain
#

@crimson void look what you have done its still going deadge

manic wave
#

Hey guys, have you heard about the free red hoo- FrogStab

stuck cradle
#

It's a prank bro

coarse ivy
#

is idda part of absolute?

torn karma
eternal ridge
#

why is it in the channel then?

#

checkmate atheists

whole mountain
#

For trolling purposes

stuck cradle
torn karma
wooden marten
#

i mean.. red hood DOES exist, but when we'll get it is unknown

pastel rover
#

Would be more interesting knowing who was the old Red Hood tbh

icy relic
#

oh wait lol idk if this has been talked about

slate trellis
#

I am the old red hood

grim herald
#

👀

#

i saw that purge

cedar spire
#

Got purged huh

whole mountain
green shadow
#

so Neon alt looks like MG, but what about Mary

whole mountain
green shadow
whole mountain
#

Well it is in our World but they classified a Thompsen smg as mg with rosanna

#

shrug so its possible they do the same with neon

icy relic
#

Pretty sure they game just goes by magazine size

#

Why y’all trying to bring real world logic

whole mountain
#

Because makes sense wahahaha the guns should sonewhat reflect that

icy relic
#

Yeah these battle androids with H cup boobs and high heels are cool, but a SMG with 400 bullets being called a machine gun is where I draw the line

whole mountain
#

GIGACHAD yes

#

I just dont want another MG unit

icy relic
#

Ye

torn karma
#

Neon is elysion?

whole mountain
#

Shiftup trying the best to fuck up and make a unit useless after giving it a cool design

icy relic
#

I just hope Mary is good

torn karma
#

Ahh ye elysion huh finally elysion unit again KEKW

icy relic
#

Mary being a B1 CDR units for shotgun teams

rustic tiger
grim herald
whole mountain
icy relic
sweet mesa
cedar spire
cedar spire
#

The gun still a god damn smg

devout willow
#

Oh there is thread here

devout willow
whole mountain
#

Who tf decided its 2b a2 kekw

#

Just because they the most famous ones?

tropic ledge
#

Reddit

whole mountain
#

Leddit

sweet tusk
#

Just because they're always the collab girls doesn't mean they can't surprise us maybe we won't even get a freebie

#

Are those portraits made by the granblue guy?

trim pecan
# devout willow

nikke collab we'll get Rapi crossdressed as 9S, 60, Kaine and Noah

#

becuase fuck 2B and A2, they're appeared too often as collab units

ivory wagon
#

Ez just slap 2a as free sr lol

sweet tusk
#

For automata they do have guns sort of their pods fire dinky bullets that don't do anything such as it is with every platinum game they could modify them to be real guns and the burst could be those program things like the spears bursting out of the ground

chrome sleet
#

ok hear me out...

#

Free Rapi pilgrim only after completing chap 25😭

#

don't fucking be another liberation unit

#

they can't ruin Red Hood like this

#

and she's a taunter? idk if this is bad or good now

chilly quiverBOT
#

your first mistake is listen to fb

chrome sleet
#

so you already think she's ruined huh

ashen pasture
#

Yes the info is very ruined

sweet tusk
#

It still continues to be funny

chrome sleet
#

nvm i checked the pins

#

pins with no red dot

spice schooner
sour spoke
#

Long barrels are for higher velocity and accuracy

bright sphinx
whole mountain
#

I know already

#

@stuck cradle

stuck cradle
#

Will you get it

whole mountain
stuck cradle
#

Ok

whole mountain
#

@stuck cradle Because I'm waiting is cool skin not like For Waifu's Skin, My favourite is high tech & futuristic styles or a little Relaxing style like Maxwell & Centi

stuck cradle
#

Maxwell skin

whole mountain
stuck cradle
#

F

whole mountain
#

Dolla skin very cool

#

I'm not rush for like NSFW, I'm rush for Futuristic & High tech

#

@stuck cradle I hope you understand me

wheat topaz
#

My wallet after seeing all the Summer units

whole mountain
#

so who's after rosanna

pastel rover
#

Caller ID rerun I think? Or was it Summer event?

torn karma
#

old datamine info is no caller id rerun

#

but the summer stuffs that keep coming seems to say otherwise

tardy bridge
#

Praying the rerun comes in first so I can save more

scarlet schooner
#

i already have 200 golden tickets + 67k gems stored

#

so yeah, im just waiting on limited or units that are game-changers

sweet tusk
#

So you're waiting for pilgrims?

sudden carbon
sweet mesa
whole mountain
harsh sparrow
#

then gib kaine

vagrant plinth
#

gib pascal

vernal yacht
#

Plebbit is pretty much neutered 4chan with bootlickers wanting updoot

daring gazelle
#

I think its fine to expect some repost as reed and others are phishing for those noisy leakers.

hazy river
#

Screw them

#

Death to leakers

vernal yacht
#

Red Hood has some outlandish part that can be instantly recognized as bogus if you scrutinize it for a second

#

Last time plebbit got owned that I can remember is during the FGO early days

#

Specifically, leaks for guaranteed SSR banner

#

the leaked pic was from 4chan and plastered all over with FUCK REDDIT watermark

#

And guess what? Retarded plebbitor ate the bait and posted it, getting humiliated as a result

placid spade
velvet berry
livid pagoda
#

first pepper, now even neon... what happened?

daring gazelle
acoustic shale
#

What do they mean “obtainable after ch 25” for rapi red hood

#

Is she gonna be like nihilister? She gonna be sent to jail and we have to do daily missions to get her

mild fiber
raven coyote
#

Was bait to troll the Facebook reposters I'm pretty sure

mild fiber
#

Lol. Im sure it affects everyone

#

Lol. Im sure it affects everyone

sweet tusk
#

It is bait

spice schooner
#

people when critical thinking required

whole mountain
#

have they been baited yet

#

holy discord is lagging

daring gazelle
#

The bait is pretty effective

whole mountain
onyx marlin
#

May i know what pinned thing people refer? I only saw somethimg about rule7

ivory wagon
onyx marlin
pastel rover
#

Mostly stuff related to either datamine discussion stuff or techniques related to datamining stuff in NIKKE I guess

#

Other type of banter belongs to the other chat, think of it as a General 2 lol

sand crown
#

Is the banner next to Rosanna still unknown atm? Heard its either No caller Id rerun or summer banners?

placid spade
#

Summer

sand crown
upper arch
#

Most likely double

placid spade
#

Double

#

And limited

#

Cuz why th not

torn karma
#

seeing there's summer neon and mary datamined already

#

the question is only either they release together like csm or 1 week apart like bunnies

#

probably 1 week apart

nova shadow
#

so do we know for sure if the red hood info is fake/wrong ?

torn karma
#

its 100% fake

#

the creator already said a while ago

nova shadow
#

thank you so much kuma thumbsupanis

whole mountain
#

Well, now I know what happened, bye then...

exotic rain
#

So if No Caller ID reruns, does it mean helm banner reruns?

thorn oyster
#

They are tied together so I would assume yes

whole mountain
#

There is no Rerun ....

midnight folio
#

another Sugar simp lost

whole mountain
#

even the KR Sheet removed it @digital cloud

digital cloud
#

quality ping

whole mountain
#

do we have the kits for the summer nikke?

harsh bison
#

no

whole mountain
#

thanks

spark cloak
whole mountain
#

One day its there then its not then its back

spark cloak
#

I dont have access anymore

whole mountain
#

How do they have access

spark cloak
#

Or well extrwmely intermittent if i do

#

If i knew i would have access x)

#

I think they found the download link to pc test client maybe

whole mountain
#

CC maybe

spark cloak
#

CC?

whole mountain
#

Content creator

spark cloak
#

No

whole mountain
#

Sone ganz they get early access

spark cloak
#

Nah

#

Test server needs a secret password to download content from it, the guy giving kr sheet dude his info found out how to get the password, probably by downloading the test server client since the pw would be embedded in that client

#

He lost access for a few weeks when they added the pw (just before csm patch)

#

But seems like he figured out a way in the last few weeks

#

I think i know where from hes getting it but i havent managed to find it there yet, but im also not super interested in finding it

whole mountain
spark cloak
#

I dont think he's adding english

#

Also i think he will prolly stop updating that sheet soon

whole mountain
#

Because of lost interest?

spark cloak
#

I think SU might actually take legal action against him

#

But hmm to be fair he's not the one who gains illegal access to their servers so maybe they wont get anywhere with it

#

He just publish the data that someone gives to him

whole mountain
#

Unlucky if that happens

#

Insider maybe

#

Time to apply for a job therewahahaha

spark cloak
#

Nah its a haxx0r im fairly sure

#

Otherwise datamining wouldn't have dried up when they first added the pw

#

Took like 2~3 months before he started getting test server stuff again

whole mountain
#

That long?

#

Didnt felt like it

stiff crag
#

Is this the same KR bro that got a warning from shiftup

whole mountain
#

The guy from here?

spark cloak
#

ye its the one kr bro thats always leaking

#

i dont think he's here

#

he doesnt speak much english so dunno

#

forgot his discord tag x)

spark cloak
#

isnt it like 3 months ago

#

they put pw on server 2 weeks before csm

torn karma
#

csm was feb iirc

spark cloak
#

and then someone got access to test server about 3-4 weeks ago i think

torn karma
#

if im not mistaken right after maids

spark cloak
#

so

#

maybe even more than 3 months then

#

there were some smaller leaks from a server that isnt technically test server once or twice between these 3-4 months tho

#

Jan 17th - test servers got password protected

#

then they added some additional protection in april as well

hazy river
#

So does this mean we wont be receiving datamined stuff

spark cloak
#

whoever is giving kr guy info has access to test servers again which is why we are getting datamined stuff again

quasi vortex
spark cloak
#

no idea if he will have it for a long time or not

#

¯_(ツ)_/¯

keen temple
#

Who's in charge of the Datamine Bot ?

#

I have something to share
DorothySmug DorothySmug

whole mountain
#

Depends

chilly quiverBOT
#

It’s from ||Deez nuts||

bold yacht
#

Wait so is Rapi replacing Nihilister in liberation?

pastel rover
#

my brother in Christ

#

💀

bright sphinx
whole mountain
stuck cradle
tulip onyx
#

right coz a game relying on gacha revenue will remove loyalty content

sudden carbon
tulip onyx
#

budget cut duh

placid spade
#

Ez Coredust, bruh

coarse patio
#

Who's the next nikke

#

Rerun scarlet?

spark cloak
#

summer

torn karma
#

how could there be rerun for scarlet when scarlet never has a banner thonking

sweet tusk
#

It's easy you just missed the first scarlet banner by not whaling during the first week of the game

whole mountain
keen temple
pastel rover
#

oh boi good times, remember when almost every F2P couldn't do that dogshit event? kekw

rigid berry
#

Y’all talking about caller event right

#

I couldn’t even complete hard mode final boss

pine vigil
#

hello guys, i'm new to datamine, I want to know where is the nikke voice and lobby live 2d files, i can't find them in eb

pastel rover
#

For lobby no fucking clue as I couldn't care less but Nikke voicelines should be on EB, did you decrypt everything beforehand or use the modded AssetStudio for it?

pine vigil
pastel rover
#

Inb4 it's just sound effects and some other shit in EB and I just forgot clueless

pine vigil
#

there's no voicelines

pastel rover
#

Sort by AudioClip or either check the other big ass folder containing other Unity assets in _data extension

pine vigil
#

ok

#

do I need to decrypt the asset files in nikke_Data folder?

#

or just open it with AssetStudio

#

I only found 6 audio files in there

placid spade
#

Did you set the game mute voice?

pine vigil
#

no

remote juniper
#

check the other folder

placid spade
#

Ngl, I have no strat, just download it directly

remote juniper
#

unimportant stuff are usually in the unity shared folder

#

but then burst skills are pretty important so i don't know why they put those in the unity shared folder

#

i don't remember where that other folder is but it's mentioned in the readme of my remove damage numbers mod

spark cloak
#

u can find lobby live2d here

#

not encrypted

pine vigil
spark cloak
#

you can also find them on your computer but they will just have the hash (the last part of the name) instead of the full name afaik

#

you can get the urls by intercepting packets the game sends

pine vigil
#

i see

#

do you know the hash files locations?

spark cloak
#

idk somewhere in appdata

pine vigil
#

ok

spark cloak
#

i dont mess with locale files

#

no point

#

theyre unnamed and contain loads of duplicates

#

better just download the files you need and open those instead of having to open 10k bundles and searching through them

pine vigil
#

i think it's here

pine vigil
spark cloak
#

u can find version_number when you launch the game

pine vigil
#

wait

#

oh wow that is official cloud server

#

i see

#

thx you, i know what you mean now

placid spade
#

Note that hash will update every event they caught kr bros leaking kekw

spark cloak
#

ah actually u cant find the complete info to generate the correct url in the loading screen

#

my bad

#

ba3d6cbbc5 this part is not shown in loading screen any more

#

=/

late gust
#

Lobby live2d usually is just the standing ver of the Nikke, unless you are wanting the lobby burst then thats a bit more complicated with the background and extra animations

spark cloak
#

its basically a snapshot of the burst animation most of the time

late gust
#

as for the lobby voice lines. Should be in com_proximabeta_NIKKE in Unity folder and usually each character has c###Lobby_Touch/Stay#

placid spade
#

Burst skill animation, just run spineview for burst skill then play idle mode

late gust
placid spade
#

Yeah, don't know how to combine fx :/

spark cloak
#

bg is usually included in character texture

#

fx is a hassle though yes

#

you need to modify spine viewer if u want to load fx

#

or make layers in ps or whatever

late gust
#

Im too dumb to try that

placid spade
#

Would sucks if you do with a blind one for fx

late gust
#

You almost got it tho right @placid spade

placid spade
#

No, I have no clue

#

I only know Fx files responsible for background

spark cloak
#

theres gonna be a metadata file for fx, similar to what .atlas is for the live2d files, which describes how/where fx should be placed

late gust
#

I feel like it would honestly just be easier to record the burst

spark cloak
#

sadly no easy way to get it unless reading packets or very familiar with dl server structure

#

u need to do a POST request to /v1/resourcehosts2 to get this url these days

late gust
#

Me just recopying and extracting all the assets everytime theres an update. Meanwhile yall doing this grab URL sourcery

pine vigil
#

the files looks like this

spark cloak
pine vigil
#

oh

#

i was trying https://cloud.nikke-kr.com/v1/resourcehosts2

spark cloak
#

post request to the login server /v1/resourcehosts2, login server tells you where the files to download are

#

then u add platform/versionnumber/catalog_core.json to that

#

but theres a few other catalog files as well

#

the files in datapack catalogs are usually encrypted afaik

#

maybe sound isnt?

#

replace .hash with .json

#

but ye if youre planning to do stuff with the files every update its imho worth learning how to grab them from the server instead of from game files but eh both methods work

pine vigil
#

idk where is my response url

late gust
spark cloak
#

what language

pine vigil
placid spade
#

Man went from how to access to try to create extraction code

pine vigil
spark cloak
#
async function GetResourceHost(server) {
      let url;
      let res = await fetch(`${server}v1/staticdatapack`, {
      method: "POST",
      headers: {
        "Accept": "application/octet-stream+protobuf",
        "Content-Type": "application/octet-stream+protobuf",
        "Accept-Encoding": "gzip, deflate"
      },
      body: "",
    }).then((res) => {
      url = res.arrayBuffer()
    }
    return url
}
#

note the response is protobuf though so ye

pine vigil
#

ah

spark cloak
#

you need to actually get the data from the response

#

Request.arrayBuffer() / Response.arrayBuffer()
Request.blob() / Response.blob()
Request.formData() / Response.formData()
Request.json() / Response.json()
Request.text() / Response.text()

#

u can prolly try res.text() instead of res.arrayBuffer()

pine vigil
#

i get it

#

thx

spark cloak
#

they may or may not implement the need for auth key soon though

#

this is hardcoded in client but for now not required on normal servers

#
async function GetResourceHost(server, token) {
      let url;
      let res = await fetch(`${server}v1/staticdatapack`, {
      method: "POST",
      headers: {
        "Accept": "application/octet-stream+protobuf",
        "Content-Type": "application/octet-stream+protobuf",
        "Accept-Encoding": "gzip, deflate"
        "Authorization": `Bearer ${token}`,
      },
      body: "",
    }).then((res) => {
      url = res.arrayBuffer()
    }
    return url
}

feel free to @ me for token if its ever needed

pine vigil
#

i wrote a node script for the urls

const { createWriteStream } = require('fs')

const version = '107.6.6L'
const server = 'https://global-lobby.nikke-kr.com'

async function getResouceHost() {
  let url
  await fetch(`${server}/v1/resourcehosts2`, {
    method: 'POST',
    headers: {
      Accept: 'application/octet-stream+protobuf',
      'Content-Type': 'application/octet-stream+protobuf',
      'Accept-Encoding': 'gzip, deflate',
    },
    body: '',
  }).then(async (res) => {
    url = await res.text()
  })

  return url.replace('{Platform}', 'StandaloneWindows64').replace(';', '')
}

async function getCatalog(resourceHost) {
  const res = await fetch(`${resourceHost}/core/${version}/catalog_core.json`)
  return await res.json()
}

function saveCatalogAssetsUrls(resourceHost, catalog) {
  const internalIds = catalog['m_InternalIds']
  const urls = internalIds
    .filter((url) => url.includes('{NK.Addressable.HostConst.HostCoreLoadURL}'))
    .map((url) => {
      return new URL(
        url.replace('{NK.Addressable.HostConst.HostCoreLoadURL}', `${resourceHost}/core/${version}`)
      ).href
    })

  const file = createWriteStream(`catalog_core_${version}.txt`)

  urls.forEach((url) => {
    file.write(`${url}\n`)
  })

  file.end()
}

async function main() {
  const resourceHost = await getResouceHost()
  const catalog = await getCatalog(resourceHost)
  await saveCatalogAssetsUrls(resourceHost, catalog)
}

main()
#

it's will save the urls to catalog_core_{version}.txt

pine vigil
pine vigil
#

btw not "some", it's a lots of errors

#

I was trying to drag the Unity\com_proximabeta_NIKKE folder to AssetStudio

late gust
#

Hmm, never got this error. Have you downloaded everything required for AssetStudio. Like .NET

pine vigil
#

I think so, because there's no error when I open the eb folder

late gust
#

Ok, try to load the folder again and if that doesnt work then see which net you got for Assetstudio. zip file shouldve been like AssetStudio.net5.v0.16.47.zip

pine vigil
#

i'm using net6

#

going to try net5

late gust
placid spade
#

I dunno, I just run costra's assetstudio

#

It has built in NKAB decryption tool

placid spade
pine vigil
#

I thought I was installed

#

cuz I had wrote some c# before

#

let me try it again

placid spade
#

Prob install those first

pine vigil
#

ok that's the problem

#

sorry i'm stupid

late gust
#

sweet, glad that was the fix

placid spade
#

So for short, you don't have minimum requirement

pine vigil
#

I thought the assets need to open in other way

#

Cuz the assetstudio was working fine when I open the eb folder

placid spade
#

Oh, you don't choose asset lists wahahaha

pine vigil
pine vigil
#

got an error while exporting

azure horizon
#

who needs fx for burst tbh, this is good enough

placid spade
#

Ah yes, screw the l2d

pastel rover
spark cloak
trim pecan
daring gazelle
whole mountain
pine vigil
#

the guide said it needs a json file

placid spade
#

You download the installer first

#

@pine vigil

pine vigil
placid spade
#

Although that thing is optional because trial mode doesn't let you export the result

pine vigil
#

i just wanna display the live 2d in web site

placid spade
pine vigil
#

oh god js

placid spade
#

Run this, same program as spin eso spine-web-player as easier to customize

placid spade
pine vigil
#

i'm using react + ts

placid spade
#

Uhh, there's spinewpf

pine vigil
#

and i'm building a website with next.js

#

there's no d.ts file for the type

#

looks like I have to code it by my self

placid spade
#

We mostly grab the library

#

Honestly, if you want to make a website for yourself, just download the 4.1 library from spine-web-player

pine vigil
#

the latest is 4.2.14

#

does the model require 4.1?

placid spade
#

Model only run 4.1

#

So far

pine vigil
#

ok

pine vigil
#

looks like I just need to pass the .skel to binaryUrl

#

and .atlas to atlasUrl

whole mountain
#

maybe we found the guy the reverse engineer the server for datamine stuff

placid spade
#

Nope, that just new person learn how to do a l2d visualizer kekw

pine vigil
#

yeah

whole mountain
#

Any new updates on the datamine?

#

I am still waiting for my Halloween nikkes

pine vigil
#

the types looks correct now

placid spade
#

Skel, atlas and png file in same folder are your condition

#

It will search it for you

pine vigil
#

ok

whole mountain
#

Lorax, still no datamine updates about Halloween?

#

We already get datamine for summer

#

And it might change for the final version

placid spade
#

You think test server would put this far?

whole mountain
#

Idk, maybe?
I never join test servers

pine vigil
#

do you know what error is this?

#

my spine player version is 4.1.31

placid spade
#

Lemme run assetstudio to check

#

Oh, nvm, can you put the skel file to here for me to check?

pine vigil
#

i just grab the file from nikke-db kekw for test

#

it's also show the full error message in spine-player

placid spade
#

Ok, how about the bundle file contain it kekw

#

Wierd, it said it run 4.1 here

pine vigil
#

hmmm

#

let me grab the files from bundle file

#

lol it's works now

pine vigil
#

cuz I saw niike-db using 2 version of the spine-player

placid spade
#

Yeah, all the skel currently sync to 4.1

pine vigil
#

ok

#

thx you so much

placid spade
#

The owner don't want to download new spine data for files are stucked at 4.0

pine vigil
#

i see

placid spade
#

Also it's for modding

velvet berry
#

Next banner is rerun right?

stuck cradle
#

It's either summer event or no caller id rerun

#

Who knows

torn karma
spark cloak
pine vigil
spark cloak
#

thats player not webgl

#

but if u dont want to do any fancy stuff the player is fine

pine vigil
#

fancy stuff ?

spark cloak
#

or eh player not too limited, just the docs are limited as hell i guess

pine vigil
#

what can I do with webgl

spark cloak
#

i think u cant load several models and ui is a bit more limiting unless you just remove it but then theres no point in using the player to begin with

pine vigil
spark cloak
#

can do stuff like this with webgl instead of player

pine vigil
#

yeah

#

i was trying to add zoom-in in player

#

and I found a lots of problems

spark cloak
#

u can do zoom in with player as well but its not documented

pine vigil
#

i can't get the canvas context

spark cloak
#

u need to add CameraController

#

yeah its tricky with nextjs

pine vigil
#

where is the webgl version docs?

spark cloak
#

there are none

pine vigil
#

...

#

oh i found the example

spark cloak
#
new spine.CameraController(canvas.htmlCanvas, canvas.renderer.camera); 
#

but yeah u need access to canvas for it

pine vigil
spark cloak
#

yeah they just have the demos

#

but its hard to break it out for use in nextjs

#

or well not that hard but

pine vigil
spark cloak
#

u need to pass in ur own skin list or just remove that part

#

slightly edited version of spine-webgl 4.1 for nextjs app dir

#

with camera controller, recording & drag and drop

#

prolly remove generateMetadata in page.jsx as well

pine vigil
#

thx you so much, i'm gonna turn this to tsx version

spark cloak
pine vigil
#

is possible to get these data from the bundle files?

spark cloak
#

generate from staticdata

#

not bundle

#
import CharacterTable from './staticdata/CharacterTable.json' assert { type: 'json' };
import CharacterCostumeTable from './staticdata/CharacterCostumeTable.json' assert { type: 'json' };

...code to parse it...
pine vigil
#

is the json come from bundle files?

spark cloak
#

no

pine vigil
#

hmm

spark cloak
#

staticdata

pine vigil
#

idk what is that

spark cloak
#

theres no public tool to decrypt but this repo uploads decrypted files

pine vigil
#

what if the repo is get ban

spark cloak
#

can @ me or wait for someone else to put up a new one i guess

pine vigil
#

lol

spark cloak
#

dont think method to decrypt them will be made public

#

at least i dont think its ever been public since game launch

#

uhh sometimes u can find decrypted staticdata in game files

#

but its not with every version

#

unzip the .apk and search for "staticdata" and u will find a decrypted one

#

but i think its not always up to date

#

dunno

#

also dunno what the point of encrypting it is if they also sometimes leave a decrypted one in game files kek

pine vigil
#

is that also in staticdata?

#

the locale files

spark cloak
#

catalog_core

#

localization-string-tables-shared-remote_assets_all.bundle
localization-string-tables-remote-english(en)_assets_all.bundle

pine vigil
#

thx you

spark cloak
#

once again u kinda need to parse them tho

#

localization-string-tables-shared-remote_assets_all.bundle contains variable names and ids
localization-string-tables-remote-english(en)_assets_all.bundle contains variable text and ids

#

so need to match ids from both files so you can generate a file with variable name + text

#

.py

import json
import codecs

tfiles = open('files.txt').read().splitlines()

for tfile in tfiles:
    merged = {}
    f1 = json.load(open(tfile + '_en.json', encoding="utf-8"))
    f2 = json.load(open(tfile+' Shared Data.json', encoding="utf-8"))

    table_data = {
      data["m_Id"]: data
      for data in f1["m_TableData"]
    }
    entries = {
      entry["m_Id"]: entry
      for entry in f2["m_Entries"]
    }
    print(table_data)
    merged = {}
    for key, data in table_data.items():
      if key in entries:
        entry = entries[key]
        merged[entry["m_Key"]] = data["m_Localized"]

    jsonified = json.dumps(merged, indent=4, ensure_ascii=False)
    with open('output/'+tfile+'_en.json', mode='w', encoding="utf8") as outfile:
        outfile.write(jsonified)
    print(tfile + " parsed")
print("done")
#

prolly better do it in node tho

#

python cancer for handling json

pine vigil
#

thx, I will try to play around with that

pine vigil
#

i'm trying to re-write the code and I got an error when I loading the skeleton

#

and the path is correct

spark cloak
#

do u have the assets in /public folder

pine vigil
#

yes

#

i can also use it with the spine-player

spark cloak
#

hmm

#

honestly there shouldnt be such an error even if the asset doesnt exist

#

the error would be client side not server side

pine vigil
#

that is client side error

spark cloak
#

hm

#

well what happens if u navigate to the url

pine vigil
#

paths are the same

spark cloak
#

iunno try the spine-webgl.js i included

#

maybe its a version difference

pine vigil
#

is possible to make zooming with spine-player?

spark cloak
#

also youre gonna need to initialize skeleton, animationState and lastFrame earlier

#

yes just add cameracontroller

pine vigil
spark cloak
#
new spine.CameraController(canvas.htmlCanvas, canvas.renderer.camera); 
#

¯_(ツ)_/¯

pine vigil
#

the camera only exist on webgl canvas

spark cloak
#

no

pine vigil
#

oh wait

spark cloak
pine vigil
#

is sceneRenderer?

#

i mean the camera object

#

i think is on the sceneRenderer

spark cloak
#

its on renderer

#
  var SpineCanvas = class {
    constructor(canvas, config) {
      this.time = new TimeKeeper();
      if (config.pathPrefix === void 0)
        config.pathPrefix = "";
      if (config.app === void 0)
        config.app = {
          loadAssets: () => {
          },
          initialize: () => {
          },
          update: () => {
          },
          render: () => {
          },
          error: () => {
          }
        };
      if (config.webglConfig === void 0)
        config.webglConfig = { alpha: true };
      this.htmlCanvas = canvas;
      this.context = new ManagedWebGLRenderingContext(canvas, config.webglConfig);
      this.renderer = new SceneRenderer(canvas, this.context);
....
#

SpineCanvas.renderer

#
canvas = new spine.SpineCanvas(document.getElementById("canvas"), { ... }
canvas.renderer.camera
pine vigil
#

yeah but there's no SpinePlayer.renderer

#

so i'm trying to do this

new CameraController(spinePlayer.canvas, spinePlayer.sceneRenderer.camera)
spark cloak
#

¯_(ツ)_/¯

#

add it urself to spineplayer

pine vigil
#

no error and not working :3

spark cloak
#
  // spine-player/src/Player.ts
...
      try {
        this.canvas = findWithClass(dom, "spine-player-canvas");
        this.context = new ManagedWebGLRenderingContext(this.canvas, { alpha: config.alpha, preserveDrawingBuffer: config.preserveDrawingBuffer });
        this.renderer = new SceneRenderer(canvas, this.context); //add this
...
#

actually nvm

#

u already have

#

this.sceneRenderer = new SceneRenderer(this.canvas, this.context, true); on the next line

#

hm

pine vigil
spark cloak
#

¯_(ツ)_/¯

#

use spine-webgl

pine vigil
pine vigil
spark cloak
#

i sent earlier

pine vigil
spark cloak
#

i think u didnt load the asset before requiring it

pine vigil
#

here is my code

#

I call loadAssets first and then loadSkeleton

spark cloak
#

youre not loading the loaded asset, youre loading skelPath

#

hm no

#

uh

pine vigil
#

i think this is the same

spark cloak
#

try adding the waitforassets thing in ur useeffect

pine vigil
#

ok

spark cloak
#

hmm

#

not sure why really

#

oh

#
  function loadAssets() {
    if (!spineCanvasRef.current) return
    const assetManager = spineCanvasRef.current.assetManager    //?

    assetManager.loadBinary(skelPath)
    assetManager.loadTextureAtlas(atlasPath)
pine vigil
#

?

#

the code is too long so I make a new variable

spark cloak
#

ah nvm thats what you named your canvas hm

#

not 100% sure about js but maybe the reference to assetManager becomes disjoined or something between your two functions

pine vigil
#

nah

spark cloak
#

not rly sure

#

copypaste old code and then modify until error

#

x)

pine vigil
#

btw why you load skeleton again in initialize ? ( I saw you load skeleton in loadAssets and initialize

pastel rover
#

Are physical devices for dumping the game's il2cpp a must requirement? Found myself in a way where some emus don't work with Magisk Zygisk ill2cppdumper and want to try it around with an Android device I have around. Mostly interested on doing this to learn how to reverse engineer the methodology for decrypting staticdata Prayge

spark cloak
#

dump from memory with gameguardian

#

same method will work with android nikke

spark cloak
pastel rover
#

I also found some problems I had with my LDPlayer installation being finicky with NIKKE especially, perhaps that's one of the problems I had while trying to dump with GG

spark cloak
#

if u want to lose some flexibility you can just use the method they use in their spine-ts webgl examples

#

didnt try it in forever so dunno if it still work but just drop it in the webgl example folder of spine-ts

#

but u will lose some flexibility if u go that way

#

id just go from the original code i sent, remove all the select boxes and hardcode one of the skins

#

and then remove stuff until u run into the error

#

also if u didnt already try using my spine-webgl instead of importing the official package that might be the problem

#

my spine-webgl is slightly different from the official package

pine vigil
#

i added the waitForAssets stuff in useEffect

pine vigil
spark cloak
#

not sure if i just tweaked cameracontroller or did something more in it

pine vigil
spark cloak
#

ah

#

I think i actually edit the asset loader

pine vigil
spark cloak
#

Try the spine-webgl i included to make sure

#

If i edit the asset loader then the edited code will be at the bottom of spine-webgl.js

#

I think i made a change for alpha to be correct as well

spark cloak
#

lul

#

idk try the complete code and then work that towards what you have now then

#

yeh i checked diff and no changes to assetloader nvm

#

just alpha and camera changes

pine vigil
#

it's working

spark cloak
#

now remove shit until it isnt

#

x)

pine vigil
zealous hazel
#

We need cecil to turn into a nikkeAliceWoke

pine vigil
#

it's also working with original version

spark cloak
#

gg

#

should have just removed the dist folder maybe

#

just nextjs things

pine vigil
#

but yeah

#

u change the camera stuff

#

so the zoom-in will be slower

spark cloak
#

the zooming is either way too fast or way too slow i forget

#

yeah

#

no way to change it except edit the source

#

kinda pepega

#

also the zooming out is pepega until u invert it

#

idk why it zooms out in the wrong direction

#

instead of moving towards the center it moves away from the center

#

oh well time to stop procrastinating

#

lmk if u rewrite it to ts

pine vigil
#

lol

#

i have on idea what's is wrong, but it's works now

#

and there's no need to load skeleton again in initialize

spark cloak
#

aye i think it was just from me trying to make stuff work

#

took quite a while for me to move everything out from the "App" class

#

theres a lot of stuff all over the place

pine vigil
#

is possible to change the zooming value in the api ?

spark cloak
#

no

pine vigil
#

i don't wanna touch the dist file

spark cloak
#

could maybe add it and try to get it included in official repo

#

3 years later

#

maybe its possible to resize the skeleton as a workaround

#

no clue

pine vigil
spark cloak
#

wdym

pine vigil
#

i found this

spark cloak
#

check the cameracontroller instead

#
  var CameraController = class {
    constructor(canvas, camera) {
      this.canvas = canvas;
      this.camera = camera;
      let cameraX = 0, cameraY = 0, cameraZoom = 0;
      let mouseX = 0, mouseY = 0;
      let lastX = 0, lastY = 0;
      let initialZoom = 0;
      new Input(canvas).addListener({
        down: (x, y) => {
          cameraX = camera.position.x;
          cameraY = camera.position.y;
          mouseX = lastX = x;
          mouseY = lastY = y;
          initialZoom = camera.zoom;
        },
        dragged: (x, y) => {
          let deltaX = x - mouseX;
          let deltaY = y - mouseY;
          let originWorld = camera.screenToWorld(new Vector3(0, 0), canvas.clientWidth, canvas.clientHeight);
          let deltaWorld = camera.screenToWorld(new Vector3(deltaX, deltaY), canvas.clientWidth, canvas.clientHeight).sub(originWorld);
          camera.position.set(cameraX - deltaWorld.x, cameraY - deltaWorld.y, 0);
          camera.update();
          lastX = x;
          lastY = y;
        },
        wheel: (delta) => {
          let zoomAmount = delta / 600 * camera.zoom;
...
#
      let mouseWheel = (e) => {
        e.preventDefault();
        let deltaY = e.deltaY;
        if (e.deltaMode == WheelEvent.DOM_DELTA_LINE)
          deltaY *= 8;
        if (e.deltaMode == WheelEvent.DOM_DELTA_PAGE)
          deltaY *= 24;
        this.listeners.map((listener) => {
          if (listener.wheel)
            listener.wheel(e.deltaY);
        });
      };
#

maybe you can hijack it

pine vigil
#

zzz

#

i'm gonnna fork the repo

#

and republish it to npm

spark cloak
#

make ur own listener and send ur own deltaY

const syntheticEvent = new WheelEvent("syntheticWheel", {
  deltaY: whatever,
  deltaMode: 0,
});

kek

#

not sure if u can override the listener in spine or not

pine vigil
#

nah

#

the listener can't overwirte

spark cloak
#

aye

pine vigil
#

but it's can have mutilple listener

#

so no work

spark cloak
#

maybe u can make an offset

#

const syntheticEvent = new WheelEvent("syntheticWheel", {
deltaY: -(e.deltaY/2),
deltaMode: 0,
});

#

but yeahhh

#

lmao

#

would prolly work poorly

#

most likely glitchy jumping when zooming

pine vigil
#

I’m going to republish my own versions

#

instead copy the dist files

spark cloak
#

sounds like a lot more work than just editing a single line

#

most likely you will not even need to ever update the version

#

cuz u need same spine version as the game runs anyway

pine vigil
#

i make a option for it

#

@spark cloak

spark cloak
#

gj

#

sadly touchpad scrolling will probably be quite slow after the change

#

but its not too bad

pine vigil
spark cloak
#

interesting, havent seen that before

#

object?.whatever?.lol ?? defaultValue

#

damn

#

ive always used the shittiest conditional statements instead

pine vigil
#

this value inputOptions?.wheel?.zoomingOffset is possibley undefined

spark cloak
#

ye

#

ik

#

i didnt know u could do that tho

pine vigil
#

and the ?? means if left is undefind will use right value

spark cloak
#

have written shitty conditional statements whenever i dont know if some nested object is defined or not

spark cloak
#

what does the ? in inputOptions?.wheel?.zoomingOffset do

#

to protect in case inputoptions is undefined?

#

so u dont get "inputOptions is undefined" error?

pine vigil
#

that is optional chaining

#

so u won't get error

spark cloak
#

aye

#

cool

pine vigil
#

when you access the undefined property

spark cloak
#

yup exactly what i thought

spark cloak
#

x)

#

i will make use of this

#

neat

pine vigil
spark cloak
#

look at this kekw shit

const featuredMedia = article['_embedded']['wp:featuredmedia'] ? article['_embedded']['wp:featuredmedia'][0].source_url : process.env.DEFAULTOGIMAGE
pine vigil
spark cloak
#

would be something like

const featuredMedia = article['_embedded']['wp:featuredmedia']?[0].source_url ?? process.env.DEFAULTOGIMAGE

right?

pine vigil
#
article['_embedded']['wp:featuredmedia']?.[0].source_url ?? process.env.DEFAULTOGIMAGE
spark cloak
#

. before bracket?

#

aite

#

tyty

pine vigil
spark cloak
#

ah right

#

cool cool

pine vigil
spark cloak
#

ran into this issue a few times in the past lel

#

didnt know there was a good solution for it

pine vigil
#

done

#

here is my tsx version

pine vigil
# pine vigil

I will add more UI in my website, that's only the webgl part

harsh maple
#

@surreal egret its prolly the Summer Mary alt

#

that u are seeing

surreal egret
#

Yes

#

Summer mary hot

#

Summer pepper too