Spodii / netgore

Cross platform online rpg engine using C# and SFML
http://www.netgore.com/
40 stars 16 forks source link

GM commands #161

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Add the following GM commands (if they don't already exist):

* Usurp <MapEntityIndex>
Take control of a NPC.

* Thrall <CharacterTemplateID> <amount> (<AI ID>)
Summons NPCs (non-persistent, no respawning), and optionally give them a new AI.

* RespawnList
Lists off everything in the respawn queue

* MapRespawnList
Lists off everything in the respawn queue for the map the user is on

* FindItem <ItemFilter>
Searches for the live in-game items that match the filter.

* FindItemTemplate <ItemTemplateFilter>
Searches for the item templates that match the filter.

* FindNPC <CharacterFilter>
Searches for the live in-game NPCs that match the filter.

* FindNPCTemplate <CharacterTemplateFilter>
Searches for the character templates that match the filter.

* GiveItem <UserNameOrCharID> <InventorySlot> (<amount>)
Gives the item in your inventory to another character. If no amount specified, 
give all of the item.

* TakeItem <UserNameOrCharID> <InventorySlot> (<amount>)
Takes the item from another character and places it in your inventory. If no 
amount specified, take all of the item.

* ViewInventory <UserNameOrCharID>
Shows the items in the target's inventory.

* ViewCharacter <UserNameOrCharID>
Shows detailed information on a character, such as their stats, etc.

* Kill <UserNameOrCharID>
Instantly kills the character.

* QSelect <query>
Performs a SELECT database query and returns the results. Will have to be sure 
to require another database user account to be specified instead of using the 
server's DB user.

* GiveCash <UserNameOrCharID> <amount>
Gives the target character cash from the user's pocket.

* TakeCash <UserNameOrcharID> <amount>
Takes cash away from the target character and adds it to the user's pocket.

* BanUser <UserName> <duration> <reason>
Bans the user's account.

* BanInfo (<AccountName>)
Shows the detailed information for a banned account. If no account name given, 
show all banned accounts with brief info.

* BanList (<filter>)
Shows the brief ban information for all bans, optionally filtering the results.

* Warn <UserName> <reason>
Adds a warning to the user. For admin view and logging only. Logs the warning 
issuer and time, too.

* WarnLog (<UserName>)
Lists off the latest warnings issued. Can be filtered for a specific user.

* Mute <UserName> <reason> (<duration>)
Mutes a user for a length of time.

* Unmute <UserName>
Removes a user's mute.

* Kick <UserName> <reason>
Adds a short ban on a user's account for a predetermined amount of time.

* ChangeName <UserName> <NewName>
Changes a user's name.

* Invisible
Toggles invisibility on the user.

* Immortal
Toggles immortality on the user (prevents them from taking any damage).

* Announce <message>
Sends a global announcement to everyone.

These respawn commands will depend on how easily I can implement the filtering, 
and how flexible I can make it:
* RespawnList (<CharacterFilter>)
* MapRespawnList (<CharacterFilter>)
* RespawnChar
* RespawnAll
* RespawnMap

These commands will need the following "filter" arguments to be supported. They 
will need to be string-based and able to be passed in a single parameter:
* CharacterFilter
* CharacterTemplateFilter
* ItemFilter
* ItemTemplateFilter

Also, will need support for the following commonly-used lookups:
* UserNameOrCharID - If integer value, use character ID. Otherwise, assume its 
a user's name.

Original issue reported on code.google.com by Spodiii on 23 Aug 2010 at 7:07

GoogleCodeExporter commented 9 years ago
Decided a lot of the stuff that will require filters will instead just be done 
external  to the game (e.g. through admin section of a game web site) to avoid 
the annoyances of adding them, since they are not really needed as part of the 
base engine.

Original comment by Spodiii on 23 Aug 2010 at 9:53

GoogleCodeExporter commented 9 years ago
Some more, mostly from Skye's suggestions at 
http://www.netgore.com/forums/post/gm-commands.html:

* Dethrall - Remove thralled NPCs in view
* DethrallMap - Removes thralled NPCs on the whole map
* DethrallAll - Removes all thralled NPCs in the game
* Warp <X> <Y> - Warps to a position on the current map
* Warp <MapID> <X> <Y> - Warps to a position on a new map
* Summon <UserNameOrCharID> - Brings a character to you
* Approach <UserNameOrCharID> - Sends you to the character

Original comment by Spodiii on 24 Aug 2010 at 6:05

GoogleCodeExporter commented 9 years ago

Original comment by Spodiii on 23 Sep 2010 at 6:38

GoogleCodeExporter commented 9 years ago
Taking myself off of this. If you want to work on them, please indicate which 
ones you resolved.

Original comment by Spodiii on 23 Sep 2010 at 6:39

GoogleCodeExporter commented 9 years ago
Or better yet, it'd be nice if someone could take the time to split these into 
individual commands (strongly related commands can be grouped in the same issue 
report).

Original comment by Spodiii on 25 Sep 2010 at 4:47

GoogleCodeExporter commented 9 years ago
I'm taking ownership of this.

Original comment by hilts.va...@gmail.com on 27 Sep 2010 at 2:45

GoogleCodeExporter commented 9 years ago
Is there anyway I can edit the orginal post and remove commands as I finish 
them?

Original comment by hilts.va...@gmail.com on 27 Sep 2010 at 3:18

GoogleCodeExporter commented 9 years ago
Unfortunately, no, there isn't. :/ Feel free to close this issue and create new 
issues like I mentioned in comment #5.

Original comment by Spodiii on 27 Sep 2010 at 3:52

GoogleCodeExporter commented 9 years ago
 Working on commands throughout. Would like a majority of these in the next version, I believe they help create a polished feel.

Original comment by hilts.va...@gmail.com on 28 Sep 2010 at 3:42

GoogleCodeExporter commented 9 years ago
I agree that it is very useful, though I'm not going to hold back the next 
release for them. But there is probably still about two weeks before the next 
release is even ready.

Original comment by Spodiii on 3 Oct 2010 at 5:16

GoogleCodeExporter commented 9 years ago

Original comment by Spodiii on 3 Oct 2010 at 5:20

GoogleCodeExporter commented 9 years ago
Are you still working on this?

Original comment by Spodiii on 18 Nov 2010 at 10:17

GoogleCodeExporter commented 9 years ago
Some more:

* TeachSkill <UserName> <SkillID>
* TeachSkill <UserName> <SkillName>
Teach the user the skill. If online, use KnownSkills. If offline, just insert 
the record into database.

Original comment by Spodiii on 22 Nov 2010 at 8:13

GoogleCodeExporter commented 9 years ago
Also "UnteachSkill" for the two above.

Original comment by Spodiii on 22 Nov 2010 at 8:14

GoogleCodeExporter commented 9 years ago

Original comment by skye7...@gmail.com on 3 Dec 2010 at 3:51

GoogleCodeExporter commented 9 years ago

Original comment by Spodiii on 30 Nov 2012 at 2:50

GoogleCodeExporter commented 9 years ago

Original comment by Spodiii on 2 Dec 2012 at 3:55

GoogleCodeExporter commented 9 years ago
I'm open to adding a lot of these in - most of them will make fine additions 
and it seems fitting since I orginally claimed they as mine nearly 3 years ago. 
=)

Original comment by hilts.va...@gmail.com on 5 Feb 2013 at 4:57

GoogleCodeExporter commented 9 years ago
Sweet :D

Original comment by Spodiii on 5 Feb 2013 at 5:04

GoogleCodeExporter commented 9 years ago
About Usurp, does NetGore provide any sort of functionality that would warrant 
"taking control of an NPC?"

Original comment by hilts.va...@gmail.com on 6 Feb 2013 at 5:14

GoogleCodeExporter commented 9 years ago
Usurp might be a bit of a tough one - not sure the best way to approach it. It 
is a fun one to have, but definitely no *need* for it.

Original comment by Spodiii on 6 Feb 2013 at 4:32