Author Topic: FOnline SDK scripts overview  (Read 21426 times)

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
FOnline SDK scripts overview
« on: December 18, 2015, 12:32:24 pm »
FOnline SDK scripts overview.

This will be a list of the script files from Reloaded version 1 source, which will help you find where to edit/modify values/scripts. I will updated them as I progress through them myself. This is done to help me and others following the FOnline tutorials.

Note:
  • Definitions = assignment values to variables (for better understanding of the code).
  • Macros = definitions of macro functions (functions used often, in different script files).
  • Script files which contain only definitions or macros are colored greenish.
  • Script files which contain other scripts than defines are colored blueish.
  • Script files that are (supposed to be) related to other script files, but are unused or were never used are colored grayish.
  • Script files listed nearby each other, without being separated by descriptions, belong together.

Table of Contents:
« Last Edit: December 19, 2015, 06:37:04 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
1. Definitions and macros:
« Reply #1 on: December 18, 2015, 12:33:34 pm »
1. Definitions and macros:
  • _ai.fos
    • AI definitions
  • _animations.fos
    • Character animation definitions, macros.
  • _bags.fos
    • NPC default loot definitions. (What will a random NPC drop?)
  • _basetypes.fos
    • Critter type definitions.
  • _client_defines.fos
    • A lot of definition related to the client: message types, fonts, screen types, cursor, mouse, items, scrolls, keyboard keycodes, combat messages, effects, etc.
  • _client_maps.fos
    • Map definitions for client
  • _colors.fos
    • Macros and a function related to color.
  • _defines.fos
    • Lots of definitions and macros.
  • _dialogs.fos
    • Definition of dialogues, basically every dialogue file you use, must be present here.
  • _entires.fos
    • Definition of entires, these are placeholders where to spawn items, critters, cars etc.
  • _globalvars.fos
    • Server: Definition of global variables. These variables are used to control refill, respawn timers for craft materials like iron, fibers, etc.
    • Client: Config of awareness perk, TC display, fog, etc.
  • _macros.fos
    • Macros for general usage.
  • _mapper_defines.fos
    • Definitions used by the Mapper tool.
  • _mapper_macros.fos
    • A few macros used by the Mapper tool.
  • _maps.fos
    • List of maps.
  • _math.fos
    • Useful macros related to mathematics.
  • _npc_pids.fos
    • Definition of NPC id's.
  • _scripts.fos
    • Definition of some of the scripts.
  • _time.fos
    • Time calculation related macros, converting minute, hour, etc. to seconds.
  • _town.fos
    • Definitions related to towns, TC timer.
  • _vals.fos
    • A few definition of special values.
  • _vars.fos
    • Game variables, their type, boundaries and description. Since Dialog editor fails to add new game variables, these needs to be added manually.

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
2. Game mechanics.
« Reply #2 on: December 18, 2015, 12:36:17 pm »
2. Game mechanics:
  • antiblocker.fos
    • Script related to anti blocker mechanic, an invisible item/entity is placed to doors, chokepoints to detect if someone is standing on it for too long.
  • brahmin_pen.fos
  • brahmin_pen_h.fos
  • brahmin_pens.fos
  • brahmin_trader.fos
  • brahmin_trader_h.fos
  • brahmin_traders.fos
    • Script related to brahmin pens and brahmin vendors.
  • broadcast.fos
  • broadcast_h.fos
    • Script related to broadcasting, Town Control, GM messages, etc.
  • car.fos
  • car_seller.fos
    • Script related to car mechanics and car purchase.
  • caravan.fos
  • caravan_h.fos
    • Script related to caravans.
  • cave.fos
  • cave_critter_h.fos
  • cave_critters.fos
  • cave_groups
  • cave_h.fos
  • cave_item_h.fos
  • cave_items.fos
  • cavelog.fos
    • Script related to population of caves, filling it with items, monsters, etc.
    • Notes:
      • Luck seems to affect the chance to find items in caves.
      • To find items and critters in caves is 50%.
  • combat.fos
  • combat_h.fos
  • combat_message.fos
    • Script related to combat.
    • Notes:
      • Changing the effects of perks, or any other combat mechanics, or combat messages is most likely to be happen here.
  • cutscenes_h.fos
  • cutscenes.fos
    • Script related to combat.
  • dialog.fos
  • dialog_altruist.fos
  • dialog_factions.fos
  • dialog_reputations.fos
    • A lot of scripts related to general dialog functions like: Giving perks, Healing, Killing NPC, Day pass for Vault City, Reputation gains, Faction functions, etc.
    • Notes:
      • Logic for healing price is defined here as well.
  • drugs.fos
  • drugs_data.fos
    • Script related to drugs, effects.
  • economy.fos
  • economy_bank.fos
  • economy_bankaccount.fos
  • economy_banker.fos
  • economy_h.fos
    • Script related to economy: bank, banker, traders, money transfers, etc.
  • elevators_h.fos
  • elevators.fos
    • Scripts related to elevators.
  • encounter_containers.fos
  • encounter_guards.fos
    • Scripts related to encounter, guard warnings when getting close, containers, etc.
  • explode.fos
  • explode_backup.fos
    • Scripts related to explosions.
  • faction_data.fos
  • factions.fos
  • factions_bases_h.fos
  • factions_bases.fos
  • factions_generic.fos
  • factions_generic_bartender.fos
  • factions_h.fos
  • factions_names.fos
  • factions_news.fos
  • factions_player_h.fos
  • factions_player.fos
  • factions_recognition.fos
  • factions_terminal.fos
  • factions_vc_q_scoutsf.fos
    • Scripts related to factions. Lot of things..
  • follower.fos
  • follower_capturing.fos
  • follower_common_h.fos
  • follower_common.fos
  • follower_h.fos
  • followers_menu.fos
    • Scripts related to followers..
  • geiger.fos
    • Scripts related to Geiger counter.
  • globalmap_groups.fos
    • Scripts related to groups on world map.
  • lockers.fos
    • Scripts related to lockers/locks.
