I'm assuming that the issue I'm having has more to do with my C# and UO rust after a long absence, but no matter what I do, I haven't been able to trigger the reportmurderer gump when killing a player.
I'm using publish 54 with the stock reportmurderer.cs, and the gump simply never comes up, and players never take a short term, or long term kill after killing another blue player. In fact, during an attack, the attacking player is told that the guards can no longer be called on them.
I've tested this on multiple maps (Felucca, Trammel and Ilshenar), with differing rulesets, and nothing happens; the player dies and gets resurrected, but no report gump, and no kill or short term count for the killer.
I did add the OSI Accurate Bounty System posted in Custom Releases, but as you can imagine, it's difficult to set a bounty on a murderer that never gets flagged as such (and I've tested this with the bounty script added, and without it, to the same results).
I've looked at Notoriety.cs and ReportMurderer.cs, but can't seem to figure out the problem.

Has anyone else had this issue? Am I missing a setting somewhere that would affect the gump appearing?
 

Attachments

  • ReportMurderer.cs
    7.2 KB · Views: 1
  • ReportMurdererBountyGump.cs
    8.3 KB · Views: 2
  • Notoriety.cs
    22.8 KB · Views: 1
I would check

a) Is EventSink_PlayerDeath being called in the ReportMurderer or ReportMurdererBountyGump? If you don't have access to debugging tools such as visual studio, you can just put a in small debug message like Console.WriteLine("EventSink_PlayerDeath - ReportMurdererBountyGump");

Then if that line does not appear in the console, you know that EventSink_PlayerDeath is not being fired.

b) If the answer to a) is yes, it does fire, next insert some more debug lines into the for loop. Eg:

Code:
            foreach (var ai in m.Aggressors)
            {
                if (ai.Attacker.Player && ai.CanReportMurder && !ai.Reported)
                {
                    Console.WriteLine("Aggressor found: " + ai.Attacker);
                    if (!((PlayerMobile) m).RecentlyReported.Contains(ai.Attacker))
                    {
                        Console.WriteLine("Aggressor is liable for murder count: " + ai.Attacker);
                        killers.Add(ai.Attacker);
                        ai.Reported = true;
                        ai.CanReportMurder = false;
                    }
                }

                if (ai.Attacker.Player && DateTime.UtcNow - ai.LastCombatTime < TimeSpan.FromSeconds(30.0) &&
                    !toGive.Contains(ai.Attacker))
                    toGive.Add(ai.Attacker);
            }

Once you know the output of those, you can debug further.
 
Firstly, thanks for responding.

Now, the console write occurs prior to the 'foreach' line, but no other console writes occur.
 
Last edited:
If there is no message from inside the foreach then I would take a look if the aggressors list has any entries
 
Where I'm confused is in the fact that the ReportMurdererGump that came with Publish 54 and is unaltered, is not working; this is why I was curious if this is happening to anyone else.
I've even copied the version directly from the Repo in the event that I'd gotten a corrupted one.
Maybe my recollection of playing UO is a bit hazy, but I thought that the option to report a murderer was pretty much standard when you were killed.
 
You should check if there are aggressors and all other conditions, from there you can figure out whats happening.
So for that you could add this line above the
Code:
Console.WriteLine("##### Debug PK Report #####\nm.Aggressors: " + m.Aggressors.Count);
// Next Inside the foreach 
	Console.WriteLine("Ai.Attacker.Player:" + ai.Attacker.Player + "\nAI.CanReportMurder: " + ai.CanReportMurder + "\nAO.Reported: " + ai.Reported);
// After the foreach to make it a block
Console.WriteLine("\n##########################");
 
Thanks, Pyro. I'll have to try that out after work tomorrow, and see what happens.
[doublepost=1464315309][/doublepost]While reading up a bit on the murder system itself, I may have figured out the issue.
The criminal timer is ending while my test subjects are still fighting, which would probably be why the murders aren't being recorded, and the gump isn't firing.
I'll be checking on that tomorrow as well.
Thank you guys again, for the help, but it appears that my time away from the game really was the issue.
 
I have the same problem you do. I have the osi accurate bounty system installed and when players kill one another no gump pops up so it isn't just you. The strange thing is that it was working when I first tried it but it stopped at some point.
 
I'll post whatever I find when I get a chance to play around with the server some more tomorrow; if it is the criminal timer (i was testing with two newly created test chars, and they can't kill worth a damn, so that may be why the timer ends mid-fight), it should be a simple fix.
 
Why is the criminal timer ending while the players are still fighting? Every aggressive action in such a fight should reset the criminal timer (performing a harmful action against an innocent). Is this happening with a base install of ServUO?
 
Last edited:
@Jack, Yes, while fighting, the attacker gets a message that says "the guards can no longer be called on you". They go grey when they attack, and "the guards can be called" message appears at the beginning, but during the fight, the "no longer can be called" message appears, and they never get a kill count. It happened on a base RunUO 2.7 install (which is why I tried Servuo), and it happens there too.
The only reason I found it, was due to wanting to use your OSI Bounty system. But even without your system installed, it still happens.

I'll be digging more into it after work, today.
 
Just tested this on the ServUO server- in Fel and the char which was killed did get a report murder gump
 
Okay, so I'm an idiot...
I had Fellarin's auto-defend script in my server folder without realizing it; I removed it, and *poof*, everything worked again.
Apologies for the absent-mindedness, but thank you all for the help.
 

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back