Author Id: 27699 Author Name: Jonouchi~ Post Content: Hola a todos, espero que esteis bien. Hoy os traigo un tutorial algo corto y que seguramente, la mayoría de los Scripters sabe hacer, pero nunca está de más para los que están aprendiendo recién. Y lo que voy a enseñar hoy es Como transladar Scripts de una Rom a otra sin sobreescribir ningún offset, y así no destruir la Rom. ¿Pero para que enseñar algo así? Pues verán, algunas veces, cuando tenemos un grupo de hacking, las tareas (Por decirlo de alguna manera) se retrasan. Con esto me refiero a que dos miembros del grupo están trabajando en fases completamente distintas de la Rom (Por ejemplo, cuando una tiene chorrón de midis y tiles, pero la otra solo tiene los scripts que hace el scripter), y pues, el pasar la rom otra vez al scripter para transladarlos tarda un poco y se presentan problemas a la hora de Hackear. Otro caso es cuando haces avances en tu Rom y por alguna extraña razón, los cambios (Ya sean tiles, mapas, etc) hacen que tus scripts se destruyan (A mi me ha pasado numerosas veces). Pues bien, para eso hago este tutorial. Empecemos.... Realmente, es bastante sencillo, también os daré muestras gráficas del procedimiento, estos son los pasos a seguir: 1) Abrid vuestra Rom a la que quereis trasladar los Scripts 2) Hacen el paso que la mayoría hace a la hora de elaborar Scripts: [QUOTE]#dynamic 0x800000 (O en caso de que haya muchos datos en la rom, 900000) #org @inicio[/QUOTE] 3) Abrid la rom donde está el Script que quereis trasladar, y abres el Script. Por ejemplo, este es mi Script: [SPOILER="Script Cualquiera"][QUOTE]'--------------- #org 0x80CD3E checkflag 0x517 if 0x1 goto 0x880CD3E lockall pause 0x20 applymovement 0x4 0x880CF52 waitmovement 0x4 textcolor 0x0 msgbox 0x880CDB6 MSG_NORMAL '"???: Em, ¡Oye! ¿Puedes venir un\nm..." applymovement MOVE_PLAYER 0x880CF56 waitmovement 0xFF textcolor 0x0 msgbox 0x880CDE2 MSG_NORMAL '"???: Hola, ¿sabes donde está el\nL..." applymovement 0x4 0x880CF5E waitmovement 0x4 playsong 0x14C 0x0 pause 0x20 applymovement MOVE_PLAYER 0x880CF65 applymovement 0x4 0x880CF90 waitmovement 0x0 sound 0x9 setdooropened 0x25 0x6 doorchange pause 0x20 applymovement MOVE_PLAYER 0x880CFBA waitmovement 0xFF warp 0x4 0x3 0x0 0x6 0xC release end '--------- ' Strings '--------- #org 0x80CDB6 = ???: Em, ¡Oye! ¿Puedes venir un\nmomento?. #org 0x80CDE2 = ???: Hola, ¿sabes donde está el\nLABORATORIO del PROF. OAK?\pEs que lo he andado buscando pero\ncreo que en CIUDAD VERDE no está.\p¡Ah se me olvidaba presentarme!.\p¡Yo soy DANIEL, nieto del PROF.\nOAK, vengo de JOHTO por\lvacaciones!.\pY tu eres...\p...\p¡Asi que te llamas [player], un\ngusto!.\p...\p¿En serio me acompañarás al\nLABORATORIO?\p¡Muchas gracias, pues vale, yo te\nsigo!. '----------- ' Movements '----------- #org 0x80CF52 #raw 0x2 'Face Left #raw 0x62 'Exclamation Mark (!) #raw 0xFE 'End of Movements #org 0x80CF56 #raw 0x13 'Step Right (Normal) #raw 0x10 'Step Down (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0xFE 'End of Movements #org 0x80CF5E #raw 0x10 'Step Down (Normal) #raw 0x12 'Step Left (Normal) #raw 0x12 'Step Left (Normal) #raw 0x11 'Step Up (Normal) #raw 0x3 'Face Right #raw 0xFE 'End of Movements #org 0x80CF65 #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0xFE 'End of Movements #org 0x80CF90 #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0xFE 'End of Movements #org 0x80CFBA #raw 0x11 'Step Up (Normal) #raw 0x60 'Hide #raw 0xFE 'End of Movements[/QUOTE][/SPOILER] 4) Ahora es tan fácil como copiar lo que está debajo de "#org 0x80CD3E" y pegarlo en la base del Script creado anteriormente (El del paso #2) OJO: En algunas ocasiones se necesita convertir los offsets en punteros (En caso de que esos offsets ya estén ocupados en cambios). Os quedará algo como esto: [SPOILER="Resultado"][QUOTE]#dynamic 0x800000 #org @inicio checkflag 0x517 if 0x1 goto 0x880CD3E lockall pause 0x20 applymovement 0x4 0x880CF52 waitmovement 0x4 textcolor 0x0 msgbox 0x880CDB6 MSG_NORMAL '"???: Em, ¡Oye! ¿Puedes venir un\nm..." applymovement MOVE_PLAYER 0x880CF56 waitmovement 0xFF textcolor 0x0 msgbox 0x880CDE2 MSG_NORMAL '"???: Hola, ¿sabes donde está el\nL..." applymovement 0x4 0x880CF5E waitmovement 0x4 playsong 0x14C 0x0 pause 0x20 applymovement MOVE_PLAYER 0x880CF65 applymovement 0x4 0x880CF90 waitmovement 0x0 sound 0x9 setdooropened 0x25 0x6 doorchange pause 0x20 applymovement MOVE_PLAYER 0x880CFBA waitmovement 0xFF warp 0x4 0x3 0x0 0x6 0xC release end '--------- ' Strings '--------- #org 0x80CDB6 = ???: Em, ¡Oye! ¿Puedes venir un\nmomento?. #org 0x80CDE2 = ???: Hola, ¿sabes donde está el\nLABORATORIO del PROF. OAK?\pEs que lo he andado buscando pero\ncreo que en CIUDAD VERDE no está.\p¡Ah se me olvidaba presentarme!.\p¡Yo soy DANIEL, nieto del PROF.\nOAK, vengo de JOHTO por\lvacaciones!.\pY tu eres...\p...\p¡Asi que te llamas [player], un\ngusto!.\p...\p¿En serio me acompañarás al\nLABORATORIO?\p¡Muchas gracias, pues vale, yo te\nsigo!. '----------- ' Movements '----------- #org 0x80CF52 #raw 0x2 'Face Left #raw 0x62 'Exclamation Mark (!) #raw 0xFE 'End of Movements #org 0x80CF56 #raw 0x13 'Step Right (Normal) #raw 0x10 'Step Down (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0xFE 'End of Movements #org 0x80CF5E #raw 0x10 'Step Down (Normal) #raw 0x12 'Step Left (Normal) #raw 0x12 'Step Left (Normal) #raw 0x11 'Step Up (Normal) #raw 0x3 'Face Right #raw 0xFE 'End of Movements #org 0x80CF65 #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0xFE 'End of Movements #org 0x80CF90 #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0xFE 'End of Movements #org 0x80CFBA #raw 0x11 'Step Up (Normal) #raw 0x60 'Hide #raw 0xFE 'End of Movements[/QUOTE][/SPOILER] Y ahora simplemente hace falta compilar el script (Con el ícono de los engranajes azules) y os dará el offset del Script trasladado! Espero que os haya servido de ayuda :D (Este tutorial está dedicado a [MENTION=25910]Brock[/MENTION] , espero que te haya servido mejor de ayuda ^^)