I've used IS for years now and love it, I'm looking to take my knowledge of the system a bit further than before. It is in this regard that I have a question about the possibilities of IS. I'm not sure if IS is the right conduit for what I want and that is the intention of this post, to find out.
Question:
IS has the ability to peek and poke the variables of a game, correct?
Example:
If I were in EverQuest and I wanted to poke/write to the address that holds my my "Breath" variable, I could do so with inner space? (I know most variables of this nature cannot be modified)
If that is possible, is there anything I can read on the wiki/documentation to help guide me forward?
Writing to an address/object
Moderators: Lavish Software Team, Moderators
Re: Writing to an address/object
NO... IS can not do this. You could load an extension (ISXGenHack comes to mind) or write your own IS extension.kram337 wrote:I've used IS for years now and love it, I'm looking to take my knowledge of the system a bit further than before. It is in this regard that I have a question about the possibilities of IS. I'm not sure if IS is the right conduit for what I want and that is the intention of this post, to find out.
Question:
IS has the ability to peek and poke the variables of a game, correct?
Example:
If I were in EverQuest and I wanted to poke/write to the address that holds my my "Breath" variable,nnot be modified)
If that is possible, is there anything I can read on the wiki/documentation to help guide me forward?
-j
You technically can, using LavishScript pointer types.
It is documented under [[LavishScript:Data_Sequences#Type_Casting|LavishScript Data Sequences]] -- see the part about Type Casting. This particular topic is kind of advanced and you can crash the game if you don't know what you're doing, but for example ${Int[123456](intptr):Inc} will increment the value at memory address 123456 (note that if you're looking at "offsets" in hexadecimal, e.g. 0x401234, you need to either convert it to decimal yourself, or use ${Math.Dec[401234]} to convert it to decimal, e.g. ${Int[${Math.Dec[401234]}](intptr):Inc} (will increment the value at memory address 0x401234)
It is documented under [[LavishScript:Data_Sequences#Type_Casting|LavishScript Data Sequences]] -- see the part about Type Casting. This particular topic is kind of advanced and you can crash the game if you don't know what you're doing, but for example ${Int[123456](intptr):Inc} will increment the value at memory address 123456 (note that if you're looking at "offsets" in hexadecimal, e.g. 0x401234, you need to either convert it to decimal yourself, or use ${Math.Dec[401234]} to convert it to decimal, e.g. ${Int[${Math.Dec[401234]}](intptr):Inc} (will increment the value at memory address 0x401234)