Author Topic: Tutorial request  (Read 2622 times)

Tutorial request
« on: February 27, 2016, 08:13:19 pm »
Is there a tutorial which shows you how to add new textures/models/art to the mapper

Re: Tutorial request
« Reply #1 on: February 28, 2016, 11:49:40 am »
Don't you try putting arts into client data folder and check mapper?

Re: Tutorial request
« Reply #2 on: February 28, 2016, 07:06:03 pm »
Hello, I'll try to explain it step by step. Try to not lose your mind reading the madness I wrote below.

First of all, if you want to put "new" custom items into the game and later make them show up in Mapper, then you'll need first to make a prototype item (server\proto\items\choose_or_create_one.fopro)
First of all you need a proper tool to work with this files in order to keep everything clean and understandable. (for your mental health sakes) I use Notepad++ among other things because you can work with Tabs. Thats a big something.

Best way to understand it, is cloning a item of your choice and change its graphic file. Like, for example a barrel from "server\proto\items\generic.fopro"
Code: [Select]
[Proto]
ProtoId=2001
Type=11
PicMap=art\scenery\barrel.frm
PicInv=art\inven\reserved.frm
Corner=1
Flags=40984
DisableEgg=1
SoundId=48
Material=1
LightDistance=8
LightIntensity=50
LightColor=-16777216

If you want to have it all nice and clean you should create your own .fopro file. And call it for example "poo.fopro". Then paste the cloned barrel inside of the file and give it a proper PID. (ProtoId=23055)
Now you may change the graphics. Let's put it some wooden boxes graphics. Which is "PID 2220" from "generic.fopro" and copy this two lines:
Code: [Select]
PicMap=art\scenery\boxes1.frm
PicInv=art\inven\reserved.frm

First one is how it looks on the ground. Second is how it looks in your inventory. Normaly generic items aren't pickable. But we are going to copy the first line extension included in the end of the second line to have this :

Code: [Select]
PicMap=art\scenery\boxes1.frm
PicInv=art\scenery\boxes1.frm

Save your custom proto file and, inside "proto\items\" folder, open items.lst with Notepad++ and write this line in the bottom, following the last one.

Code: [Select]
last one in order.fopro
poo.fopro

Save it.

Now you may want to give it a proper description. Then go to: "Server\text\engl\FOOBJ.MSG" and open it again with Notepad++
Now here is a bit tricky. You need to understand that you need to type the PID and mutiply for 100 for the main description and *100+1 for the detailed description.

The correct ID you are going to paste here, at the very bottom of the file, should be, in this case:

Code: [Select]
{previousId00}{}{keep the order}
{previousId01}{}{keep the order or it won't work.}
{2305500}{}{Some kind of rotten, stinky boxes}
{2305501}{}{The smell creeps you out. You better don't get any closer.}

Now, depending the Language packs you have, you need to copy the EXACT same lines in any language pack. If you only have engl folder in "Server\text\" everything is done. If you have, for example, russ folder like I do, then you have to do the same you did before inside russ folder. This means "Server\text\russ\FOOBJ.MSG"

Now that you already have the description done, next step is to save the file (or files), and make Mapper recognize the item. You are going to go to "Server\scripts\mapper_main.fos" Open it with Notepad++ needless to say.

ctrl+F (or search) and paste this line.
Code: [Select]
Main loop function. ReturnedNow you have to paste this
Code: [Select]
pids.resize( 0 );
    for( uint i = 23054; i <= 23055; i++ )
        pids.insertLast( i );
    TabSetItemPids( TAB_CUSTOM8, "poo", pids );

    TabSetName( TAB_CUSTOM8, "Gen" );

The line "for( uint i = 23054; i <= 23055; i++ )" means 23054 was the last PID before you added the last. And 23055; i++ means that's the latest you added. If you want to add more, you have to type the LATEST, in hat case would be "for( uint i = 23054; i <= 23056; i++ )"

Now check it has to be in this order. needs to be the latest before "main loop function etc etc"
Code: [Select]
pids.resize( 0 );
    for( uint i = 23054; i <= 23055; i++ )
        pids.insertLast( i );
    TabSetItemPids( TAB_CUSTOM8, "poo", pids );

    TabSetName( TAB_CUSTOM8, "Gen" );

}

// //////////////////////////////////////////////////////////////////////////////////////////////////
// Main loop function. Returned time of next call in milliseconds.
uint loop()
{
    return 60000;
}

// /////////////////////////////////////////////////////

Now, in mapper should be visible your custom poo tab, inside GEN tab, and there'll be your piled boxes item.
I know I'm TOTALLY chaotic and it's a hell to get to understand anything I say. (maybe I lost you even more)
Hope I helped.

Re: Tutorial request
« Reply #3 on: February 28, 2016, 08:09:53 pm »
Hey thank you for your guide! Just one question, so if I want my poo item to look like a poo and not a barrel, how do I add the new poo image as an frm file?


Re: Tutorial request
« Reply #4 on: February 28, 2016, 10:27:56 pm »
Hey thank you for your guide! Just one question, so if I want my poo item to look like a poo and not a barrel, how do I add the new poo image as an frm file?

You mean, the base barrel item, change the image to a poo?

then change one of the two lines

PicMap=art\scenery\barrel.frm - barrel in the floor
PicInv=art\inven\reserved.frm - barrel in your inventory