Page 2 of 6

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Sun May 20, 2018 6:43 pm
by Jessen
[QUOTE="lerygibson, post: 46468, member: 13655"]I can find the arcana id and modify the slot to get the arcana you want but still have no clue about arcana enhancing[/QUOTE]

well then, fill us in about the arcana IDs and such.

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Sun May 20, 2018 8:26 pm
by Cielos
[quote][B]Update2[/B]

- added [B]Enhanced Magic[/B].[/quote]

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Mon May 21, 2018 5:43 am
by Jessen
we just need a way to change what relics and arcana we have and its all golden.

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 12:16 am
by Shirokaido
Wonderful work, as always. I've been using tons of your tables since you made the one for Dragon's Dogma a few years back.



So I'm trying to learn scripting and was hoping you could give me an example; could you make a version of the Overdrive key that's scripted for a gamepad? Maybe for the X button or B button. I've tried a few things but can't seem to figure it out...

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 12:35 am
by Jessen
alright, now we just need something to handle relics, can we get something that lets us change relics?

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 8:50 am
by Cielos
[QUOTE="Shirokaido, post: 46590, member: 17486"]Wonderful work, as always. I've been using tons of your tables since you made the one for Dragon's Dogma a few years back.



So I'm trying to learn scripting and was hoping you could give me an example; could you make a version of the Overdrive key that's scripted for a gamepad? Maybe for the X button or B button. I've tried a few things but can't seem to figure it out...[/QUOTE]

most of the time when I need a key-activator for a script's function, I just use "GetAsyncKeyState". but it just support keycodes for keyboard and mouse click.

if you want to make a key-activator for controller, it depends what input method the game uses. this game's engine is Unity, you can just use CE's mono feature to check how the game integrated with the Unity input method.

or you can just use the good old method by searching the button pushed flags and manipulate them there.

