Scripting Resources & Utilities > UO Client Modifications/Tools

Compile EasyUO (Window 10)

(1/5) > >>

bendel:
ALWAYS DOWNLOAD THE OFFICIAL VERSION FROM EASYUO.COM, IF I MAKE THIS TUTORIAL, IT IS FOR YOUR OWN USE AND AVOID DOWNLOADING THE PROGRAM FROM A SOURCE THAT COULD BE DANGEROUS.


forgive my English (not native language).

DELPHI 7 & EASYUO OpenSource Configuration for Windows 10 (8?).

first u have to find Delphi 7 Entreprise


install Delphi 7 
use keygen or buy it (lol)
Install choose : Typical
Uncheck  Use VisiBroker/Cobra Support
Uncheck Install InterBase Client
Next next next.

When installation finish,  in C:\Program Files (x86)\Borland\Delphi7\Bin    rename extension DELPHI32.DRO to DELPHI32.$$$

Now !

Now open Delphi, click on Component then Install Component and import what i show in picture :



when done, compile and install.

Open again Component & Install Component then :



Compile Install, Save all and Close.


Now open Delphi, open project  > \EasyUO_Source\easyuo\EasyUO.dpr
And use the green "PLAY BUTTON"

If it's working, fresh Easyuo will appear and compiled in the folder \EasyUO_Source\build


Next Part  :  Update & Scan Address

bendel:
Everytime there is a Forced Patch, EasyUO fu*k up... that's frankly an very sad moment for everyone.

But with the gracious kindness of Monsieur Cheffe,  We can try to make self and update. Thanks to the tools it has distributed.

In the folder \EasyUO_Source\tools , we can find "EUOUpdtr.exe"  and txt "EUO Updtr Strings 6062 and newer.txt".

"EUOUpdtr.exe" is a tool that can scan addresses to get the value of Character Info, Status Bars etc. 
Why ?   Because in most of each UO Updates, some values changes, so we have to scan the new ones and add it manually.

Example:

Yesterday, i was playing client 7.0.62.2 but today after an malicious patch,  my client is 7.0.63.2.  OK Let's go !

Open Ultima Online then "EUOUpdtr.exe"(With admins right), copy and paste the whole text string from "EUO Updtr Strings 6062 and newer.txt" to "EUOUpdtr.exe" (Left panel) and click on "Start" button.
On the right list, you will find all the new values !!




as you can see, SYSMSG give N/A {SYSMSG}  which is suck.  but Cheffe give the value to add (not string to scan) which is $009781FC

Ok now, we have all new values, Go update \EasyUO_Source\uo\uoclidata.pas
 
First, in "ClientList" Variable/Constant,  i add manually the version of client to update  and the number in array

###
### ClientList : array[0..223] of TClientList = (    ###  before 7.0.63.2 it was "array[0..222]" because I added 1 variable
###    (Cli: '7.0.63.2';   List: @SysVar70632;  ),   ### Newly Added line with client Version
###    (Cli: '7.0.62.2';   List: @SysVar70622;  ),   ###  7.0.62.2 client i was playing with yesterday
###

After this, you will have to add a new section for your variable with all the new Values you just get from the Tool Updater:

After the line 239  (approx)
### Add New name variable you added in ClientList and the array [0..77] should respect the number of variables / Const / Fetures etc..  if you add a line so 0..78 (...Logic)

