Murder Specify.

Here you can post threads requesting help on the official POL Ultima Online Emulator Core 096.
Note: Core 096 is no longer officially supported.
Post Reply
Nosferatu
Journeyman Poster
Posts: 63
Joined: Fri Jul 21, 2006 9:58 pm

Murder Specify.

Post by Nosferatu »

In which file i can specify after what count of killing people Player become a murder ?
And how long ?
Thnx
User avatar
CWO
POL Expert
Posts: 1160
Joined: Sat Feb 04, 2006 5:49 pm

Post by CWO »

scripts/misc/chrdeath.src is where the character dies so there's a start at least where the counts and possibly color gets applied to the person initially. Other than that its probably a startup script that goes through everyone online and sees if their timer expired yet to decay them off.
Nosferatu
Journeyman Poster
Posts: 63
Joined: Fri Jul 21, 2006 9:58 pm

Post by Nosferatu »

OK, thnx
Nosferatu
Journeyman Poster
Posts: 63
Joined: Fri Jul 21, 2006 9:58 pm

Post by Nosferatu »

Sorry but i can't find where it's controled

Code: Select all


Use uo;
Use os;

Include "include/dotempmods";
Include "include/objtype";
Include "include/client";
Include "include/possess";
Include "include/reportmurder";
Include "include/yesno";
Include "include/dismount";
Include "include/myutil";
Include "include/res";
Include "include/constants/propids";
Include "include/ranksystem";

Program chrdeath(corpse,ghost)

	Set_Critical( 1 );

	EraseObjProperty( ghost, PROPID_MOBILE_KILLED_BY );
	EraseObjProperty( ghost, PROPID_MOBILE_GUARD_KILLED );
	EraseObjProperty( ghost, PROPID_MOBILE_MAGIC_REFLECTION );
 
    AwardFrag( ghost );
        
   
	SetObjProperty( corpse, PROPID_CORPSE_CORPSE_OF, ghost.serial );

	// Anti looting bug fix for bags.
	foreach item in enumerateitemsincontainer(corpse)
	   if( item.IsA(POLCLASS_CONTAINER))
		if (item.usescript) SetObjProperty( item, "old_us", item.usescript ); endif
		item.usescript := ":loot:noview";
	   endif
	endforeach

	ReequipCursed(ghost,corpse);
	CurePoison(ghost);
 
/*
	if( Cint(GetObjProperty( ghost , "AttackedSelf" )) > 5 )
		foreach item in EnumerateItemsInContainer( corpse )
			DestroyItem( item );
		endforeach
		DestroyItem( corpse );
	endif
*/

	if( !ghost.cmdlevel )
		RevokePrivilege(ghost,"hearghosts");
		RevokePrivilege(ghost,"seeghosts");
	endif

	if( ghost.dead && (ghost.graphic != 0x192) && (ghost.graphic != 0x193) )
	  	ghost.graphic := 402 + Cint(ghost.gender);
	endif

	set_critical(0);

	if(len(ghost.reportables)>0)
		SendReportGump(ghost);
	endif

	set_critical(1);
	EraseObjProperty(ghost,"mr");

	var corpsename:=ghost.name;
	var mount;
	foreach item in ListRootItemsInContainerOfObjtype(corpse,0xF021)
		mount:=item;
	endforeach

	if( mount )
        Dismount(ghost,mount);
    endif
        
	WipeMods( ghost );
	RecalcVitals( ghost );

	set_critical( 0 );

	SetObjProperty(ghost,"death",ReadGameClock()+3600);

endprogram

function FindMyPack(myserial)
    var mybank:=OpenTamedStorageAreas();
    var bank_obj_name:="Bankbox  "+hex(myserial);
    var bankbox:=FindRootItemInStorageArea(mybank,bank_obj_name);

    if (!bankbox) bankbox:=CreateRootItemInStorageArea(mybank,bank_obj_name,UOBJ_BANKBOX); endif

    return bankbox;

endfunction


function OpenTamedStorageAreas()
    var bank:=FindStorageArea("Tamed Storage");

    if (!bank) bank:=CreateStorageArea("Tamed Storage"); endif

    return bank;
endfunction



function ReequipCursed(ghost,corpse)
 
 	set_critical(1);
	foreach item in EnumerateItemsInContainer(corpse)
		if( GetObjProperty( item, "StayEquipped" ) && GetObjProperty( item,"Cursed" ) )
			EquipItem(ghost,item);
		endif
	endforeach

	foreach item in EnumerateItemsInContainer(ghost.backpack)
		if( GetObjProperty( item, "StayEquipped" ) && GetObjProperty( item,"Cursed" ) )
			EquipItem(ghost,item);
		endif
	endforeach
	set_critical(0);

endfunction
i seek for a colors of players(Criminal Murder )and for a time that they stay in that colors.
Nosferatu
Journeyman Poster
Posts: 63
Joined: Fri Jul 21, 2006 9:58 pm

Post by Nosferatu »

Code: Select all

General General
{
	CriminalFlagInterval	0		# Time, in seconds, for which you will be marked criminal
	AggressorFlagTimeout	0		# Time, in seconds, for which you will be marked an aggressor
}
I am find that in repsys.cfg
User avatar
CWO
POL Expert
Posts: 1160
Joined: Sat Feb 04, 2006 5:49 pm

Post by CWO »

repsys is for being grey, but not red.

Code: Select all

Include "include/reportmurder"; 
its included in your death script. That will give you an idea of what props are being set and controlled. Once you know the props, look for another script thats using those props and you'll find where your timer is.
Nosferatu
Journeyman Poster
Posts: 63
Joined: Fri Jul 21, 2006 9:58 pm

Post by Nosferatu »

ok , thnx, i'll try...
Post Reply