as you can see form the script, I created a thread to act as a key-listener with "GetAsyncKeyState" (you don't actually need to create a thread on a x86 game, most of the time, a pushad popad should cover all the register restore. just that for x64, there are many registers, xmms to store/restore that would makes the scrip very messy, so creating a thread for "GetAsyncKeyState" is better) and create my own key-pressed-flags for the "main" script to decide when/what/how to manipulate the Overdrive bar.

when you find the game's own button-pushed-flags, then you can use them for the main "script" to decide when/what/how to manipulate the Overdrive bar.



the last time I made key-activators for controller is Lightning Returns I think. you can check that table for example.

(maybe for Dragon's Dogma too? I forgot...)



but, with the steam overlay, you can just use the steam controller to map a button to a keyboard key if you want... that would be the easiest way.

if it's not a steam game, you can still use autohotkey to map buttons to keyboard keys, the lines of codes would be significantly lesser than building a button-activator for gamepad using CE, let alone the time you need to trace the game codes for the bits you needed.

it'd be great for learning a new game eninge and practising (that's how I learn/practice anyway), but if you don't have the time and just want to play the game the way you want, choose the easiest way~

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 12:17 pm
by Shirokaido
[QUOTE="Cielos, post: 46610, member: 177"]most of the time when I need a key-activator for a script's function, I just use "GetAsyncKeyState". but it just support keycodes for keyboard and mouse click.

if you want to make a key-activator for controller, it depends what input method the game uses. this game's engine is Unity, you can just use CE's mono feature to check how the game integrated with the Unity input method.

or you can just use the good old method by searching the button pushed flags and manipulate them there.

as you can see form the script, I created a thread to act as a key-listener with "GetAsyncKeyState" (you don't actually need to create a thread on a x86 game, most of the time, a pushad popad should cover all the register restore. just that for x64, there are many registers, xmms to store/restore that would makes the scrip very messy, so creating a thread for "GetAsyncKeyState" is better) and create my own key-pressed-flags for the "main" script to decide when/what/how to manipulate the Overdrive bar.

when you find the game's own button-pushed-flags, then you can use them for the main "script" to decide when/what/how to manipulate the Overdrive bar.



the last time I made key-activators for controller is Lightning Returns I think. you can check that table for example.

(maybe for Dragon's Dogma too? I forgot...)



but, with the steam overlay, you can just use the steam controller to map a button to a keyboard key if you want... that would be the easiest way.

if it's not a steam game, you can still use autohotkey to map buttons to keyboard keys, the lines of codes would be significantly lesser than building a button-activator for gamepad using CE, let alone the time you need to trace the game codes for the bits you needed.

it'd be great for learning a new game eninge and practising (that's how I learn/practice anyway), but if you don't have the time and just want to play the game the way you want, choose the easiest way~[/QUOTE]

Ahhhhh, ok. I hadn't realized GetAsyncKeyState was only for kb&m. Dragon's Dogma was only keyboard hotkeys (at least for the scripts I used), but I think I remember a Lightning Returns script that used R3. Maybe, I could be wrong. I'll take a look to see what I can find, but you've been a great help, man. I'm planning to get a new controller over the weekend, so I'll do some testing at that point and try to share what I make. Cheers!

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 12:40 pm
by Cielos
yeah, reading the Lightning Return scripts now, here are some "tips" that would help you navigate through the scripts (hopefully...)...



- some scripts allows you to choose which pad button you want to use by selecting from the dropdown list as well...



- you can find the key-listener I used from the Enable script, "keyChk1AOB". that's the place where the game do the key checks, and I've injected codes there to fetch the pointer to the keys' flag here.



- I do it in the enable script as there are multiple scripts that need the key flags to activate certain funtion.



- for the key codes, you can find it from the dropdown list of the scritps that allows you to choose which key to use, e.g., Walk script.



- key codes the game used:

[code]00000001:Up

00000002:Down

00000004:Left

00000008:Right

00000010:Y

00000040:X

00000080:B

00000020:A

00000100:Left Bumper

00000800:Right Bumper

00030200:Left Trigger

000C1000:Right Trigger

[/code].



- if you're not familier with it, the codes would make more sense when viewing it in binary.

and to deal with this binary codes, use "and" to unmask the key would be the easiest way.



EDIT===

- "cmp" alone doesn't work well.

e.g., you want to us Y to activate certain funtion.

if you use "cmp [keypressed],00000010", the funtion would only be activated if you press ONLY the Y button.

if, for example, you press the Y button when pressing the Up button together, the function you intented won't be activated.

it's becuase the when pressing both Y and Up together, the codes would becomes "0x00000011".

so, the better way is use "and" before you do the cmp.

e.g.,

[code]mov eax,[keypressed]

and eax,00000010[/code]

this way, eax would becomes 0x00000010 if the Y button is pressed even if other button are pressed at the same time; it'd becomes 0x00000000 as long as the Y is not pressed.

===EDIT end



just read the scripts for deatils.





and that's about all I can remember for now by reading the codes.

good luck, and have fun~

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 1:06 pm
by TimFun13
I agree with [USER=177]@Cielos[/USER] that finding the game's flags would best, if you find the "action" flag then it won't matter what key is pressed (or even what key it is bound to, changing the key bindings can help to test if you have the key's flag or an "action" flag).



But I didn't see this Lua function mentioned, it can be used to get the controller start.

[URL]https://wiki.cheatengine.org/index.php?title=Lua:getXBox360ControllerState[/URL]

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 1:21 pm
by Cielos
[QUOTE="ShyTwig16, post: 46631, member: 91"]I agree with [USER=177]@Cielos[/USER] that finding the game's flags would best, if you find the "action" flag then it won't matter what key is pressed (or even what key it is bound to, changing the key bindings can help to test if you have the key's flag or an "action" flag).

[...][/QUOTE]

yeah, that's a better choice to make sure it works no matter you're using controllers or keyboard+mouse.

the downside is that, this method is bound by the "action" flags that the game uses, while on the keyboard, there are many other keys that are not register in the game's "action" flags... but it depends on the situation still.

but for myself, I mostly just use keyboard+mouse to play game, so I just stick to "GetAsyncKeyState" most of the time. only if the gams has crappy or even no keyboard+mouse support and I still want to play the game do I use the "action" flag method...



[QUOTE="ShyTwig16, post: 46631, member: 91"][...]

[URL]https://wiki.cheatengine.org/index.php?title=Lua:getXBox360ControllerState[/URL][/QUOTE]

it's because I rarely used lua script for my table unless using ASM alone doesn't give me what I want..

and the main reason is, I didn't even know this function~ thanks!

anyway, does this function works on other controllers other than xbox?

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 1:30 pm
by TimFun13
[USER=177]@Cielos[/USER]

1. I have never done it, but I would think checking the keyboard state then changing the corresponding flag would work. But if the game is only checking the action flags after a key is pressed, you may need to also call a function.



2. It works with the driver, so if you use DS3 or DS4 with some thing like DS4Windows (converting to XInput), then it works for that too. I use a DS4 and it is able to get it's state.

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 1:33 pm
by Shirokaido
[QUOTE="Cielos, post: 46633, member: 177"]yeah, that's a better choice to make sure it works no matter you're using controllers or keyboard+mouse.

the downside is that, this method is bound by the "action" flags that the game uses, while on the keyboard, there are many other keys that are not register in the game's "action" flags... but it depends on the situation still.

but for myself, I mostly just use keyboard+mouse to play game, so I just stick to "GetAsyncKeyState" most of the time. only if the gams has crappy or even no keyboard+mouse support and I still want to play the game do I use the "action" flag method...





it's because I rarely used lua script for my table unless using ASM alone doesn't give me what I want..

and the main reason is, I didn't even know this function~ thanks!

anyway, does this function works on other controllers other than xbox?[/QUOTE]

I was actually looking at this yesterday, and it looks like it's not bound to the Xbox controller, per se, but to Xinput, so any controller drivers that allow for Xinput should get the job done.

EDIT: ninja'd

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 2:03 pm
by Cielos
[USER=17486]@Shirokaido[/USER]

then this would be a good chance for you to practice~

try turning the Overdive script from using keyboard keys to using gamepad buttons now!

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Tue May 22, 2018 2:23 pm
by Shirokaido
[QUOTE="Cielos, post: 46639, member: 177"][USER=17486]@Shirokaido[/USER]

then this would be a good chance for you to practice~

try turning the Overdive script from using keyboard keys to using gamepad buttons now![/QUOTE]

Lmao, I seriously want to, but job wants me to job....

I'm actually planning on getting a Switch controller before the weekend, then I have an 8-9 hour train ride to sit through, so I was gonna try and play with the script over the weekend to see what I can find. I know that there are drivers to make the Switch controller use Xinput, so if the native bluetooth drivers don't work, I'll get them downloaded then see what I can make happen.

Wizard of Legend (v1.02d) +6 (table Update3.3)

Posted: Wed May 23, 2018 8:06 pm
by Zyrixion
Appears last night's update broke the shop restock portion of 'Ignore Balance' script.