(THIS IS JUST A SAMPLE, DON'T JUST COPY PASTE VALUES OF THIS CODES)
////////////////////////////////////////////////////////////////////////////////
  SysVar70632 : array[0..77] of TSysVarList = (                                       
    /// VARIABLES /////////
    (Expr: C_BLOCKINFO     ; Val: $00594D90),
    (Expr: C_CLILOGGED     ; Val: $00704C98),
    (Expr: C_CLIXRES       ; Val: $00705464),
    (Expr: C_ENEMYID       ; Val: $0097D7F4),
    (Expr: C_SHARDPOS      ; Val: $00983648),
    (Expr: C_NEXTCPOS      ; Val: $009837EC),
    (Expr: C_SYSMSG        ; Val: $009781FC),
    (Expr: C_CONTPOS       ; Val: $009842A0),
    (Expr: C_ENEMYHITS     ; Val: $00A4C48C),
    (Expr: C_LHANDID       ; Val: $00AA8A0C),
    (Expr: C_CHARDIR       ; Val: $00AA97C8),
    (Expr: C_TARGETCNT     ; Val: $00000000),
    (Expr: C_CURSORKIND    ; Val: $00AADEED),
    (Expr: C_TARGETCURS    ; Val: $00AADF4C),
    (Expr: C_CLILEFT       ; Val: $00AADF78),
    (Expr: C_CHARPTR       ; Val: $00AEEC0C),
    (Expr: C_LLIFTEDID     ; Val: $00AEEC58),
    (Expr: C_LSHARD        ; Val: $00AF32A4),
    (Expr: C_POPUPID       ; Val: $00AF3414),
    (Expr: C_JOURNALPTR    ; Val: $01EBA0CC),
    (Expr: C_SKILLCAPS     ; Val: $01F60B00),
    (Expr: C_SKILLLOCK     ; Val: $01F60AC4),
    (Expr: C_SKILLSPOS     ; Val: $01F60B78),
    /// BASE CONSTANTS ////
    (Expr: B_TARGPROC      ; Val: $0000000C),
    (Expr: B_CHARSTATUS    ; Val: $00000024),
    (Expr: B_ITEMID        ; Val: $000000A8),
    (Expr: B_ITEMTYPE      ; Val: $00000038),
    (Expr: B_ITEMSTACK     ; Val: $0000003E),
    (Expr: B_STATNAME      ; Val: $000000C4),
    (Expr: B_STATWEIGHT    ; Val: $00000038),
    (Expr: B_STATAR        ; Val: $00000038),
    (Expr: B_STATML        ; Val: $00000004),
    (Expr: B_CONTSIZEX     ; Val: $00000024),
    (Expr: B_CONTX         ; Val: $00000034),
    (Expr: B_CONTITEM      ; Val: $0000004C),
    (Expr: B_CONTNEXT      ; Val: $00000058),
    (Expr: B_ENEMYHPVAL    ; Val: $000000C4),
    (Expr: B_SHOPCURRENT   ; Val: $000000CC),
    (Expr: B_SHOPNEXT      ; Val: $00000044),
    (Expr: B_BILLFIRST     ; Val: $000000DC),
    (Expr: B_SKILLDIST     ; Val: $00000078),
    (Expr: B_SYSMSGSTR     ; Val: $00000100),
    (Expr: B_EVSKILLPAR    ; Val: $000000D8),
    (Expr: B_LLIFTEDTYPE   ; Val: $00000004),
    (Expr: B_LLIFTEDKIND   ; Val: $00000038),
    (Expr: B_LANG          ; Val: $00000060),
    (Expr: B_TITHE         ; Val: $00000084),
    (Expr: B_FINDREP       ; Val: $000001B4),
    (Expr: B_SHOPPRICE     ; Val: $00000030),
    (Expr: B_GUMPPTR       ; Val: $00000044),
    (Expr: B_ITEMSLOT      ; Val: $00000025),
    (Expr: B_MEMBASE       ; Val: $00000000),
    (Expr: B_PACKETVER     ; Val: $00000001),
    (Expr: B_LTARGTILE     ; Val: $0000001C),
    (Expr: B_LTARGX        ; Val: $000001A8),
    (Expr: B_STAT1         ; Val: $0000001C),
    /// EVENTS ////////////
    (Expr: E_REDIR         ; Val: $0059D3AD),
    (Expr: E_OLDDIR        ; Val: $006277B0),
    (Expr: E_EXMSGADDR     ; Val: $005AA5C0),
    (Expr: E_ITEMPROPID    ; Val: $00AA097C),
    (Expr: E_ITEMNAMEADDR  ; Val: $0057B680),
    (Expr: E_ITEMPROPADDR  ; Val: $0057B580),
    (Expr: E_ITEMCHECKADDR ; Val: $0043DA50),
    (Expr: E_ITEMREQADDR   ; Val: $0043EDB0),
    (Expr: E_PATHFINDADDR  ; Val: $00505E09),
    (Expr: E_SLEEPADDR     ; Val: $0068C0EC),
    (Expr: E_DRAGADDR      ; Val: $005ABD20),
    (Expr: E_SYSMSGADDR    ; Val: $005D9010),
    (Expr: E_MACROADDR     ; Val: $005839B0),
    (Expr: E_SENDPACKET    ; Val: $0045CF20),
    (Expr: E_CONTTOP       ; Val: $004DE950),
    (Expr: E_STATBAR       ; Val: $00549D40),
    /// FEATURES //////////
    (Expr: F_EXTSTAT       ; Val: $00000001),
    (Expr: F_EVPROPERTY    ; Val: $00000001),
    (Expr: F_MACROMAP      ; Val: $00000001),
    (Expr: F_EXCHARSTATC   ; Val: $00000018),
    (Expr: F_PACKETVER     ; Val: $00000001),
    (Expr: F_PATHFINDVER   ; Val: $00000001),
    (Expr: F_FLAGS         ; Val: $00000003),
    /// END ///////////////
    (Expr: LISTEND         ; Val: $00000000)
  );

When done, save the file.

Now, clean the folder build, re-open EasyUO.dpr from Delphi and Compile !

SMASHING !! you have a new fresh EasyUO before everyone <3<3   



I tried to be as clear as the level of my English =)

All questions welcome

For Delphi Link, just google it
For EasyUO Source http://www.easyuo.com/forum/viewtopic.php?f=52&t=53017
for EasyUO SysMSG & Journal Update http://www.easyuo.com/forum/viewtopic.php?f=52&t=53567

Don't forget to thank Cheffe for his amazing work.

gimlet:
nice thanks - i need to try this

The Ghost:
Thx for the leg work you did.  great start

Did you use a VM or just use your regular PC

bendel:
at first, I was using VMware with XP,

But personnaly prefer on my system

Navigation

[0] Message Index

[#] Next page

Go to full version