Jump to content

pichu2001

Member
  • Posts

    22
  • Joined

  • Last visited

Reputation

10 Good

About pichu2001

  • Birthday 12/20/1990

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Sorry, I adjust it. It's a duplication of text, my mistake. For messages you can use PPTXT (In this forum), for association (script --> messages) , you had to wait a little. I make an association table soon, I promise. (Preview: Nuvema Town has a057/778 as script, a003/428 as message.)
  2. Thanks a lot, I'm very happy that it's simple to understand.... Now another lessons for you, people! Lesson 2: Simple Message Script with variations. There are a lot of different messages command, that give us a very powerful way to tell something. Now we start analyze. 003D We already use this command, but now we give a deeply look into. The last parameter, that we called NORMAL, can be changed to give another whole aspect to the box. Here there's a list of values that we can use: 0000 : NORMAL. 0001 : ANGRY. 003C This command has a similar sintax of Message, although there is a new parameter, called NPCID, that rapresent the person from which depart the "arrow" of the message. We'll call DirectedMessage . The signature of command is: [b][color="red"]DirectedMessage[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [b][color="blue"]ID=0[/color][/b] [u][b][color="blue"]NPCID[/color][/b][/u] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] We can use this command when we want that another people speak during script. 0034 This command is more simple than the other two. It show a message into a grey box, used mostly when you received an item. We'll call EventGreyMessage. The signature of command is: [b][color="red"]EventGreyMessage[/color][/b] [b][color="blue"]MSGID[/color][/b] [b][color="blue"]BOTTOM[/color][/b] Important: To close this message, we need to use 0036 command, instead of CloseMessage. We'll call this last command CloseEventMessage. 0038 It show a message without arrow, used mostly when we don't know who's speaking. We'll call BubbleMessage. The signature of command is: [b][color="red"]BubbleMessage[/color][/b] [b][color="blue"]MSGID[/color][/b] [b][color="blue"]BOTTOM[/color][/b] Important: To close this message, we need to use 0039 command, instead of CloseMessage. We'll call this last command CloseBubbleMessage. 003A With this command, we show a bubblemessage at specified coordinates. We'll call ShowMessageAt. The signature of command is: [b][color="red"]ShowMessageAt[/color][/b] [b][color="blue"]MSGID[/color][/b] [b][color="blue"]X[/color][/b] [b][color="blue"]Y[/color][/b] Note: The (0,0) position is on left upper angle of screen. 0043 It show a message with a coloured border, used mostly when we read city's signs or target. We'll call BorderedMessage. The signature of command is: [b][color="red"]BorderedMessage[/color][/b] [b][color="blue"]MSGID[/color][/b] [b][color="blue"]COLOR[/color][/b] The color values are: 0000 : PINK. 0001 : BROWN. 0002 : BLUE. 0003 : GREEN. Important: To close this message, we need to use 0044 command, instead of CloseMessage. We'll call this last command CloseBorderedMessage. 0045 It show a strange transparent message, like a destroyed paper. We'll call PaperMessage. The signature of command is: [b][color="red"]BubbleMessage[/color][/b] [b][color="blue"]MSGID[/color][/b] [b][color="blue"]X[/color][/b] This command need't some little study research. Important: To close this message, we need to use 0046 command, instead of CloseMessage. We'll call this last command ClosePaperMessage. 0048 This command is equal at DirectedMessage. The only difference is an other last parameter, that is always 0. We don't use it, for now. 0049 This command is similar at DirectedMessage, but with an important differences: the message change if we are playing Black or White. So we'll call DoubleMessage The signature of command is: [b][color="red"]DoubleMessage[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [u][b][color="blue"]MSGIDBLACK[/color][/b] [b][color="blue"]MSGIDWHITE[/color][/b][/u] [b][color="blue"]NPCID[/color][/b] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] 004A It show an angry Message, when we want that the people "shout", We'll call AngryMessage. The signature of command is: [b][color="red"]AngryMessage[/color][/b] [b][color="blue"]MSGID[/color][/b] [b][color="blue"]BOTTOM[/color][/b] Important: To close this message, we need to use 004B command, instead of CloseMessage. We'll call this last command CloseAngryMessage. All of this command we can use in our simple script, remembering to close messages with right command. Today's lesson finish here. The next time we'll see messages contains variables (Like Hiro's name and other type) Stay tuned! pichu2000
  3. Thanks for support... Lesson 1: Simple Message Script Starting with something of simple: we wanna a overworld tell us a simple message, like "Hello, world!". So, after we have opening our file to edit, go to offset of the our script (Lesson 0 - Declarative Part) and start writing. (I'll use red color for command and blue for parameters) So, the first command we need to insert is: [b][color="red"]002E [/color][/b] This command rapresent the beginning of the script. It haven't any parameters. We'll call StartScript . After, maybe we wanna to "hear" the famous 'click' when we talking with a person. So our script became: [b][color="red"]StartScript [/color][/b] [b][color="red"]A600[/color][/b] [b][color="blue"]4705[/color][/b] This new command playing a generic sound, in this case 4705, that rapresent 'click'. If you want another sound, you can change the parameter. We will call PlaySound . Now we wanna talk with well-mannered person, so we wanna that he/she face us while he's talking. We'll use: [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]7400 [/color][/b] This command forced people to face the player. We'll call in fact FacePlayer . Now the message: [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]FacePlayer [/color][/b] [b][color="red"]3D00[/color][/b] [b][color="blue"]0004[/color][/b] [b][color="blue"]0000[/color][/b] [b][color="blue"]0000[/color][/b] [b][color="blue"]0000[/color][/b] The message is a little more complex. There are a lot of different command for showing a message, but this is the simplest. Now we analized each parameter. 0004 : Costant. We ever need to insert it. 0000 : Message Id. Differently from GBA games, we needn't to insert the offset of message. In fact each map is linked with a file of Msg.Narc ( a/0/0/3) that contains an ordered sequence of "messages". So the parameter tell us that the message is the 0x0 message in linked msg-file. (Later I give you all the association script-message file, I promise) 0000 : Top/Bottom View. Indicate where the message is show on the screen. (0000 = Bottom, 0001 = Top) 0000 : Type of Border. Indicate which type of border has the messages. (0000 = Simple) Now we have finally insert message, but we need other commands to close the script. First: [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]FacePlayer [/color][/b] [b][color="red"]Message[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [b][color="blue"]ID=0[/color][/b] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] [b][color="red"]3200 [/color][/b] This command forced the message to remain open until you click a botton. We'll call WaitButton. [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]FacePlayer [/color][/b] [b][color="red"]Message[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [b][color="blue"]ID=0[/color][/b] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] [b][color="red"]WaitButton [/color][/b] [b][color="red"]3E00[/color][/b] This command close the message. We'll call CloseMessage. [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]FacePlayer [/color][/b] [b][color="red"]Message[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [b][color="blue"]ID=0[/color][/b] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] [b][color="red"]WaitButton [/color][/b] [b][color="red"]CloseMessage[/color][/b] [b][color="red"]3000[/color][/b] I don't know really what this command do. But you need to insert after a CloseMessage. [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]FacePlayer [/color][/b] [b][color="red"]Message[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [b][color="blue"]ID=0[/color][/b] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] [b][color="red"]WaitButton [/color][/b] [b][color="red"]CloseMessage[/color][/b] [b][color="red"]3000[/color][/b] [b][color="red"]2F00[/color][/b] This command closing the script. We'll call EndScript. Latest command is the 0200 command, that is the End of all routine. So we have this sequence's of command to insert into our HexViewer: [b][color="red"]2E00[/color][/b] [b][color="red"]A600[/color][/b] [b][color="blue"]4705[/color][/b] [b][color="red"]7400[/color][/b] [b][color="red"]3D00[/color][/b] [b][color="blue"]0004[/color][/b] [b][color="blue"]0000[/color][/b] [b][color="blue"]0000[/color][/b] [b][color="blue"]0000[/color][/b] [b][color="red"]3200[/color][/b] [b][color="red"]3E00[/color][/b] [b][color="red"]3000[/color][/b] [b][color="red"]2F00[/color][/b] [b][color="red"]0200[/color][/b] The "human-friendly" version of the script is: [b][color="red"]StartScript [/color][/b] [b][color="red"]PlaySound[/color][/b] [b][color="blue"]CLICK[/color][/b] [b][color="red"]FacePlayer [/color][/b] [b][color="red"]Message[/color][/b] [b][color="blue"]MSGCONST[/color][/b] [b][color="blue"]ID=0[/color][/b] [b][color="blue"]BOTTOM[/color][/b] [b][color="blue"]NORMAL[/color][/b] [b][color="red"]WaitButton [/color][/b] [b][color="red"]CloseMessage[/color][/b] [b][color="red"]3000[/color][/b] [b][color="red"]EndScript[/color][/b] [b][color="red"]End[/color][/b] This is all for now. I hope I was clear. Stay tuned for next lessons... pichu2000
  4. Foreground Hi, people! I see you're latest trying to figure how scripts works on BW, and I wanna give my contribution. Really, I've started about two years ago editing BW scripts, for a future addition on PPRE, but nothing happened later and my work remained hidden for a lot. I wanna share with you my knowledge about scripts, so let's go! (This tutorial presume that you know something about hex and programmation) Script Structure In a BW file, like DPP and HGSS, the scripts can divided in two main sections: declarative and command section. Declarative Sections Declarative part contains all "offset" of the scripts (start offset in particular). The Each offset is saved in a UInt32 (4 byte), and we must add the "actual" reader position for reach the real script start. This section end ever with 0x13FD. Example: 0A 00 00 00 08 00 00 00 FD 00 00 00 13 FD This is a declarative part for a/0/5/7-0, containing 3 scripts. 1st offset script: 0x0A + 0x04 = 0x0E 2nd offset script: 0x08 + 0x08 = 0x10 3rd offset script: 0xFD + 0x0A = 0x107 Command Sections Command section contains the real commands that will be executed by scripts. There are 800+ different command, but the main structure is 0x0 -0x4 ID Command [Various parameter] Next lesson, we can see some simple script in action. Stay tuned.
  5. Posted beta 1.0! I added almost all the old function of beta 002, and some other cool stuff... I can't tested the tool for all the maps of all the game, so it may contain some bugs. Tell me if you have any suggestion...
  6. I'm not so good to display 3d things (I used the PG4Map source), so i cannot help you...
  7. Some news! A month ago, I decided to inglobate my tool on PG4Map source code, so during this period I was rewriting my tool in C#(Very long work, but necessary) I wanna give you news about status of new tool. -Showing NSBMD(100%) (thanks to Sentry) -Showing only certain polygon(70%). -Swapping from texture mode to wireframe(70%) -Loading Verticles and info(100%) -Loading Movements(100%) -Loading Object(100%) Here'ìs an image of the actual new interface. http://www.imagehost.it/di-MSL6.png The conversion is still at early stage(I don't know if i convert narc part, is very long...) but i hope to reach beta 003 before 1st january 2012. Stay tuned!
  8. I decided to release beta002 for my tool. There's the feature - Same of beta001 (With fixed part, thanks to 805587804) - Display bw movement and models(not edit yet) - Display a lot of useful info of nsbmd file (not edit yet) For the 1.0 version I wanna insert a nsbmd viewer, like suggest team fail, but it's very difficult to implement a opengl viewer(if someone wanna help me, i appreciate.)
  9. Hi! I worked on this period on a new interface of my tool, and i can load almost all the nsbmd part of the map(vertex,sbc and other thing). I'm a little busy(5 exams next week) but i can give you a preview of my work.
  10. Yes it work! I download three times from 2shared without problem. EDIT: Add Image on first post.
  11. Extract file with Winrar....
  12. SIZE="4"] Nintendo Pokemon Rom Editor[/size] by pichu2001 Foreword Hi! Almost three month ago i started working on a potential NDS Pokemon Editor. At first, i worked with Visual Basic, and i released two betas (link at bottom). A month ago i decided to convert my tool in Visual C#, and finally i "insert" my new code in the SentryAlphaOmega's Map Viewer. So, let's me release the beta 1.0, as a Christmas Present! Feature - Open, edit and save DPP, HGSS, BW Map. - - - Open, save, edit Movement (Tested only for DPP, HGSS - BW may be work.) - - - Open, save, edit Object( Add and delete function should work also if in the original map there aren't object) - - - Open, save, edit Nsbmd Part(Only you can obscurate a Polygon(The edit part is very buggy)) - - - Event Viewer(Not linked with map, you must extract zone_event(release if DP) internal file) - - - Save a map as NSBMD. - - - Show some other useful stuff(Regarding Nsbmd part) How to Use First go to the little directory on menu, and open a map from BW, HGSS, or DPP. If the map is a real map, you can see a Dialog Box, in which you must choose from which game the Map is extracted. Now you should can see the first Polygon of the map(Swap with Rotate, Zoom and Elevation for having a better camera). You can choose the PolygonVisible from the apposite command; if you wanna remove polygon click on Remove, after go to Save from main menu. There's other three tab: Objects, Movement and Other. Object: You simply edit the values into the table, and click Save. If you wanna delete an Object, select the row, click on Delete, click on Save, and later Save the Map from main menu. You can add object with the same method. Movement: Like object, you can edit the cells, than click on Save button. Also you can select a group of cells, right click with mouse, choose the new movement, and click on it (Not fully insert). [*] Event Viewer is a different part of the program. You can view an event file going to Other Section, click on Event, and go to Open Event. Choose the event file and see the info into the three table(Edit coming soon). Preview http://www.imagehost.it/di-KXK0.png http://www.imagehost.it/di-G138.png Download NPRE beta 001 26-9-2011 http://www.megaupload.com/?d=WFPXTCUT NPRE beta 002 11-11-2011 http://www.2shared.com/file/wDkias7F/NPRE_b002.html NPRE beta 1.0 21-12-2011 http://www.2shared.com/file/is1nC07g/NPPRE_beta_10.html For any bug or suggestion, don't hesitate! Pichu.
  13. Chiarito tutto. Non ho mai approvato le parole di Araxes e Light, e comunque erano pensieri personali, non venivano certo dal team Cinnabar Per il resto, è vero che non l'avevamo testata, poichè pensavamo che facendola provare agli utenti stessi avremmo potuto ottimizzare i tempi. Ci dispiace di aver creato disagi, e comunque stiamo cercando di rimediare.(Siamo pochini, perciò qualche errore dovete permettercelo!) Auguri per la traduzione e mettiamo una pietra sopra l'accaduto. Ciao!
  14. Ti devo ricordare che io sono subentrato nella beta di hg solo dopo la seconda. Il problema è che secondo me se siamo in 60 a tradurre, c'è il rischio che uno traduce, gli altri si grattano, e poi si prendono tutto il merito. Poi si crea una tale confusione(vedo che c'è gente che traduce un file già tradotto 3 volte da altri) e si spreca molto tempo. Infine così il team cinnabar svanirebbe, e tutto il merito andrebbe a project, che ha molta ma molta più fama. Se queste tre cose fossero risolvibili si potrebbe parlare di unione, ma per adesso vorrei almeno che non ci screditaste ogni 2-3, ecco. Se la vostra beta sarà migliore, mi inchinerò alla vostra maestria, ma certe persone non dovrebbero vantarsi di prenderci in giro...(Si veda qualche post sopra di un certo vc64) Dopo questo buona traduzione a tutti, e scusate l'intrusione.
×
×
  • Create New...