Felladrin submitted a new resource:

Clone Character On Logout - Get players wandering around even when they are offline!

Clone Character On Logout

This is something I always wanted to do. Took me all day long to get it working properly, but finally it's here.

It's a plug&play script that creates a clone of your players characters when they logout. And it's deleted as soon as they reconnect.

The clone is invulnerable, so players won't be able to kill them to get their items.

If player is mounted when logging out, the clone will be mounted in a copy of their mount.

The clone...

Read more about this resource...
 
Awesome idea. I'm curious, do the logout timers still function? If I'm in combat with someone and alt+f4, my character would normally remain in game for a period of time. Would this timer occur prior to the clone being created?
 
Felladrin updated Clone Character On Logout with a new update entry:

Improvements and fixes

- Now on the first time the script is run on the shard, it clones all offline players.
- Now the mounts are completely cloned. It avoids a bug of the mount disappearing and reappearing during some npc animations.
- Fixed the skills of the clones, so they can correctly train other players.

To update:
  1. Log in the shard with and administrative account and type: [global remove where characterclone
  2. Download the new version of this script and overwrite the old one....

Read the rest of this update entry...
 
Awesome idea. I'm curious, do the logout timers still function? If I'm in combat with someone and alt+f4, my character would normally remain in game for a period of time. Would this timer occur prior to the clone being created?

Hi, thanks for asking! The clonage occurs after that short period of time. So at the moment your char disappears the clone takes its place.
 
Here's a fresh screenshot of the clonage script in action, on the starting area of my shard (where most players logout):

screenshot.png
 
Felladrin updated Clone Character On Logout with a new update entry:

Hotfix to avoid server crash if chracter is mounted on an ethereal mount

Hotfix to avoid server crash if chracter is mounted on an ethereal mount, which is not a BaseMount.

I've noticed this bug after a report from ckz666 (https://github.com/felladrin/last-wish/issues/5).

Later I'll try to make it clone the mount in all cases (being an item or a mobile).

To update, just copy this new script over the old one.

Read the rest of this update entry...
 
Cool idea. What happens when the player logs back in? Do they appear where the logged out, or where their clone has wondered off to?
 
Was playing around with this script, noticed it can in its current form be exploited in at least one way.
1) If the character is mounted on say a nightmare, and that nightmare has say perfect stats, you can log out the character so the clone spawns in, then use a bola on the clone. A duplicated version of the nightmare appears, with the same stats and skills. When the player logs back in they'll have their original NM and the duplicated one.

I also added a line to append the title [Wandering] to the clone so people don't feel stupid talking to fake players (as long as I educate them on what [Wandering] means.)

Regardless, nice job. I like the feel this script creates. I hope it isn't fuel that people will just use to call people that use it number spoofers. I just like it for the dynamic, alive environment it creates.

One more suggestion, it would be nice if you could set them to wander only a short distance from where they logged out, and also, make sure they can't do things like block players or recall rune spots.
 
Last edited:
With the latest version of ServUO I am having this error come up with the script:
CS1061: Line 208: ‘Server.Mobiles.EtherialMount’ does not contain a definition for ‘Regular ID’ and no extension method ‘RegularID’ accepting a first argument of type ‘Server.Mobiles.EtherialMount’ could be found (are you missing a directive or an assembly reference?)

I am not sure why, I do have Ethereal mounts and everything....
 
Update line 208 with this:

Code:
public EtherealMountClone(EtherealMount original) : base(original.ItemID, original.TransparentMountedID, original.NonTransparentMountedID)

Seems to work ok.
 
I know this is a thing that's probably not updated regularly. Is there a way to make it so then if a player learns from a clone, that the clone's originator gets the money from teaching?
 
mistake:
+ Customs/1/4/CloneCharacterOnLogout.cs:
CS0501: Line 85: 'Felladrin.Automations.CloneCharacterOnLogout.CharacterClone.Original.get' must declare body because it is not marked abstract or extern
CS0501: Line 85: 'Felladrin.Automations.CloneCharacterOnLogout.CharacterClone.Original.set' must declare body because it is not marked abstract or extern
CS0115: Line 112: "Felladrin.Automations.CloneCharacterOnLogout.CharacterClone.IsInvulnerable": no suitable method found to override
CS0501: Line 141: 'Felladrin.Automations.CloneCharacterOnLogout.ItemClone.Original.get' must declare body because it is not marked abstract or extern
CS0501: Line 141: 'Felladrin.Automations.CloneCharacterOnLogout.ItemClone.Original.set' must declare body because it is not marked abstract or extern
Scripts: One or more scripts could not be compiled or the script file could not be found.
- 单击关闭退出,或按 R 重新编译。

runuo2.0,help!!!
 
Back