« Last Edit: December 22, 2015, 09:20:02 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
3. Areas / Maps.
« Reply #3 on: December 18, 2015, 12:37:15 pm »
3. Areas / Maps:
  • arena.fos
  • arena_generator.fos
    • Scripts related to Hinkley arena.
  • map_barter_ground.fos
  • map_bhcave.fos
  • map_broken.fos
  • cathdead.fos
  • map_denbus.fos
  • map_domination.fos
  • map_gecko.fos
  • map_ghostfarm.fos
  • map_golgotha.fos
  • map_klamath.fos
  • map_ncr_army.fos
  • map_npcmap.fos
  • map_prospect.fos
  • map_rq_cave.fos
  • aa.fos
  • aa.fos
  • aa.fos
  • aa.fos
  • aa.fos
  • a.fos
  • .fos
    • Map scripts resulting in default scripts or simple inits.
  • map_arena.fos
  • map_ares.fos
  • map_boneyard.fos
  • map_bos_lh.fos
  • map_bosbunker.fos
  • map_cathedral.fos
  • map_encounter.fos
  • map_frisco_mine.fos
  • map_glow.fos
  • map_hub.fos
  • map_junktown.fos
  • map_klam_tox.fos
  • map_mariposa.fos
  • map_modoc.fos
  • map_navarro.fos
  • map_navarro_sub1.fos
  • map_nrc_downtown.fos
  • map_ncr_prison.fos
  • map_newreno.fos
  • map_player_mine.fos
  • map_playerfaction_hq.fos
  • map_public_mines.fos
  • map_raiders_cave.fos
  • map_raiders_cave_entrance.fos
  • map_raiders_farmhome.fos
  • map_raiders_south.fos
  • map_random_cave.fos
  • map_redding.fos
  • map_redding_bank_vault.fos
  • map_redding_lost.fos
  • map_redding_mine.fos
  • map_sad.fos
  • map_se_door.fos
  • map_se_howitzer.fos
  • map_se_secret_shelter.fos
  • map_sf_bos.fos
  • map_sf_china.fos
  • map_sf_shi.fos
  • map_sf_tanker.fos
  • map_slaverun.fos
  • map_starter.fos
  • map_talchem.fos
  • map_vault13.fos
  • map_vault15.fos
  • map_vcity.fos
  • map_vcity_bank_vault.fos
  • map_vcity_hq.fos
  • arena_generator.fos
    • Scripts related to different areas, maps, including some logic or setup other than one init.
  • map_se_door.fos
  • map_se_howitzer.fos
  • map_se_secret_shelter.fos
  • map_greet.fos
    • Special encounter map scripts.
  • map_greet.fos
    • Greeting scripts of maps.
  • map_tent_h.fos
  • map_tent.fos
    • Tent map scripts.
  • map_trainyard.fos
    • Map script for all trainyards.
  • mapdata_h.fos
    • Header to include in any script using Map::GetData or Map::SetData.
