You remember this "error": the number 1 of this link**, well it is no longer necessary.
Something very interesting that I notice is that when the player is:
*char(x).id>=2
*char(1).hitpoint<=1 (0 y negativos)
*char(1).itemslot=-10 to -5
*sysval(disableduck)=1
This configuration makes the player not call the standard values of its pwidth and pheight properties(I mean when the player gets hurt), so that I can control them perfectly, it is what I was always looking for :D (it is perfect at that!)
But there is a relatively bad thing is that I must necessarily(and conveniently) start the value of char(1).hitpoint at 0; Couldn't you make this benefit (the feature of not executing the standard pwidth and pheight values) to just be with char(1).itemslot=-10 (and sysvavl(disableduck)=1) so we can start the char(1).hitpoint greater than zero?
There is another thing that happens when you have that configuration above, and I can't say that this is bad, but it would be the right thing to do to fix it:
What happens also? the player doesn't have a pause of 37 frames, ignores them, it would be the right thing to do for the player to stop 37 frames, and so that we do not lose this feature I suggest a sysval:
sysval(invtimegothurt)=37 'normal value
When the player just gets hurt, the player immediately pauses himself about 37 frames, we can also set 0 to ignore/end that pause.





