Quote:
Originally Posted by Smurfin
@asaky : I wish I could but I'm very limited lol, I got confused easily in this programming stuff and only managed to make something from gathering what you ppl already shared here.
@Interest07 :
no, I was just guessing if it had a queue for action, in this case for executing skills, because someone mentioned about it earlier and I think so too coz if pressing 2 skill hotkeys, both will be executed, but if pressing 3 or more, only two will be executed, one is the one executed immediately but another one is put in queue, while the rest are ignored.
btw, comparing your function to the follow function I use previously, I think I could make my old script working again by just changing 3184 to 4084 which is decimal value from 0xFF4.
$CHAR_DATA_BASE = memread(memread($APP_BASE_ADDRESS) + 0x20)
actionStruct is [CHARACTER_DATABASE + 0xFF4]
actionList := ReadMemory(actionStruct+0x30,client)
followPlayer := ReadMemory(actionList+0x1C,client)
that's similar to what I used above, only hex/dec difference
$FTARGET1[1] = 32 ;hex is 0x20
$FTARGET1[2] = 3184 ; this is C70 in hex, should be FF4 by now, but in pwi
$FTARGET1[3] = 48 ;hex is 0x30
$FTARGET1[4] = 28 ;hex is 0x1C
and I already changed $FMODE[2] = Dec("C70") to $FMODE[2] = Dec("FF4") but it still doesn't work. How do you find this "FF4" offset ? I'd like to find what should be the correct offset in PW Indo.
|
Ahhh I see what you mean now, you want to pass along several skills it has to perform in order as soon as it can? I'm not quite sure how you'd do that, I prefer just checking the cooldown time of the skills to see if I can use the next skill:
1) use skill1
2) wait for cooldown to be 0
3) use skill 2
etcetera, if I recall correctly if you use a skill, it will start a cooldown that needs to be 0 before you can use any other skill. So just execute the next skill as soon as that value is 0 and you should be able to chain skills quite easily.
As for finding that offset for your version of perfect world. I find it easiest to just use hotkeys to browse through my "character_database" and have a tooltip show the values until I find what I'm looking for, similar to the code I posted a while ago. You already know the values will look like, so it shouldn't be too hard to recognise it when you hit the right offset.
For example:
Say I'm looking for that offset (FF4 in PWI). I do know what values are supposed to pop up if I have the correct value for that offset.
So I simply set that offset equal to a variable actionStructOffset, then have a tooltip on my screen listing some values using that offset.
THen I use a hotkey to increase (or decrease) the actionStructOffset value until the tooltip shows values that make sense. And tadaaa I got my offset.
Code:
client := "Element Client"
actionStructOffset := 0x0
loop
{
actionstruct := ReadMemory(player+actionStructOffset,client)
actionList := ReadMemory(actionStruct+0x30,client)
moveAction := ReadMemory(actionList+0x4,client)
output := ""
val1 := ReadMemory(actionstruct+0x8,client, 1)
output = %output%New Action0 | %val1% `n
val1 := ReadMemory(actionstruct+0xC,client)
output = %output%New Action1 | %val1% `n
val1 := ReadMemory(actionstruct+0x10,client)
output = %output%New Action2 | %val1% `n
val1 := ReadMemory(actionstruct+0x14,client)
output = %output%Current Action | %val1% `n
val1 := ReadMemory(actionstruct+0x18,client)
output = %output%Next Action | %val1% `n -------------------- `n
i := -0x4
loop 40
{
i := i + 0x4
testing :=readmemory(MoveAction+i, client)
output = %output%[%i%]%testing%`n
}
}
=::
actionStructOffset := actionStructOffset + 0x4
return
-::
actionStructOffset := actionStructOffset - 0x4
return
this would look like this on my screen once I've gotten to the right offset:
[Only registered and activated users can see links. Click Here To Register...]
Most of the time the values will be error messages, so you know the quickly move on to the next offset. Sometimes it might look to be possibly correct values, then you just move a little, see if any values change as you'd expect. If not then you move on, if yes, yay you're there :p
This is the easiest way to find offsets rather quickly.