« Last Edit: December 22, 2015, 12:16:09 pm by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
4. AI:
« Reply #4 on: December 18, 2015, 12:39:24 pm »
4. AI:
  • Generic AI:
    • all_brahmin.fos
    • all_brahmin_herdsman.fos
      • Brahmin script, movement, frequency of the shit production, etc.
      • Brahmin herdsman script, not used or mostly empty.
    • all_farmer.fos
      • Scripts for "farmers" or "homesteaders".
    • generic_guard.fos
      • Scripts for generic guards, having no special duty, but belonging to a faction.
    • guard_h.fos
    • guard.fos
      • Guard behaviour related scripts.
  • Specific AI:
    • cathedral.fos
      • Script for cathedral guards. (Unity faction)
    • bos_lh_guard.fos
      • Scripts for Brotherhood of Steel guards. (Brotherhood of Steel faction)
    • den_metzger_guard.fos
      • Scripts for Metzger guards. (Slaver? faction)
    • hub_guard.fos
      • Scripts for Hub guards.
    • junktown_guard.fos
      • Scripts for Junktown guards.
    • la_ady_guard.fos
      • Adytum guard scripts.
« Last Edit: December 22, 2015, 08:51:56 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
5. Quests / Dialogues.
« Reply #5 on: December 18, 2015, 12:40:07 pm »
5. Quests:
  • golden_globes.fos
    • Mostly dialogue related scripts, related to the Golden Globe. (Not sure if it is used at all, some kind of pornography quest/misc/whatever)
  • junktown_skumpitt.fos
    • Junktown skumpitt event.
« Last Edit: December 22, 2015, 08:50:39 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
6. Crafting.
« Reply #6 on: December 18, 2015, 12:43:01 pm »
6. Crafting:
  • blueprints.fos
    • Creating, randomizing blueprints.
  • fix_boy.fos
  • fixboy_h.fos
  • fixboy.fos
    • Crafting related scripts.
  • item_blueprint.fos
    • Blueprints related scripts.
