For Neopets ONLY discussion.
Topic locked

mapping the repository

Thu Oct 27, 2005 10:24 am

I'm hoping that mapping the repository will reveal a pattern of some sort in the scrolls. But that job is just too huge to do by hand. I made a utility that extracts the scroll information directly from the html code. If you choose to use this, follow these steps:

1. The last part of this post is 3 files. Cut and paste from here to a word processor, saving the 3 files as plain text with the names indicated.

2. place all 3 files in a new folder.

3. run (by double clicking) mapasm.bat - this will create the file mapper.com from the file map.asm

4. now the long part. go to the scroll repository and look at a scroll rack

5. click file then save as. Change the file name, and set the file type to web page - html only. save the file to the same folder as the previous files

6. repeat step 5 for each scroll rack on ONE level. the html doesn't indicate which floor of the repository you are on, so map one floor at a time.

7. after saving all the racks from the floor, run map.bat. this will create a file called map.csv which can be opened with excel, quattro or even a word processor. the file will look something like this:
...
8,8,4,3,b,b,ra
8,8,4,4,b,r,kha
8,8,4,5,d,r,djo
8,9,1,1,d,p,tep
8,9,1,2,e,g,ahn
8,9,1,3,e,w,ra
8,9,1,4,b,o,tep
...

the information here is the row, column of the scroll rack
then the shelf, position of the scroll
the first letter is the scroll type
the second letter is the scroll color
last is the symbol name

8. change map.csv to a new name (i.e. level1.csv)

9. repeat steps 4 - 8 for the other floors in the repository

I hope this speeds things up for those of us mapping

----------------Cut Here mapasm.bat----------
type map.asm|debug>nul
----------------End File mapasm.bat------------

----------------Cut Here map.asm--------------
a 100
push cs
pop ds
push cs
pop es
<-check
mov ah,b
int 21
cmp al,ff
jnz 104
(check)
<-get next line
mov ax,302
mov [300],ax
<-check input
mov ah,0b
int 21
cmp al,00
jnz 11e
(not eof)
mov ah,0
int 21
<-not eof
mov ah,7
int 21
mov bx,[300]
cmp al,0a
jz 137
(done input)
cmp al,0d
jz 137
(done input)
mov [bx],al
inc bx
mov [300],bx
jmp 112
(check input)
<-done input
mov cx,[300]
mov di,302
mov si,302
mov bx,250
(a$)
mov dx,14
call 1c2
(sub find)
<-next scroll
mov bx,264
(b$)
mov dx,a
call 1c2
(sub find)
<-next num row
lodsb
cmp al,26
jz 160
(nonnum1)
mov dl,al
mov ah,2
int 21
jmp 153
(next num row)
<-nonnum1
mov dl,2c
mov ah,2
int 21
add si,a
<-next num col
lodsb
cmp al,26
jz 176
(nonnum2)
mov dl,al
mov ah,2
int 21
jmp 169
(next num col)
<-nonnum2
mov dl,2c
mov ah,2
int 21
add si,9
lodsb
mov ah,2
mov dl,al
int 21
mov dl,2c
int 21
add si,a
lodsb
mov dl,al
int 21
mov dl,2c
int 21
add si,3d
lodsb
mov dl,al
mov ah,2
int 21
mov dl,2c
int 21
lodsb
mov dl,al
int 21
mov dl,2c
int 21
<-next rune char
lodsb
cmp al,2e
jz 1b8
(rune end)
mov dl,al
int 21
jmp 1ad
(next rune char)
<-rune end
mov dl,0d
int 21
mov dl,0a
int 21
jmp 14a
(next scroll)
<-sub find - bx=address of string to find dx=length of string ds:si=buffer to search ds:cx=end of buffer
push bx
add dx,bx
<-reset search
pop bx
push bx
<-next char
cmp cx,si
jle 1d5
(exit sub find)
lodsb
cmp al,[bx]
jnz 1c5
(reset search)
inc bx
cmp bx,dx
jl 1c7
(next char)
<-exit sub find
pop bx
cmp si,cx
jl 1df
(end sub find)
pop cx
mov cx,10c
(get next line)
push cx
<-end sub find
ret


a 250
<-a$
db "<B>Scroll Repository"
<-b$
db "click_row="

f 300 3000 00
rcx
2f00
n mapper.com
w
q
-------------------end file map.asm------------

----------------Cut Here map.bat---------------
if exist map.csv del map.csv
for %%1 in (*.htm) do type %%1|mapper.com>>map.csv
for %%1 in (*.html) do type %%1|mapper.com>>map.csv
----------------End File map.bat----------------

Thu Oct 27, 2005 11:11 am

The Lost Desert plot is currently being discussed here. :)
Topic locked