- Status Closed
- Percent Complete
- Task Type Bug Report
- Category
-
Assigned To
Aresilek Besolez - Operating System
- Severity High
- Priority
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#1345 - /updaterespawn command needs revising.
Before Steel Blue you could teleport an NPC to your location and then use “/updaterespawm” to make that location the NPC’s spawning location. However, teleporting is now disallowed on NPCs. This renders the command quite ineffective.
Instead of the NPC’s current location, the NPC’s spawn location should be updated to the current location of the person isssuing the /updaterespawn command. This would majorly increase the usefulness of the command.
Besides that, /updaterespawn also needs an entry in help.xml, is does not have one right now.
* IMPORTANT NOTICE: *
The spawning location of an NPC should not be changed by anyone unless:
-It is done by a recognized Settings team member, and done through the Web Console.
The /updaterespawn command can be used but *only* for testing purposes:
-On your local server.
-By a highest-level DEV and only within NPCroom.
The implementation of this new procedure requires that FS#1349 is fixed.
ID | Project | Summary | Priority | Severity | Assigned To | Progress | |
---|---|---|---|---|---|---|---|
1349 | PlaneShift | High |
The “/updaterespawn” command seems not to work after a server restart or crash, probably because it only writes to cache and not also the database.
“-It is done by a recognized Settings team member, and done through the Web Console.”
As a “Recognized settings team member” I respectfully disagree. the angle stored in the DB (and hence the WC), and the angle the NPC is in-game are different. in-game it is displayed in deegrees, I haven’t figured out the loc_yrot ↔ angle conversion yet. but we need a method to be able to update the spawn-position of an NPC in-game so that we can ensure that the NPC is positioned correctly
edit: reading the code it appears to be: int degrees = (int)(loc_yrot * 180 / PI ); however I still need to verify this in-game
That was from a conversation with Talad about how the procedure should work. If you respectfully disagree, talk to Talad. He is not added to this report. If commands to edit NPCs in-game are necessary, they should be fixed to work. At least this command has been dead for a while.
Moving an NPC through the WC, and then doing a /killnpc reload simply isn’t practical. For events we need to have the ability to move both Mobs and Named NPCS away from their locations.
Also Fine-grained positioning is also not practical through the WC. Given that a updaterespawn doesn’t work either, we can’t even /slide a NPC to the desired location (which can also prove problematic because of un-even terrain)
In short, GMs and Devs need to have the ability to teleport NPCs as needed.
My understanding is that this change was put in because NPCClient wasn’t getting the updated position of an NPC when it was ported. If this is still the case, I feel that rather than having the teleportation of NPCs be verbotten, we need to fix the real problem.
Eriroley what is Talad’s stand on this issue? if we could get a comment on how this should work, i can work on getting a coding prospect to take on this task.
The inability to teleport NPCs, while it may have provided an interim fix for a bug, has been discovered to greatly hamper events and fixes to NPC positioning. It would be the best of both worlds to team up to fix the underlying bug as quickly as we can, then reenable NPC teleporting to add back that very useful function.
If teleport should work, but is disabled because of a bug, that bug should be a dependency for this one. Or this one is not a bug at all. If teleport will stay disabled because TAlad thinks it should not be used, then this report should be : make /updaterespawn <npcname> change the target npc’s respawn position (and orientation) to that of the character issuing the command.
If one of the devs can just say that Talad is OK (or just to be ignored :) ) and this command should be changed, that is fine with me as well.
The initial problem with teleporting an NPC was that it caused random modifications to the spawning behaviour such as clones or alternating spawnpoints.
From my perspective, THIS should be fixed, instead of preventing the teleportation of NPCs as hack.
Ideally, /teleport simply should move the NPC to the position, whatever spawn rules or paths there may be - and this should be available also to GMs, to fix NPCs gone bad or make one-time monsters possible for events that will respawn in NPCroom when killed.
/updaterespawn on the other side should be available to devs only and take the current position of the user as new spawnpoint, taking the PID or “target” as argument.
It should directly modify the spawnpoint and - if there’s no other other way to do this clean - kill and reload the NPC.
EDIT: AND /updaterespawn should not only be applicable to NPCs but also to players! (See XilliX’ dev meeting notes)
if only devs can use updaterespawn and an attackable npc somehow got in a bad spot there will be no way for a gm to reset their position, so any gm that can teleport others can move/remove an npc from where it is but they cant make sure that the npc gets back to where it should be and stays there with /updaterespawn. what exactly is “xillix’s dev meeting notes” you can use /updaterespawn already on players not that it seems to do anything, and i dont see a reason it should be used on players.
In trunk r2472 I made the following changes:
- Fixed /updaterespawn to work with instances and save to db.
- You can now use ‘here’ to use your position instead of the NPC’s with /updaterespawn.
- Now only dev’s can use /updaterespawn.
Also teleporting of NPC’s has been re-allowed and /updaterspawn already had a help.xml entry which I updated.
Tested - Everything seems to work fine :)
The only thing that doesn’t work yet is /updaterespawn on players which was requested by Kerol two comments above.
Can we close this report and open a new feature request for that?
I think we should move the rest of this to a new report, and in addition i think it might be useful to have a combined command for devs /teleport npc here update which would update the spawn point and move them at the same time. Kerol what do you think?
Also Kerol what do you think of a version of this command for gms that only saves the new position for the time that the server is up, so gms can move npcs that are at bad starting locations temporally till a dev can pick a correct location for them?
The change spawn point of players is quite different and should have its own command (/changespawn perhaps) and workings in my opinion, I agree that should be in a separate feature request.
Since both versions are dev only I don’t see the necessity for two seperate commands, but if you think the new feature should be handled in a new FR I agree.
The restriction on /teleport was removed after fixing the connected issues. We will see if/when GMs need to change spawnpoints. Right now I don’t think it’s needed to have GMs able change spawnpoints, as long as we can teleport.