« Last Edit: December 22, 2015, 08:09:38 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
7. Inner logic.
« Reply #7 on: December 18, 2015, 12:45:06 pm »
7. Inner logic:
  • buffer.fos
  • buffer_h.fos
  • buffer_lazy.fos
  • buffer_lazy_h.fos
    • Internal buffer structures.
  • cfg_file.fos
    • Scripts to read configuration files.
  • chosen_actions_h.fos
  • chosen_tabs.fos
    • Something to do with player interface/actions? Definitely inner logic.
  • config.fos
  • config_h.fos
  • config_file.fos
  • config_file_h.fos
    • Configuration of server, some of the client?, config file scripts, etc.
  • counters.fos
  • counters_h.fos
    • Configuration of server, some of the client?, config file scripts, etc.
  • crippling.fos
    • The script for periodic crippling and damaging of npcs in towns. No clue what this is, or why, where is needed.
  • critical_failures.fos
  • critical_table.fos
    • Critical failures and critical table list, only edit with a specific tool: CritableEditor
  • critter_age.fos
  • critter_age_h.fos
  • critter_description.fos
  • critter_item_movement.fos
    • Related to critter data, some functions about aging, description related to stats and script regarding critter item usage/swap, etc.
  • debug_h.fos
  • debug.fos
    • Debugging related, mostly log writing.
  • entire.fos
    • A few helper functions related to entires.
  • event_utils.fos
    • Some helper functions for events through dialogues.
  • groups_h.fos
    • Faction definnes, reputation gain and limits defines.
  • hexShot.fos
  • hexThrow.fos
    • Reloaded version 2.
    • Hex shoot with Rocket launcher, grenate launcher and throwing grenades on hexes.
  • ini_parser.fos
    • A few scripts to read ini files.
  • item_achievemntbook.fos
  • item_attributes.fos
  • item_bag_containers.fos
  • item_bonus.fos
  • item_brahmin_dung.fos
  • item_dogtags_h.fos
  • item_dogtags.fos
  • item_dynamic_h.fos
  • item_dynamic.fos
  • item_flare.fos
  • item_holodisk.fos
  • item_lock.fos
  • item_mapdoor.fos
  • item_misc_h.fos
  • item_misc.fos
  • item_perks_h.fos
  • item_perks.fos
  • item_radio.fos
  • item_skills.fos
  • item_spawner_container.fos
  • item_stealth.fos
  • item_tent.fos
  • item_pid_h.fos
  • item_pid.fos
    • Item related scripts.
    • Blueprints in crafting related section.
  • lexems_h.fos
  • lexems.fos
    • Lexems related script. (Dialogue logic).
  • linetracer_h.fos
  • linetracer.fos
    • Utilities for tracing, pathfinding/critter-gathering functions.
  • logging_h.fos
  • logging.fos
  • logging_critter.fos
    • Utilities for tracing, pathfinding/critter-gathering functions.
  • main_planes.fos
  • main.fos
    • Most important and basic stuff handled here, like skills, using items, etc.
