Recent Posts

Pages: [1] 2 3 ... 10
1
In order to mass create cave maps for an upcoming module of mine, I made template maps for caves. It can be found in the public repo of FOClassic - Brave New World here: https://github.com/Sasabmeg/FOnline-BraveNewWorld/tree/dev/PReloaded/Server/maps

Tutorial video or 'Music to a FO mappers ears' challenge - aka make a 1920x1080 compatible map before a song runs out, here:
https://www.youtube.com/watch?v=e2lCGNTBQUY

Just load most maps that start with template_cave_ into mapper, then load ~template_cave_L for a large blank map, and go from there as shown above. GL, HF.

The FOClassic: BNW also contains a minor mapper plugin, that shows which key combinations are pressed for people who want to stream or make video tutorials, name is Input Visualizer, you might add that to your version if you like, check issue #97 at the repo for change list.

There is an upcoming cave map-pack as well, named Sierra Caves, it's not ready yet, but those who need ready cave maps urgently may check any maps in the repo starting with that name.
2
Share Your Work / Re: FOnline-JSON
« Last post by JovankaB on February 05, 2024, 01:48:37 pm »
Anyone have an idea how to get it to work?

There are other JSON parsers for AngelScript.

https://github.com/hanan619/angelscript-addons
https://github.com/Paranoid-AF/Jsona
3
Share Your Work / fofrm_player
« Last post by APA MK2 on January 02, 2024, 03:38:17 pm »
Simple as fuck SDL player for .fofrm files, plays .fofrm and that's it.

Controls & usage:
Associate .exe with .fofrm files or drag&drop file onto it, also you can type "fofrm_player.exe [path_to_fofrm]" in cmd.

Left/Right arrows - change frame to previous/next.
Space - pause animation.
Mousewheel Up/Down - change zoom/window size.

Bugs & specificies:
Program can't open files if you type something like "fofrm_player.exe test.fofrm" into cmd, fixed in v0.2.1.
Program can't open more than 60 frames, fixed in v0.3.1.
Don't try to open anything that has cyrillic path.
 
Source code: https://github.com/APAmk2/fofrm_player (if someone's really wanna see this shit)
Download: https://github.com/APAmk2/fofrm_player/releases/
4
Questions and Answers / Re: Starting location
« Last post by 1ookg on November 10, 2023, 08:41:50 pm »
I realized for sure that this is changing in the intro_main script.
But the variables are not quite clear and I would like to delete everything altogether and make my own locations, but I don't understand how to do it. There is little information on the server on these points, it is somehow useless (
5
Questions and Answers / Re: Starting location
« Last post by remake on November 10, 2023, 07:02:44 pm »
I don't know which SDK you have but try look to SetStartLocation function. :)
6
Questions and Answers / Starting location
« Last post by 1ookg on November 08, 2023, 09:48:14 pm »
Hi!
I searched on the forum, but I didn't find it (
1) How and where can I change the starting location?
2) How can I make the transition to the next locations at this location?
7
Questions and Answers / Re: another silly question
« Last post by Medvedev(Req) on October 15, 2023, 05:43:55 pm »
There is now silly questions. just silly people. We are not, are we?

You should mark all the npc as belonging to your event. I usualy use NPC_ROLE parameter for that trick, or some secret buff. After event ends - by timer or by running some script - there should be runned cleaning function, that get all of the npc and delete those, who have your mark.
8
Questions and Answers / Re: FOclassic FOClient::SScriptFunc
« Last post by Medvedev(Req) on October 15, 2023, 04:46:14 pm »
Resolved it.

If it will be useful to someone: the problem was that client functions need to be declared in dummyData.h - otherwise the server's compiler will not know about their existence. The dummyData library must be compiled before the server, and you need to make sure that the final lib file  gets into the source folder for the server solution.

