PenUltima Online

It is currently Sun Sep 07, 2008 2:45 pm

All times are UTC - 8 hours




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Murder Specify.
PostPosted: Fri May 25, 2007 5:05 am 
Offline

Joined: Fri Jul 21, 2006 9:58 pm
Posts: 61
In which file i can specify after what count of killing people Player become a murder ?
And how long ?
Thnx


Top
 Profile  
 
 Post subject:
PostPosted: Fri May 25, 2007 11:28 am 
Offline

Joined: Sat Feb 04, 2006 5:49 pm
Posts: 752
Location: Chicago, IL USA
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.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 26, 2007 10:12 am 
Offline

Joined: Fri Jul 21, 2006 9:58 pm
Posts: 61
OK, thnx


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 26, 2007 10:37 am 
Offline

Joined: Fri Jul 21, 2006 9:58 pm
Posts: 61
Sorry but i can't find where it's controled

Code:

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.


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 26, 2007 10:51 am 
Offline

Joined: Fri Jul 21, 2006 9:58 pm
Posts: 61
Code:
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


Top
 Profile  
 
 Post subject:
PostPosted: Sat May 26, 2007 2:03 pm 
Offline

Joined: Sat Feb 04, 2006 5:49 pm
Posts: 752
Location: Chicago, IL USA
repsys is for being grey, but not red.

Code:
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.


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 27, 2007 9:36 am 
Offline

Joined: Fri Jul 21, 2006 9:58 pm
Posts: 61
ok , thnx, i'll try...


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subice by phpBBservice.nl