"After shutting down the FOnline: 2238 server an issue remained bothering the developers of the game: what to do with the code, tools and the custom created content?"
creator said
well here it is
files
https://github.com/rotators/fo2238
fo2238.fodev.net/source/FOnline2238.client+mapper.zip
More tools (with sources)
https://github.com/rotators/tools
https://github.com/rotators/WitchLord
https://github.com/wipe2238/FOUpdaterEx
Alternative Download (these files will not be updated any longer, and further updates on github will not be included here)
http://fo2238.fodev.net/source/
Autogenerated documentation (by using Doxygen; the Reference section is the most interesting there)
http://fo2238.fodev.net/source/docs/
Tutorial(from official fallout online forum)
Game Master ToolsCode:Configuring admin access: GetAccess.cfg Before your team can start to abuse the server you have to define access settings. To do this, create a file GetAccess.cfg inside the FOnline: 2238 Server/config/ subfolder. The file should contain a list of all admins, each with own unique password and an appropriate access level. A small example how such setting for a single admin should look like inside the file: Code: [Select] [AdminName] Access=admin Password=myuniquepassword There are three possible access levels (from the lowest to the highest): tester, moder, admin. It is important for passwords to be unique for every admin. Although not necessary, it is advised for AdminName to be the same as the name of the character account the admin wants to use for administrative / game mastering purposes. If the character account can't be created right away, it is possible to prevent registration of a character with AdminName name by adding a line Reserved=true. It can be useful for example if you wipe a server and not all GMs are around to make an account right away. Later you can remove the blockade with command `accesslist allowregistration AdminName or simply by editing GetAccess.cfg file (however this requires server restart). Note: The Ids of all character accounts the admin uses with ~getaccess are written automatically in GetAccess.cfg. This way you can check if someone isn't using admin access on characters they aren't supposed to. GodOfTheRealm There is a special admin mode scripted in FOnline: 2238 - GodOfTheRealm. Characters with this mode will be invisible for everyone else (even other people with GodOfTheRealm) and have stronger protection against being abused by other admins. This mode is given by editing return value of bool GodOfTheRealm function in the cheats.fos module. After it's done, the admin can run god function from the cheats.fos module to become GodOfTheRealm. To go back to normal mode the admin can run mortal function. AdminLook There is an adminlook function in cheats.fos module which can be run by people with admin access level. The function grants perfect sneaking (being able to sneak from everyone except admins) and perfect vision (seeing everyone in map except GodOfTheRealm characters). It can be also used on other characters if you know a secret number passed as the second argument of the function - use it to give adminlook to people with tester and moder access levels. Before you start your server you should change this number. Getting Access Getting tester/moder/admin access level works the same way as in FOnline SDK - use ~getaccess (client | tester | moder | admin) password command. The only difference is, the password is defined in GetAccess.cfg file instead of the server config file. After you type the right password you are ready to use Game Master Tools (if you set it up in the client, see the post below) and server commands!
Basic Server CommandsCode:Game Master Tools (GMT) is a set of scripted tools available for Game Masters, which allow to do various tasks in more efficient manner. To enable GMT add following lines to FOnline2238.cfg: Code: [Select] [GMT] Enabled=1 ...and (re)start client. After changing access level to Tester or higher, on-screen display (OSD) should appear in top left corner of the screen minimal set of informations. After enabling all possible mini-features, OSD shows detailed information about current location, map and items/critters when you hover mouse cursor over them. Code: [Select] [GMT] Enabled=1 Menu=1 Possess=1 OSDInfo=Location,Map,Critter,Item,Mouse,Hex OSDInfoLocation=Maps,Position,Type,Extra OSDInfoMap=Size,Faction,Owner,Size,Hex,Extra OSDInfoCritter=Picture,Extra OSDInfoItem=Extra Draw=1 ItemInfo=Extra CritterInfo=Extra Next thing which may be interesting, is customizable menu allowing to execute server commands. It is fully configurable at client side, allowing your Game Masters to change it to their needs. Traditional menu config, used in previous system, with famous Teleport next to Airstrike: Code: [Select] ;; ;;Standard devmenu ;; ONPLAYER,ONNPC;Possess;internal possess ONPLAYER,ONNPC;Trade;runscript_unsafe dev_menu@unsafe_Trade $[Critter.Id] 0 0 ONITEM,ISCONTAINER;Browse items;runscript_unsafe dev_menu@unsafe_Trade 0 $[Item.Id] 0 ONPLAYER,ONNPC,ISALIVE;Kill;runscript_unsafe dev_menu@unsafe_KillCritter $[Critter.Id] 0 0 ONPLAYER,ONNPC,ISKNOCK;Kill;runscript_unsafe dev_menu@unsafe_KillCritter $[Critter.Id] 0 0 ONCHOSEN,ONPLAYER,ONNPC,ISDEAD;Revive;runscript_unsafe dev_menu@unsafe_KillCritter $[Critter.Id] 0 0 ONNPC;Remove critter;runscript_unsafe dev_menu@unsafe_RemoveCritter $[Critter.Id] 0 0 ONITEM;Remove item;runscript_unsafe dev_menu@unsafe_RemoveItem $[Item.Id] 0 0 ONITEM,ONGROUND;Teleport;runscript_unsafe dev_menu@unsafe_Teleport 0 $[HexX] $[HexY] ONGROUND,NOHIDE;Airstrike;runscript dev_menu@Airstrike 0 $[HexX] $[HexY] ONITEM,ISPOSSESS;Pick item;runscript_unsafe dev_menu@unsafe_PickItem $[Possessed.Id] $[Item.Id] 0 ONPLAYER,ONNPC,ISPOSSESS;Attack;runscript_unsafe dev_menu@unsafe_Attack $[Possessed.Id] $[Critter.Id] 0 ONGROUND,ISPOSSESS;Move to;runscript_unsafe dev_menu@unsafe_MoveTo $[Possessed.Id] $[HexX] $[HexY] ISPOSSESS;Stop;runscript_unsafe dev_menu@unsafe_Stop $[Possessed.Id] 0 0 ONCHOSEN,ONPLAYER,ONNPC,ISKNOCK;Wake;runscript_unsafe dev_menu@unsafe_NeutralizeCritter $[Critter.Id] 0 0 ONCHOSEN,ONPLAYER,ONNPC,ISNTKNOCK;Neutralize;runscript_unsafe dev_menu@unsafe_NeutralizeCritter $[Critter.Id] 0 0 Made of three sections, each separated with ";" character, where first is set of flags defining when given button should show up, second is name, and third is command to execute. As it was revealed some time ago, it's possible to add submenu to specific buttons. To do so, replace command part with "internal menu". All next lines with single SUBMENU flag will be part of button submenu, anything else will become new top-level button. Code: [Select] ONPLAYER;Be Friendly;internal menu SUBMENU;Hug;command slap -p $[Player.Id] SUBMENU;Gift;command airstrike -p $[Player.Id] As single menu may be not enough, it's possible to switch between them, for example you during the events/bugs-hunting/etc. Default menu, which is loaded after GMT initialization, need to be stored in file named GMTbuttons.txt. Also be noted, that all menu buttons relay on macro system (they are in fact one-line macros). To display GMT menu, use CTRL+Click. To switch between menus, use ~gmtools menu load FILENAME. To reload currently used menu (after file edit), use ~gmtools menu reload. See client_gmtools_menu.fos->CContextMenu::OnShow() for details about menu flags See client_gmtools_macro.fos->GetVars() for details about menu $[variables]. Note that $[LastSpawned] group is parsed at server side (gmtools.fos->unsafe_question). As communication between Game Masters online is important thing, and it may be hard to enforce one specific way of communication using external tools, GMT provides simple chat system to be used ingame. It's not meant to replace IRC/voice communication, but should be enough for some situation (like during events, or when you want to talk ingame with/as GodOfTheRealm); to use it, put "@" characted before message. GMTchat is single feature which works for all authenticated characters, even without GMT enabled. client_gmtools.fos client_gmtools_menu.fos client_gmtools_macro.fos client_gmtools_chat.fos gmtools_h.fos gmtools.fos gmtools_csc.fos
Special NPCsCode:Getting Information `alts [-l locationId] [-o] Display IPs and characters suspected to be multilogs (sharing the same IP). -l option allows to limit the search to a specific location. By default offline characters are ignored, you can turn this behavior off with -o option. `gameinfo infoType Scripted equivalent of hardcoded ~gameinfo. Only infoType == 1 is implemented. `listauthenticated Alias: `la Displays all authenticated characters present in the game (except those with GodOfTheRealm mode). Moving Around `teleport map [entire] [(-p player | -n npc)] [-x hexX -y hexY] Alias: `tp Teleports a critter to a specific place. The map parameter is either map Id or map alias (for example "nr" for New Reno). Full list of map aliases can be found in SetAliases function in cheats.fos module. `teleportteam map [entire] [(-p player | -n npc)] [-x hexX -y hexY] Works exactly like `teleport, except it teleports also players who tagged you and are near you. `goto [(-p player | -n npc)] [-s] [-f] Teleports to a critter. Use -s switch to be teleported in a safe distance from the critter. Use -f switch to force teleportation if the critter is on global map (by default teleporting to critters on global map is disabled). `toglobal [(-p player | -n npc)] Teleports a critter to global map. `summon (-p player | -n npc) Summons a critter to you. `dismiss (-p player | -n npc) Teleports the critter back where it was. Items `spawnitem pid count [-x hexX -y hexY] [-r radius] [-a amount] [-script module@function] [-legit] Spawns item on ground. Amount is amount of items in a single stack, count is number of stacks. Use -legit flag (admin access only) to spawn item which can be used in normal (legit) locations. Check cheats.fos, there is more options. `give pid count [(-p player | -n npc)] [-script module@function] [-legit] Gives a critter an item. Check ITEMPID.H for the list of pids. Use -legit flag to spawn legit item (requires admin access level). Non-legit items can be used only in non-legit locations (locations spawned with a command without -legit option). `pickitems Picks all items from the hex. `dropitems Drops all items in inventory slot. `clearinventory Deletes all items inside inventory slot. Critters `addnpc protoId [-d dialogId] [-s module@script] [-l level] [-dir direction] [-b bagId] Creates an NPC. The options should be quite self explanatory (there is a lot more, check cheats.fos). There are similar commands `addmob and `addfollower. `param 0 param [value] A command allowing to view and set your character params. Full list of params can be checked in _defines.fos. `disguise crType [(-p player | -n npc)] Popular command to change "skin" (critter type) of a player or an NPC. Critter types are defined in CritterTypes.cfg file. `ces Clears enemy stack of all critters on the map. If AI hits the fan, `ces might help. `kill (players | npcs | all | -p player | -n npc) Kills every player / NPC / critter in your sight or just a critter of your choice. `reviveall Something you want to type quickly after you missclick airstrike button. `resetreputations [(-p player | -n npc)] Resets all reputations of a critter. `dropdrugs [(-p player | -n npc)] Removes all addictions from a critter. Locations `createlocation pid [-legit] Creates a location with given location pid at your global map coordinates. Use -legit flag to create a legit location (in legit locations non-legit items won't work for players). `deletelocation Deletes location you are in. `disablepvp `enablepvp Disables / enables PvP in a map. `disablegrids `enablegrids Disables / enables exit grids in a map. Fun `slap (-p player | -n npc) [-a actionPoints] Slaps a player. Optionally you can decide how many action points you want to take - be careful, large values can keep player character on the ground for hours. `massslap [-a actionPoints] [-r radius] What is better than slapping a player? Slapping everyone in a map! Additionaly you can define how far the critters will fly (in a random direction). Warning: with large radius values players and especially NPCs (because they won't complain about it) might end up stuck in some unreachable places.
Item/Location legitimacy systemCode:There is a few NPCs (or rather dialogs) of special purpose which you might find useful at some point (for example to make events or for testing). `addnpc 170 -d 10799 -l 9999 Low tech outfitter. `addnpc 486 -d 10809 -l 9999 High tech outfitter. `addnpc 278 -d 10802 -l 9999 Altruist (gives free XP and money). `addnpc 251 -s vaul_guard@critter_init -l 9999 -r 1 -b 191 Event Enclave guard with sniper rifle. `addnpc 454 -d 2530 -s npc_shouter@critter_init -role 5 -a 238 -b 1 -t 9000 Hub Arena shouter. He shouts that a fighting event in the Hub Arena is taking place. Talking to him gives the option to teleport directly into the arena. (Was meant to be placed on every corner in the Hub when fight events are taking place).
Every item and map in the game is either legit or not legit. All items and locations created by standard game features are considered legit.
Items spawned with GM commands, are not legit, unless you use -legit switch in the commands. The switch can be used only with admin access level, in following commands:
createlocation
give
givekey
spawncar
spawnitem
In case of items, the -legit switch should be used ONLY when you spawn an item which is supposed to be 100% legal part of the game, used by all players however they want. The same goes for locations.
Legit item behavior
Spawned legit items and locations behave like any other legit item and location in the game.
Not legit item behavior
Spawned not legit items can be used by authenticated staff (tester access and higher) anywhere without most restrictions . By non-authenticated players they can be used without restrictions only inside not legit locations. There is a small exception for stackable items. Even in not legit location, stackable not legit items can't be picked up or used if player holds a legit item of the same kind (to prevent merging not legit stacks into legit stacks).
Not legit items can't be disassembled (not even in not legit locations).
You should still take all possible precautions when spawning items (the system helps prevent the most common mistakes, but it's far from perfect and there are many loopholes in it).
- - - Updated - - -
please someone test and tell me if it works,like i stated before im a gamer,not a good programmer(i know basics of visual,c# and sql/mysql)
so i cannot guarantee i would give support and edit code for this
all credits to the respective owners
i just share ,not taking credit for the files



Reply With Quote![[release]fallout online](http://ragezone.com/hyper728.png)