So, the procedure is as follows:
1. Writing a new function in client.cpp
2. Declare in client.h
3. Bind in ScriptBind.cpp (required in the block #if defined (BIND_DUMMY) || defined (BIND_CLIENT))
4. Additionally declare in dummyData.h
5. Clean and rebuild all the solutions of the project.
9
Questions and Answers / FOclassic FOClient::SScriptFunc
« Last post by Medvedev(Req) on October 14, 2023, 07:34:01 pm »
Hi. Looking for some help with client functions.

I added my new test function in client.cpp:

int FOClient::SScriptFunc::Global_test_a()
{
return 666666;
}


client.h in ScriptFunc block:
      static int          Global_test_a();

and scriptbind.cpp by FOCLASSIC_CLIENT defined:
      RegisterGlobalFunction( engine, "int test()", focFUNCTION( BIND_CLASS Global_test_a ), asCALL_CDECL );


Server is compiling without any errors. But trying to start with new function in client_main, i get "No matching signatures" error.
May be i didn't add my new function somewhere? But all other native functions are working.
10
Features & Articles / 9. Adding or modifying graphical assets.
« Last post by Slowhand on September 18, 2023, 07:48:41 am »
9. Adding or modifying graphical assets.

Client side:
  • Creating a custom animation frame file (.fofrm), for the item to show on map:
    • Navigate to ..\Client\data\base.zip\art\items\ folder, and look up the structure of a fofrm file.
    • Create the fofrm file as described below, but to a temporary location of your choosing, copy the image to it as described later.
    • fps=10 what fps will the animation of the item run, if there is animation, this is default 10, or sometimes 8.
    • count=1 how many frames are the for the animation, if it's 1 then the item has no animation.
    • offs_x=-23 move the middle of the image 23 pixels to the left, if positive then to the right. If this is 0, then it's centered on the X axis.
    • offs_y=50 move the whole image 50 pixels up, so if an image is 100 pixels tall, it would be centered on the Y axis.
    • [dir_0] this will tell the engine that frames will come for direction 0, which is how the item would look facing North-East on the map.
    • frm_0=fish_circling1_01.png this is the image file for the first frame in given direction. If your item uses animations, there will be more of these with the suffix increasing
  • Create image file:
    • Download random image from web or create the one with your favorite paint tool, use .png file type when you save it.
    • Custom images can contain all colors in 32 bit range, you can use transparency as well, thus .png files work best, as size not an issue. Side note: Original fallout 1/2 image files contained only up to 240 different colors and color blue was used for transparent color, but you don't need to worry about that.
  • Create inventory image - repeat this process for the image that will be shown in inventory, if the item is picked up.
  • Copy the .fofrm files and their images to the respective folder structure:
    • ..\Client\data\base.zip\art\items\ for items on the map
    • ..\Client\data\base.zip\art\inven\ for items in the inventory
  • Alternatively, use a new zip file (example: fishing.zip) to store the data, you need to copy the .fofrm files to:
    • ..\Client\data\fishing.zip\art\items\ for items on the map
    • ..\Client\data\fishing.zip\art\inven\ for items in the inventory
    • Add the new zip file (fishing.zip) to the config file to be loaded:
      • Edit ..\Client\DataFiles.cfg and add this new line data\fishing.zip after data\base.zip

Server side:
  • Adding the new item to the server
    • Open the file ..\Server\proto\items\misc.foproto
    • Find an item you wish to copy the attributes from and copy paste lines starting with [Proto] and ending with an empty line. Example: ProtoId=539 -which is the Meat
    • Make sure to keep the empty line between items.
    • There are various parameters you can change, but for simplicity we just copy flags, weight etc. from well working items.
    • You will need to change the following parameters to:
      • To change the image when the fish is dropped on the ground on a map, change this: PicMap=art\items\fishing\freshmeat.fofrm
      • To change the image when the fish is in inventory, change this: PicInv=art\inven\fishing\fish_1.fofrm
      • Give a unique ProtoID number, for example 26760, should look like this: ProtoId=26760
  • Name and description to the new item
    • Edit the file at location: ..\Server\text\engl\FOOBJ.MSG and add the following line accordingly keeping the sorted nature of the numbers in front of lines.
    • {2676000}{}{Fish} for the name of the item
    • {2676001}{}{Could be a derivative of Salmon and radiation.} for the description (or info) of the item.
    • Notice that the number 2,676,000 is 100 times 26,760, and the two last digits will have a special meaning, denoting name or info, hence I colored them differently above.


Testing it:
  • Once you logged in with your admin character, type the command: ~getaccess admin admin (In case you changed the admin password, use different password, if in doubt check the GM abuse tutorial at fodev.net questions and answer section)
  • You should get a message on top of the screen stating: "Mercenaries don't die - they just go to hell to regroup."
  • Type `give 26760 2 - this will give you 2 Fishes.
  • Hover over the Fish you got in inventory, click with default mouse cursor to show description info, and check if it's the same you have added.

CHEAT SHEET:


Pages: [1] 2 3 ... 10