Itemdesc Hook
-
Unfaithful
- Neophyte Poster
- Posts: 38
- Joined: Mon Jun 11, 2007 1:35 pm
Itemdesc Hook
it is possible to change color of displayed text over item when i 1xClick Left mouse button ? ( without tooltip)
-
Unfaithful
- Neophyte Poster
- Posts: 38
- Joined: Mon Jun 11, 2007 1:35 pm
Yessir.
You are right, I explained poorly.
We are using method where we first hook the singleclick and collect some data from object the player clicked. After that we send player a PrintTextAbovePrivate() with modified content. More optimal way would be creating and sending text packet instead of making core do it, but that's not part of this tuto.
Example of uopacket.cfg and singleclick.src below.
:singleclick:uopacket (.cfg)
:singleclick:singleclick (.src)
Code is mostly pseudo, but should give you the idea.
You are right, I explained poorly.
We are using method where we first hook the singleclick and collect some data from object the player clicked. After that we send player a PrintTextAbovePrivate() with modified content. More optimal way would be creating and sending text packet instead of making core do it, but that's not part of this tuto.
Example of uopacket.cfg and singleclick.src below.
:singleclick:uopacket (.cfg)
Code: Select all
Packet 0x09
{
Length 5
ReceiveFunction singleclick:singleclickhook
}
:singleclick:singleclick (.src)
Code: Select all
use uo;
program singleclick ( )
print("Hooking singleclickpacket");
return 1;
endprogram
exported function singleclickhook( who, byref packet )
// Packet contains only the serial
var object := SystemFindObjectBySerial(packet.GetInt32(1));
if (object.isa(POLCLASS_ITEM))
// So player clicked an item. Change text color to item's color.
// Of course color can be anything, this is just an example.
var color := object.color;
PrintTextAbovePrivate(object, object.desc, who, _DEFAULT_TEXT_FONT, color);
// --> player clicks green axe, he/she will get 'an axe' with green color.
// Return 1 so core won't react.
return 1;
endif
// If it was not an item, core will do.
return 0;
endfunction
-
Unfaithful
- Neophyte Poster
- Posts: 38
- Joined: Mon Jun 11, 2007 1:35 pm
You can also change color displaying above things in the "send speech" packet. http://packets.polserver.com/index.php? ... acket=0x1C