[Relz] Oblivion -Elys- Uncapper ( OBSE plugin ) #2

Post » Tue Sep 14, 2010 8:47 am

What would be nice if there was an alternate version without the hard cap unlocker but with the new formulas. Some of us think that 100 is plenty but would like to be able to use enchantments, potions, spells, etc to bring skills/stats above 100.


Then try http://karamail.nerim.net/elys/download/Oblivion%20-Elys-%20Uncapper%20v0.97.zip and modify the OBSE_Elys_Uncapper.ini ;)

; Set Attribute and Skill cap to 200
; 0:Disable, 1:Enable
ModLevelSkillCap=0

User avatar
Dan Wright
 
Posts: 3308
Joined: Mon Jul 16, 2007 8:40 am

Post » Tue Sep 14, 2010 1:11 am

Hey i just downloaded this, but i am confused.

I have OBSE v.0014a, but i do not have the mentioned folder.

It was not in the data folder but in a folder called src:

Bethesda softworks/Oblivion/src/
There i have the following:

Common/
Obse/
Obse_Plugin_example/

And under Obse i have:
installer/
loader/
obse/
obse_common/
obse_editor
testscripts/

There, is no plugin folder nor is the OBSE folder located in the default TESIV install, but in a folder called, src, care to explain which one i am supposed to put it in?

(Edit: ok as i read further i found out that i had to create it myself, but in which subfolder?)
User avatar
lexy
 
Posts: 3439
Joined: Tue Jul 11, 2006 6:37 pm

Post » Tue Sep 14, 2010 12:18 pm

If the folder does not exist, make it.
User avatar
Paul Rice
 
Posts: 3430
Joined: Thu Jun 14, 2007 11:51 am

Post » Tue Sep 14, 2010 4:35 pm

If the folder does not exist, make it.


I know, as i said, in which subfolder?
User avatar
Avril Churchill
 
Posts: 3455
Joined: Wed Aug 09, 2006 10:00 am

Post » Tue Sep 14, 2010 1:34 pm

I know, as i said, in which subfolder?