« Last Edit: December 22, 2015, 09:29:38 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
8. Client specific.
« Reply #8 on: December 18, 2015, 12:46:02 pm »
8. Client specific:
  • client_access.fos
  • client_access_h.fos
    • Client access level (User, Admin, etc?).
  • client_anti_cheat.fos
  • client_anti_cheat_h.fos
    • Client anti cheat mechanic. Logic specific, values set sound like too high to work anyways.
  • client_broadcast.fos
    • Client broadcasting, receiving Town Control broadcasts.
  • client_combat.fos
    • Client combat, partial ofc, most of logic is in server combat script.
  • client_cotainer_volume.fos
    • Client container volume scripts.
  • client_cutscene.fos
    • Can disable keyboard, mouse and hide cursor for cutscenes.
    • "Never even started to have any functionality" - Wipe.
  • client_dev_menu.fos
  • client_gmtools.fos
  • client_gmtools_chat.fos
  • client_gmtools_macro.fos
  • client_gmtools_menu.fos
    • Developer menu (check GM tutorial how to access it in game).
  • client_followers_menu.fos
    • Followers menu/commands.
  • client_fov.fos
    • Field of view, calculation of sight, drawing of fog, etc.
  • client_gui.fos
  • client_gui_barter.fos
  • client_gui_elevator.fos
  • client_gui_ex.fos
  • client_gui_h.fos
  • client_gui_regwindow_ex.fos
    • All the GUI elements, like character creation, trade window, etc.
  • client_interface_h.fos
  • client_interface.fos
    • Uhm, some kind of interface, I guess used by the other gui scripts.
  • client_io.fos
    • Keyboard and mouse handling.
  • client_keybinds_h.fos
  • client_keybinds.fos
    • Script to map keys.
  • client_main.fos
    • Main client scripts, uses the other scripts.
  • client_mapper_animations.fos
    • Lengthy switch case scripts for mapper, supposedly to do animations?
  • client_messages.fos
    • Scripts related to messages. Funny thing, there were some implementations to simulate if your char has low int and speak accordingly.
  • client_online_stats.fos
    • XFire (an online gamer chat like Steam) related online stat sharing? Not used I guess.
  • client_recording.fos
    • Record and playback game play? Not sure if it works, but probably not important either.
  • client_screen_gameinfo_h.fos
  • client_screen_picture.fos
  • client_screens_h.fos
  • client_screens.fos
    • Aim target bodyparts screen?
  • client_smart_cursor_h.fos
  • client_smart_cursor.fos
    • Smart cursor that detects if you have the available tool to harvest the specific material.
  • client_spawn_npc.fos
    • No clue what this is for.
  • client_timeouts.fos
    • Used for timeouts, like First Aid, Battle, custom timeouts, etc..
  • client_utils_h.fos
  • client_utils.fos
    • Utility function for client, like colors, fonts, etc.

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
9 Misc.
« Reply #9 on: December 18, 2015, 12:46:38 pm »
9 Misc:
  • attach.fos
    • Some utility functions, related to radiation.
  • backend.fos
  • backend_h.fos
    • Logging related scripts, definitions.
  • bank_vault.fos
    • Not sure where this is used, if used at all.
  • billboards.fos
    • Script that links the dialogues to billboards in Hub, NCR and in Boneyard.
  • books.fos
    • Script related to reading skill books, like First Aid, Science, etc.
  • bounties.fos
  • bounty_poster.fos
  • bounties_h.fos
    • Scripts related to bounties on players.
  • cheats.fos
  • cheats_core_h.fos
  • cheats_help.fos
    • Scripts related to cheat, probably for GM mode, did not bother to explore.
  • companions_h.fos
  • companions.fos
    • Scripts related to companions.
  • dev_menu.fos
  • devconnect.fos
    • Developer connection, menu, commands.
  • effects.fos
    • Effects like screen shake Not sure if it is used in reloaded.
  • foart.fos
  • foart_2038.fos
  • foart_addons.fos
  • foart_client.fos
  • foart_h.fos
  • foart_mapper.fos
  • foart_server.fos
    • FOnline art?
  • gm.fos
  • gmtools.fos
  • gmtools_csc.fos
  • gmtools_h.fos
    • Game Master tools related scripts.
  • grave.fos
    • Scripts related to opening graves.
« Last Edit: December 21, 2015, 03:34:39 am by Slowhand »

Offline Slowhand

  • Go for the eyes, Boo! Go for the eyes!
10. Disabled/Unused.
« Reply #10 on: December 18, 2015, 12:48:45 pm »
10. Disabled/Unused:
  • achievements.fos
  • achievements_h.fos
    • Achievements - I do not know what they are exactly, but they are not used, but only to disable achievements.
    • Header - A few definitions, macros related to achievements.
  • casino.fos
    • Something related to casino, but short wired to default values.
  • chess.fos
  • chess_h.fos
    • Chess, with critters as pieces on the board?
  • duel.fos
    • Script for dueling, can bet on duels. I guess the player is the fighter here, but this does not seem to be used.
  • event_warzone.fos
  • event_boss.fos
  • event_boss_h.fos
    • Some kind of terminal usage function leftover. No reference to it, ofc. Also some event boss, boss skills and some headers.
  • floyd.fos
    • Special critter Floyd, whoever he/she/it is.
  • fo2077_client_screen_gameinfo.fos
    • Eh?
  • generator.fos
    • Old code, basis for some quest, but the scripts have been moved to other file.