fodev.net

FOnline Development => Questions and Answers => Topic started by: JovankaB on July 01, 2013, 02:24:39 pm

Title: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 01, 2013, 02:24:39 pm
This thread is made to answer some basic questions about administrating/game mastering a FOnline: 2238 server from inside the game (commonly known as abusing). It's assumed you already know hardcoded FOnline SDK commands and the basics about FOnline server.

Note: in the following posts the "admin" term will usually mean a person with any access level higher than player. A term "access level" will be used whenever there will be a need to make a clear distinction between different access levels of admins (tester, moder or admin).

Let's get started!

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!
Title: [2238] FOnline: 2238 GM Abuse Tutorial Part 2
Post by: Wipe on July 01, 2013, 03:10:31 pm
Game Master Tools

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 (http://fodev.net/forum/index.php/topic,28914.msg250780.html#msg250780):
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 (http://fodev.net/forum/index.php/topic,6127.msg53474.html#msg53474) 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
Title: [2238] FOnline: 2238 GM Abuse Tutorial Part 3
Post by: JovankaB on July 01, 2013, 03:56:20 pm
Basic Server Commands

There is around 200 server commands and dozens of scripts in various modules. A complete description is outside of the scope of this tutorial. Below you will find the basic set of commands which should help you get started with administrative duties.

Note: The parts of commands written with cursive are variables (not actual text to type but rather what kind of data should be typed there). The parts in brackets are optional. Elements mutually exclusive are in parentheses and separated with |.

Before you start - some switches are used across many commands. The most common is [-p player] switch, which let's you choose target critter (player or NPC) - player can be either critter Id (it works for NPCs too) or player name. Usually when the switch is omitted and a command requires a target, the character using the command is the target. Similar switch [-n npc] let's you choose NPC by providing NPC Id (which is equal to critter Id - 5000000), which in many cases is easier to type.

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.
Title: [2238] FOnline: 2238 GM Abuse Tutorial Part 4
Post by: JovankaB on July 01, 2013, 06:48:58 pm
Special NPCs

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).


Finally there is a special command to make a teleporter NPC:

`teleporter -map mapId -tx targetHexX -ty targetHexY [-x hexX] [-y hexY] [-dir direction] [-it]
Teleporter Goris. Will teleport players to a map at specified coordinates. Use -it flag to allow teleportation with items.
Title: [2238] FOnline: 2238 GM Abuse Tutorial Part 5
Post by: JovankaB on July 01, 2013, 07:38:07 pm
Item/Location legitimacy system

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:
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).
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 02, 2013, 09:00:36 pm
The tutorial will stay open, if you have some questions about gm commands and similar topics, ask here.
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: raynor009 on July 03, 2013, 12:20:37 am
Everything works fine except the OSD menu/commands. Nothing happens when I change access.
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: Wire on July 03, 2013, 12:42:15 am
Everything works fine except the OSD menu/commands. Nothing happens when I change access.
try this one (https://dl.dropboxusercontent.com/u/68678026/FOnline2238.cfg) (use save as)
You might've left space in the end of the line.
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: Spiritwind on July 03, 2013, 06:03:46 am
Hmm, nothing seems to be working for me.  As far as I can tell I followed the first set of directions to the T. 

~getaccess password

Returns nothing.  No commands work, GMT is not displaying.  Any ideas?
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 03, 2013, 06:08:46 am
whoops, sorry, it should be (following the command syntax styling I used in the tutorial):
~getaccess (client | tester | moder | admin) password

Just like in FOnline SDK.
So for the highest access level (testers and moders can't use all commands) it would be: ~gettaccess admin yourpasswordhere
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: Spiritwind on July 03, 2013, 06:13:14 am
whoops, sorry, it should be (following the command syntax styling I used in the tutorial):
~getaccess (client | tester | moder | admin) password

Just like in FOnline SDK.
So for the highest access level (testers and moders can't use all commands) it would be: ~gettaccess admin yourpasswordhere
Awesome, it worked :).  Everything is good now :).
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: Wipe on July 03, 2013, 08:02:36 am
To display GMT menu, use CTRL+Click.
Lazy dev forgot to add it, so i did :'(
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: fonliner on July 03, 2013, 08:33:20 am
I have a problem with getacess admin commands, it is stupid but I do not sure if I make it properly.

GetAccess.cfg (it is the same folder where are FOnlineServer and FOnlineServer.cfg).

GetAccess.cfg:
Code: [Select]
[Admin1]
Access=admin
Password=123

FOnlineServer.cfg:
Code: [Select]
# Keys for accesses
# Aviable four access mode: client (default on login), tester, moder, admin
Access_client=123
Access_tester=123
Access_moder=123
Access_admin=123
AccessNames_admin=Admin1

In game command ~getaccess admin 123 and "access denied".
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 03, 2013, 08:39:28 am
No, GetAccess.cfg should be created in Server/config/ subfolder, here:

https://github.com/rotators/fo2238/tree/master/Server/config
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: raynor009 on July 03, 2013, 11:40:48 am
Found a bug  ;D.. if DisplayTCZone is set to 2 the admin osd will not work.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Nick.is.Back on July 03, 2013, 02:14:24 pm
Why CTRL+CLick dosn't work for me
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: EnergyForYou on July 03, 2013, 03:55:56 pm
First make .cfg file inside of config folder where you need to put:
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
Then after you log into game, write ~getaccess... after that write ~gmtools menu load (nameofyourconfig.cfg)
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 03, 2013, 04:01:19 pm
It can be inside GMTButtons.txt file (default gmt buttons file) in the client root folder
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: EnergyForYou on July 03, 2013, 04:03:09 pm
Yes, much more simple than what I did.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Ganado on July 03, 2013, 10:42:57 pm
Oh man, this is so much better than TLA's SDK. Thanks a lot for releasing it!

In particular I really like how the admin interface shows the pids for scenery and walls, shows the hex locations, and that this fixed some of the annoying bugs that were in TLA SDK + it has the convenient Awareness, timeouts, etc. already built into it.

Also love the little things, like when an admin +requesthelp, or the other funny texts with some of the commands.

Questions:
Is it possible to make it also show the pid for tiles? That could help for mapper purposes.

Why doesn't `param 0 11 value change my carry weight? This problem seems to be in the original SDK, too. On 2238 when I type 100 for value, it says it changed param 11 from 68250 to 67960. 67960 is definitely not 100. The coding for CARRY_WEIGHT seems to be the same as everything else...
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: SEGA_RUS on July 03, 2013, 11:07:35 pm
about ~param 0 param [value]
Quote
Command: param
Uncnown command.

hahahahhaha, sorry, just used ~ instead `
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 04, 2013, 03:13:45 am
Questions:
Is it possible to make it also show the pid for tiles? That could help for mapper purposes.

Nothing can be done with tiles with scripts.

Quote
Why doesn't `param 0 11 value change my carry weight? This problem is in the original SDK too. On 2238 when I type 100 for value, it says it changed param 11 from 68250 to 67960? 67960 is definitely not 100. The coding for it seems to be the same as everything else...

The carry weight is in grams. You have to use a very large value (1000x CW) to see some result.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Ganado on July 04, 2013, 05:12:02 am
Okay it works fine now, thanks.

First off, is this all I need to do for the GodOfTheRealm part in cheats.fos?
Quote
bool GodOfTheRealm(uint id)
{
    return true;        // default is false
}

Second,
Quote
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.
How exactly does one run the god function? What would the command be in-game? I'm not sure how this part works, I've tried various things. Same applies for the AdminLook. The AdminLook seems to be the most convienent way of making all the NPCs work again after ~regenmap by being able to see every NPC at once in order to kill them.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Wipe on July 04, 2013, 05:58:19 am
First off, is this all I need to do for the GodOfTheRealm part in cheats.fos?
Technically: yes.
However, it would open some of features to every character - unlike regular cheats, GodOfTheRealm may have some things enabled without need to be authenticated. For example, once you enabled this mode, your character will always stay invisible, until you disable it (note that invisibility includes list of players online provided by ~gameinfo 1).
tl;dr - If that's for local server, then you're ready to go; if not, i'd uncomment original part of the function and use own name(s) there. Unless you remove/modify how it works in scripts and extensions, ofc.

Second,How exactly does one run the god function? What would the command be in-game?
Enable:
~run cheats god 0 0 0
Disable:
~run cheats mortal 0 0 0
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on July 04, 2013, 06:16:46 am
If that's for local server, then you're ready to go

However, in that case you don't really need it. GodOfTheRealm doesn't give you some special features that normal admins don't have. It's mostly protections from abuses of other admins (they can't slap you, teleport you to WM etc).
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: raynor009 on July 07, 2013, 02:25:04 pm
Don't think this was mentioned in the tutorial but: if you want to change that message which the player gets when he fails to login as admin you have to go in client_message.fos and from the line 311 to 316 is what you need to change.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: K-9 on August 06, 2013, 10:08:24 pm
How to spawn some barrels/etc. for event ?
+
How to change the number of players required for having a faction ?
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on August 07, 2013, 10:58:34 am
You spawn barrels like any other item. Look for their PIDs in ITEMPID.H file. Commands to spawn items are in the tutorial. The minimum number of people you need to register a new faction is in the dialogs of the NPCs who sell bases. So you have to modify the dialogs.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: K-9 on August 09, 2013, 05:44:17 pm
Ahh ! Thank you for the answer
Title: Re: [FOnline: 2238] GM Abuse Tutorial
Post by: ZeroFox on September 15, 2013, 08:39:39 am
Lazy dev forgot to add it, so i did :'(

Please tell me how you do that...
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: shinglaifs on May 09, 2014, 12:19:29 pm
`param 0 param [value]
A command allowing to view and set your character params. Full list of params can be checked in _defines.fos.

Just to add additional information about the command, I took me a while to figure out how to change param of other players and npc(s).
[-p player | -n npcID] would work on this command also; however, you must specify the [value] parameter, and the [-p player | -n npcID]  can only comes AFTER the [value] parameter.
So for example, to change the Strength of other player(named player1 for example), you will have to put:
`param 0 0 10 -p player1
You cannot "view" the current value of parameters of others by using
`param 0 0 -p player1  <-- this will give you an invalid argument error.
However, you can still able to "view" the current value of other player's(or npc) parameter by changing it to some other values first and read the log about the original values.

Or you can use `critterinfo [-p player | -n npcID] to get some basic info.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Wipe on May 09, 2014, 04:00:09 pm
While that's correct, it's worth to note that editing other players params isn't possible "out of box"; you have to disable this little check (https://github.com/rotators/fo2238/blob/master/Server/scripts/cheats.fos#L7913) first.

Oh, one more thing: checking target params is also possible thru ~run cheats checkparam2 (https://github.com/rotators/fo2238/blob/master/Server/scripts/cheats.fos#L837-845) [param] [targetId] 0
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on May 09, 2014, 06:06:29 pm
The easiest way to see parameters of other player/npc is to use `clone command!
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: shinglaifs on May 13, 2014, 08:10:27 am
Oh nice~ thanks for the info, I overlooked these two useful commands.
I took a look at the codes for the clone command, it seems that there is no easy turning back once you become someone else.
And I do have another newbie question about critter ID:
I have notice that there is a difference in the first digit of the ID for NPC between what is displayed in the OSD and that displayed on the Ctrl + Click GM menu.
For example the OSD will display 6596108 and the Ctrl + Click will show 1596108?
What is the logic behind for these numbering? how do they work?

By the way, I am glad that this community is still very active. Given that the previous post before my post was a few months ago, I did not expect I would get any replies. ;)
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: JovankaB on May 13, 2014, 08:24:11 am
Quote
I took a look at the codes for the clone command, it seems that there is no easy turning back once you become someone else.

You can make a second character as a "backup" (by cloning the original GM character). Then if you mess your GM character in any way, you can just login the backup character, relog to the original one, and clone the backup character. You have to use -full option to clone all aspects of character not just basic stats (though vars aren't cloned if I remember correctly).

Quote
And I do have another newbie question about critter ID:
I have notice that there is a difference in the first digit of the ID for NPC between what is displayed in the OSD and that displayed on the Ctrl + Click GM menu.
For example the OSD will display 6596108 and the Ctrl + Click will show 1596108?

Ctrl + Click shows "NPC Id", which is Critter Id - 500000.

Player characters register with Ids starting from 1 and NPCs are created with Ids starting from 500001. So there is this "NPC Id" for convenience when typing commands. But the real value is Critter Id.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: NoDriLL on May 31, 2014, 01:32:38 pm
Hello everyone,

I started to try this, althrow i started the server and maked a character with ADMIN priviliges, when i started the game almost everything is dark and without NOTHING... can anyone help me? lol
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: NoDriLL on May 31, 2014, 01:38:26 pm
Ah another thing... i cant see anything and i cant see the "cursor" too, only the red circle "move" cursor. The aim cursor and the "arrow" cursor i cant see (dont know why) - (you can change trow the 3 types of cursors by clicking the right mouse button, or by clicking on the weapon)
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: NoDriLL on May 31, 2014, 02:31:13 pm
Ok, its resolved... It missed the master and critter files... lol
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: NoDriLL on May 31, 2014, 04:39:06 pm
First make .cfg file inside of config folder where you need to put:
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
Then after you log into game, write ~getaccess... after that write ~gmtools menu load (nameofyourconfig.cfg)

This doesnt work!! :(
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Wipe on June 01, 2014, 04:51:15 am
This doesnt work!! :(
Check one post below this you quoted, or even better - second post in this thread.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: shinglaifs on June 19, 2014, 06:55:53 am
I have experienced in one of my PC running on Windows 7 that the OSD and admin menu was not able to displayed for some reason.
I resolved it by running the FOlineGL.exe instead.
Maybe you can try this.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Deakron on December 18, 2015, 05:32:50 am
Hello i have some issues for having the OSD of the game master tool, i added the GMT lines to FOnline2238.cfg but, after giving me the admin access, i have nothing on my screen.
We agree the Fonline2238.cfg is the one inside client folder?


For my 2nd question, i'm learning english so it dont understand everythings very well, on how to use admins commands perfectly.
My plan is to make a Fallout RolePlay, with roll20 "rules", as i want fallout 2 graphics for a RP, i decided to use the Fonline server to fill my needs.
Is it possible for someone who understands and using properly FOnline Admin commands and + (like GMT utilities) to add me on skype or something else, because i have many questions, and it could take less time for me than posting each time on the forum.
I know i'm asking a lot, but please, help me make my dreams comes true about a proper Fallout RP.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: cthulchu on August 15, 2017, 07:19:59 am
Ok, guys, there are many more admin functions:

http://docs.fonline.ru/commands.html#commands_info

But I  have a question about that. About reloading things on the fly.

When I do ~reloaddialogs, the chat says I have 1 error and no text are visible since then. If I reload the server though, everything is back to normal. Anyone encountered anything like this?
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Wipe on August 15, 2017, 01:58:15 pm
About reloading things on the fly
Unless you using some fancy new SDK which i have no idea about, you can forget about any reloading commands. Except ~reloadclientscripts and ~regenmap, these two are well known for working as intended.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: cthulchu on August 16, 2017, 06:49:58 pm
right. It's 2238. The one that released in 2013 and never updated even though the original fonline has been maintained all that time and has a lot of amazing features in it. Hasn't anyone run a live server on a recent sdk since 2238? Besides the Russians, obviously.

That's weird, tbh.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: loord on August 17, 2017, 08:01:37 am
FOnline 2 and AoP were build on original sdk using most recent from stable revisions (despite of constant progress and development of sdk still last 100% stable rev is ~412).
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: fonliner on August 17, 2017, 02:51:48 pm
original sdk

FOnline: 2238 sdk isn't original? LOL? It uses the same engine, only content is different.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: loord on August 17, 2017, 03:17:06 pm
My post was answer to cthulchu not just standalone statement as you got it. Point is that AoP, FO2 and russian servers (TLA Mk2, Requiem...) are based in straight line on TLA SDK not on 2238 source like Reloaded, Forever, Aftertimes and other newests servers.
Read more attentively and not cut words out of context.
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: cthulchu on August 23, 2017, 10:46:51 pm
got it, thank you for the clarification. I just have one more question.

The last stable 412. Why do they call it stable? Is it that it was the last version that passed 100% unit testing coverage?
Title: Re: [2238] FOnline: 2238 GM Abuse Tutorial
Post by: Wipe on August 31, 2017, 01:48:42 pm
The last stable 412. Why do they call it stable? Is it that it was the last version that passed 100% unit testing coverage?
Everything after is minefield of bugs and frogs falling from sky exploding in your face while cvet laughs maniacally behind your back while trying to cut your hair with a wooden plank.

On serious note~
Bugs are plenty, and can remind SDK pre-release times for some. Some are funny, some horrible, and some are not possible to workaround without hacking; best example - somewhere around r41x/r42x client stops loading dlls. It's a matter of few lines to fix that, but not every scripter is capable of writing dll injector just to change one specific bool (not to mention finding it without source).

Refactors every few commits; smaller, bigger, pointless, you name it. While they are not a big deal when you just started making Best FOnline Ever, they can be overwhelming when you have years of content already ingame.

And mind you, that's FOnline part only. There's AngelScript too, which is completly different story. While Andy usually tries to keep transition from new to old smooth, FOnline is compiled to always use newest stuff. Don't remember details now, but there was one specific change which affected casting int to float, or float to int, or both... Such things are usually around combat related/fancy math code (but it can be anywhere really) and you have to deal with them on par with previous two points. Fun, fun, funline.

But wait, there's more!
After you do all that and still have some sanity left, players gonna get...

Dropped DX support, which might or might not affect your playerbase. If majority still uses DX client for w/e reason, you have a problem :P
Overall drop in perfomance. And that comes from Kilgore who always been making fun of my wooden computah machines. Beside him, there was multiple reports from players during short test of newer (back then) client on Reloaded.
This one is most likely outdated, but there was few new shiny crash points which has never been taken care of. After two month of waiting for one thing to fix, reported many times, you simply decide to switch back to revision which doesn't provide all that shiny stuff, but simply works without all that problems.

And that, my little great old one (https://www.youtube.com/watch?v=ut82TDjciSg), is how you fall in love in revisions <= 412.
AoP is a good example that staying one revision can open a whole new world of possibilities. When you know client inside out, great stuff can happen (http://www.fonline-aop.net/nigerianprince/). Or cirn0. Either way, you can then focus of making/improving content and/or forcing client/server to obey your will, without need to worry about incoming changes.
There are cons of that decision, ofc, but i'm here for r412 propaganda, not objective opinion :)

Overall, i don't see any long-running servers to go beyond 412. What cvet pushes into FOnline is awesome for a new project, but not for one which has many years of history. Unless you have solid team of update-focused devs, and not just few people doing FOnline for fun, as a side-project. And nearly all FOnline servers are exactly that.