Copy OBSE_Elys_Uncapper.dll to your "\DATA\OBSE\Plugins\"
( by default "C:\Program Files\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\" )

User avatar
Darian Ennels
 
Posts: 3406
Joined: Mon Aug 20, 2007 2:00 pm

Post » Tue Sep 14, 2010 11:02 am

And as i also said, i do not have that default data/obse directory...
User avatar
Monika Krzyzak
 
Posts: 3471
Joined: Fri Oct 13, 2006 11:29 pm

Post » Tue Sep 14, 2010 8:28 am

OBSE has to be installed into the Oblivion folder. It can't be in the SRC folder. If it is, it is not installed correctly.

Put it in the Oblivion folder and then create the necessary subfolders for the plugins.
User avatar
brian adkins
 
Posts: 3452
Joined: Mon Oct 01, 2007 8:51 am

Post » Tue Sep 14, 2010 1:41 pm

OBSE has to be installed into the Oblivion folder. It can't be in the SRC folder. If it is, it is not installed correctly.

Put it in the Oblivion folder and then create the necessary subfolders for the plugins.


That seems weird, as i downloaded a zip version where the obse_loader.exe etc is defaulted for the "oblivion" folder, while the rest is already pre-located in the src folder.
User avatar
Vahpie
 
Posts: 3447
Joined: Sat Aug 26, 2006 5:07 pm

Post » Tue Sep 14, 2010 9:29 am

And as i also said, i do not have that default data/obse directory...

If the folder does not exist, make it.

The SRC folder is added by OBSE, and IIRC just contains the source to it. You need to make a folder in the data files directory called OBSE, then one in that called Plugins.
You can make a folder within another folder.
User avatar
Sunnii Bebiieh
 
Posts: 3454
Joined: Wed Apr 11, 2007 7:57 pm

Post » Tue Sep 14, 2010 3:42 am

The SRC folder is the source code for the OBSE program. It is meaningless unless you plan on altering the program and recompiling it yourself. All you need to make OBSE run is the loader and the dll files in your Oblivion directory, plus the extra directories that you have to create for the plugins.
User avatar
Jamie Lee
 
Posts: 3415
Joined: Sun Jun 17, 2007 9:15 am

Post » Tue Sep 14, 2010 12:29 pm

The SRC folder is added by OBSE, and IIRC just contains the source to it. You need to make a folder in the data files directory called OBSE, then one in that called Plugins.
You can make a folder within another folder.


Of course i know that i can make a folder within a folder <_<

But i thought the Obse folder in the data folder should have been preset by the installer / zip, but you have to make both? or have i installed it wrong?

Edit: nevermind i got the answer WHILE i was posting.

Btw, is obse lower/uppercase sensetive when it comes to directories?
User avatar
Jonny
 
Posts: 3508
Joined: Wed Jul 18, 2007 9:04 am

Post » Tue Sep 14, 2010 10:17 am

...
Btw, is obse lower/uppercase sensetive when it comes to directories?


It does not matter. It's not case sensitive.
User avatar
Kortknee Bell
 
Posts: 3345
Joined: Tue Jan 30, 2007 5:05 pm

Post » Tue Sep 14, 2010 1:15 pm

It does not matter. It's not case sensitive.


Ok, thanks! Hopefully i got it right then, i just have to wait and see =P
User avatar
kitten maciver
 
Posts: 3472
Joined: Fri Jun 30, 2006 2:36 pm

Post » Tue Sep 14, 2010 12:32 pm

You 0.97 release doesn't seem to work, neither strength or blade above 100 raises damage, destruction above 100 doesn't reduce magic. Note: 0.96 works on my system so it's not installed wrong.
User avatar
ijohnnny
 
Posts: 3412
Joined: Sun Oct 22, 2006 12:15 am

Post » Tue Sep 14, 2010 7:44 am

I have a Problem with Version 0.97 of your Uncapper:
It disables the OBSE-Command GetOBSEVersion (if I try to use it in console i get an error-message telling me it's not a command).
If I delete the Uncapper-Files GetOBSEVersion works without problems.


I'm using OBSE v0015 Beta 1.
User avatar
-__^
 
Posts: 3420
Joined: Mon Nov 20, 2006 4:48 pm

Post » Tue Sep 14, 2010 6:26 am

I have a Problem with Version 0.97 of your Uncapper:
It disables the OBSE-Command GetOBSEVersion (if I try to use it in console i get an error-message telling me it's not a command).
If I delete the Uncapper-Files GetOBSEVersion works without problems.
I'm using OBSE v0015 Beta 1.


Just use the normal v0.96 version.
v.97 is just a try-version I made quickly yesterday for the last request, But I have not got time to test it yet. I'm gonna have a look at it for the bug you just reported.
User avatar
Benjamin Holz
 
Posts: 3408
Joined: Fri Oct 19, 2007 9:34 pm

Post » Tue Sep 14, 2010 8:14 am

Ok, updated code: http://karamail.nerim.net/elys/download/Oblivion%20-Elys-%20Uncapper%20v0.98.zip

library OBSE_Elys_Uncapper;uses  Windows, SysUtils, IniFiles;typePluginInfo = record  const	kInfoVersion : Longword = 1;  var  infoVersion : Longword;  name : PChar;  version : Longword;end;OBSEInterface = record  obseVersion : Longword;	oblivionVersion : Longword;	editorVersion : Longword;	isEditor : Longword;  RegisterCommand : function( CommandInfo : Pointer ): Boolean; cdecl;  SetOpcodeBase : procedure( opcode : Longword ); cdecl;  QueryInterface : procedure( id : Longword); cdeclend;const  sub_548C00_GoBack : Longword = $00548C09;  PfMagicCasterSkillCostBase : PSingle = Pointer($00B37DE8);  PfDamageSkillMult : PSingle = Pointer($00B36DE8);  PfHandDamageSkillMult : PSingle = Pointer($00B36E58 );var  sub_548C00_MagicCost_Fix_Addr : LongWord;  MagicSkillLevel : Longword;  fMagicCasterSkillCostBaseNew : Single;  WeaponSkillLevel : Longword;  fDamageSkillMultNew : Single;  HandSkillLevel : Longword;  fHandDamageSkillMultNew : Single;  IniFile : TIniFile;  ModLevelSkillCap : Boolean = True;  ModMagicCost : Boolean = True;  ModH2HDamage : Boolean = True;  ModWeaponDamage : Boolean = True;  NameBuffer: PChar;procedure Overwrite( Address : Longword; Data: int64; Size: Byte);var  OldFlag,i : Longword;  pB : PByte;begin  if VirtualProtect( Pointer(Address),Size,PAGE_READWRITE,@OldFlag) then	begin	  for i := 1 to Size do		begin		  pB := PByte(Address+i-1);		  pB^ := PByte(Longword(@Data)+7-i)^;		end;	  VirtualProtect( Pointer(Address),Size,OldFlag,@OldFlag);	end;end;procedure OverwriteLW( Address ,Data: Longword );var  OldFlag : Longword;  pLW : PLongword;begin  if VirtualProtect( Pointer(Address),4,PAGE_READWRITE,@OldFlag) then	begin	  pLW := PLongword(Address);	  pLW^ := Data;	  VirtualProtect( Pointer(Address),4,OldFlag,@OldFlag);	end;end;procedure MagicCostFix;begin  if MagicSkillLevel > 100 then	begin	  if MagicSkillLevel > 200 then MagicSkillLevel := 200;	  fMagicCasterSkillCostBaseNew := PfMagicCasterSkillCostBase^ * ( 200 - MagicSkillLevel ) / 100;	end  else fMagicCasterSkillCostBaseNew := PfMagicCasterSkillCostBase^;end;procedure sub_548C00_MagicCost_Fix;asm  mov MagicSkillLevel, eax  push eax  push ebx  push ecx  push edx  call MagicCostFix  pop edx  pop ecx  pop ebx  pop eax  mov	 eax, [esp+$10]  mov	 ecx, [esp+$0c]  jmp [sub_548C00_GoBack]end;procedure WeaponDamageFix;begin  if WeaponSkillLevel > 100 then	begin	  if WeaponSkillLevel > 200 then WeaponSkillLevel := 200;	  fDamageSkillMultNew := PfDamageSkillMult^ * WeaponSkillLevel / 100;	end  else fDamageSkillMultNew := PfDamageSkillMult^;end;procedure sub_547070_Weapon_Damage_Fix;asm  mov WeaponSkillLevel, ecx  push eax  push ebx  push ecx  push edx  call WeaponDamageFix  pop edx  pop ecx  pop ebx  pop eax  cmp eax, $000000C8  fmul [$00B36DD8]end;procedure HandDamageFix;beginbegin  if HandSkillLevel > 100 then	begin	  if HandSkillLevel > 200 then HandSkillLevel := 200;	  fHandDamageSkillMultNew := PfHandDamageSkillMult^ * HandSkillLevel / 100;	end  else fHandDamageSkillMultNew := PfHandDamageSkillMult^;end;end;procedure sub_547280_Hand_Damage_Fix;asm  mov HandSkillLevel, ecx  push eax  push ebx  push ecx  push edx  call HandDamageFix  pop edx  pop ecx  pop ebx  pop eax  cmp eax, $000000C8  fmul	st(1), stend;Function OBSEPlugin_Query( var obse : OBSEInterface; var Info : PluginInfo ): boolean; cdecl;begin	info.infoVersion := PluginInfo.kInfoVersion;  info.name := 'OBSE_Elys_Uncapper';	info.version := 98;  result := False;  if obse.isEditor <> 0 then exit;  if obse.obseVersion < 12 then	begin	  MessageBox(0,'OBSE Elys Uncapper requires OBSE Version 12 or higher.','Error', MB_ICONERROR);	  Halt;	end;  if obse.oblivionVersion <> $010201A0 then	begin	  MessageBox(0,'OBSE Elys Uncapper requires Oblivion Version 1.2.0416.','Error', MB_ICONERROR);	  Halt;	end;  result:= true;end;Function OBSEPlugin_Load( OBSEInterface : Longword ): boolean; cdecl;begin  GetMem(NameBuffer,MAX_PATH+1);  ZeroMemory( NameBuffer, MAX_PATH+1 );  GetModuleFileName( HInstance, NameBuffer, MAX_PATH );  IniFile := TIniFile.Create(ExtractFilePath(NameBuffer)+'OBSE_Elys_Uncapper.ini');  try	ModLevelSkillCap := IniFile.ReadBool('Options','ModLevelSkillCap',True);	ModMagicCost := IniFile.ReadBool('Options','ModMagicCost',True);	ModH2HDamage := IniFile.ReadBool('Options','ModH2HDamage',True);	ModWeaponDamage := IniFile.ReadBool('Options','ModWeaponDamage',True);  finally	IniFile.Free;  end;  FreeMem(NameBuffer);  if ModLevelSkillCap then	begin	  // Directly Imported from my exe patcher.	  // Set Attribute and Skill cap to 200	  Overwrite( $005AC849 , $E8EBB347000000, 5 );	  Overwrite( $005AC859 , $C8000000000000, 1 );	  Overwrite( $005AC946 , $903CC800000000, 3 );	  Overwrite( $005AC94C , $73000000000000, 1 );	  Overwrite( $005ACC0A , $E833B047000000, 5 );	  Overwrite( $005ACC1E , $C8000000000000, 1 );	  Overwrite( $005ACC39 , $903CC873000000, 4 );	  Overwrite( $005ACD86 , $903CC872000000, 4 );	  Overwrite( $00668466 , $90E9DEF73B0000, 6 );	  Overwrite( $0066846F , $C8000000000000, 1 );	  Overwrite( $00668B41 , $903CC800000000, 3 );	  Overwrite( $00668B45 , $83000000000000, 1 );	  Overwrite( $00668C66 , $903CC873000000, 4 );	  Overwrite( $00A27C39 , $03F881FFC80000, 5 );	  Overwrite( $00A27C41 , $C303C33DC80000, 5 );	  Overwrite( $00A27C49 , $C383C40481FFC8, 7 );	  Overwrite( $00A27C53 , $E91408C4FF0000, 5 );	end;  if ModMagicCost then	begin	  // Allow Spell cost to decrease up to magic skill level 200	  OverwriteLW( $00548C2A ,Longword(@fMagicCasterSkillCostBaseNew));	  sub_548C00_MagicCost_Fix_Addr := Longword(@sub_548C00_MagicCost_Fix);	  Overwrite( $00548C01 , $FF250000000000, 2 );	  OverwriteLW( $00548C03 ,Longword(@sub_548C00_MagicCost_Fix_Addr) );	end;  if ModWeaponDamage then	begin	  // Allow Weapon Damage to increase up to skill level 200	  OverwriteLW( $005470C3 ,Longword(@fDamageSkillMultNew));	  Overwrite( $00547091 , $90909090E80000, 5 );	  OverwriteLW( $000547096 ,Longword(@sub_547070_Weapon_Damage_Fix) - $00054709A );	  OverwriteLW( $005470DC , $000000C8 );	end;  if ModH2HDamage then	begin	  // Allow Hand to Hand Damage up to skill level 200	  OverwriteLW( $005472AC ,Longword(@fHandDamageSkillMultNew));	  Overwrite( $005472A5 , $E8000000000000, 1 );	  OverwriteLW( $005472A6 ,Longword(@sub_547280_Hand_Damage_Fix) - $005472AA );	  OverwriteLW( $005472C9 , $000000C8 );	end;  result:= true;end;exports  OBSEPlugin_Query, OBSEPlugin_Load;beginend.

User avatar
Judy Lynch
 
Posts: 3504
Joined: Fri Oct 20, 2006 8:31 am

Post » Tue Sep 14, 2010 4:16 am

Thank you very much, 0.98 seems to be working just fine.
User avatar
lolly13
 
Posts: 3349
Joined: Tue Jul 25, 2006 11:36 am

Post » Tue Sep 14, 2010 10:41 am

To update, is it ok to just overwrite the 0.96 .dll with the 0.98 .dll, or do I need to make a cleansave with the old one deleted?
User avatar
Code Affinity
 
Posts: 3325
Joined: Wed Jun 13, 2007 11:11 am

Post » Tue Sep 14, 2010 6:38 pm

GetOBSEVersion works without problems with v0.98.
Thanks for solving this.
User avatar
Reven Lord
 
Posts: 3452
Joined: Mon May 21, 2007 9:56 pm

Post » Tue Sep 14, 2010 10:56 am

Hi, I want to switch from legendary mastery to your Uncapper but my save simply doesn't load after unchecking legendary mastery... any ideas what can be done?
User avatar
Jeneene Hunte
 
Posts: 3478
Joined: Mon Sep 11, 2006 3:18 pm

Post » Tue Sep 14, 2010 12:03 pm

Hi, I want to switch from legendary mastery to your Uncapper but my save simply doesn't load after unchecking legendary mastery... any ideas what can be done?


Read the first post of this thread to know :frog:

To update, is it ok to just overwrite the 0.96 .dll with the 0.98 .dll, or do I need to make a cleansave with the old one deleted?


Just overwrite the dll. You only need v98 if you wanna disable some of the features of the Uncapper else you can just stitch to v0.96.
User avatar
Ilona Neumann
 
Posts: 3308
Joined: Sat Aug 19, 2006 3:30 am

Post » Tue Sep 14, 2010 4:48 am

Read the first post of this thread to know :frog:

I did, I tried following the instructions... no joy :sad: .

If sometime in the my char's distant past (it's ~410 hours old) I used an exploit to permanently equip a ring and now an attribute is over 100 even if I remove everything... could that be the cause?
User avatar
James Shaw
 
Posts: 3399
Joined: Sun Jul 08, 2007 11:23 pm

Post » Tue Sep 14, 2010 1:40 pm

I did, I tried following the instructions... no joy :sad: .

If sometime in the my char's distant past (it's ~410 hours old) I used an exploit to permanently equip a ring and now an attribute is over 100 even if I remove everything... could that be the cause?


The ring probably modified your attribute base value directly.

You could use the Oblivion console and type something like ModPCAttribute Strength -100
replacing Strength with the attribute you want to modify.
User avatar
ruCkii
 
Posts: 3360
Joined: Mon Mar 26, 2007 9:08 pm

Post » Tue Sep 14, 2010 4:47 am

I have a Problem with Version 0.97 of your Uncapper:
It disables the OBSE-Command GetOBSEVersion (if I try to use it in console i get an error-message telling me it's not a command).
If I delete the Uncapper-Files GetOBSEVersion works without problems.
I'm using OBSE v0015 Beta 1.



OK, same Problem with v0.98 and the Final OBSE v15.
Could you please fix this.
[img]http://www.mysmilie.de/smilies/goldies/16.gif[/img]
User avatar
James Smart
 
Posts: 3362
Joined: Sun Nov 04, 2007 7:49 pm

PreviousNext

Return to IV - Oblivion