6
« on: December 14, 2006, 01:34:50 am »
I have encountered a few errors while trying to port TRM's GM6.1 Reg Engine into my game. But the odd thing is, i dont get any errors, it just doesnt work the way i want it to..
For example, when registering your name, you can scroll through the letters woth your cursor etc. and oncoming to the last 5 selectable characters you could press down and your cursor would move onto the delete arrow or the end arrow.
if (objRegister.registerRoom == 3)
{
switch (selected)
{
case 92:
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected = arrowToSelect;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected = (arrowToSelect - 78);
io_clear();
}
break;
case 93:
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected = endToSelect;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected = (endToSelect - 78);
io_clear();
}
break;
}
if (selected >= 1 && selected <= 13)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 13)
{
selected = 1;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 1)
{
selected = 13;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
if (selected >= 1 && selected < 9)
{
selected += 78;
}
switch (selected)
{
case 9:
selected = 92;
arrowToSelect = 87;
break;
case 10:
selected = 92;
arrowToSelect = 88;
break;
case 11:
selected = 93;
endToSelect = 89;
break;
case 12:
selected = 93;
endToSelect = 90;
break;
case 13:
selected = 93;
endToSelect = 91;
break;
}
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected += 13;
io_clear();
}
}
if (selected >= 14 && selected <= 26)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 26)
{
selected = 14;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 14)
{
selected = 26;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected -= 13;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected += 13;
io_clear();
}
}
if (selected >= 27 && selected <= 39)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 39)
{
selected = 27;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 27)
{
selected = 39;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected -= 13;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected += 13;
io_clear();
}
}
if (selected >= 40 && selected <= 52)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 52)
{
selected = 40;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 40)
{
selected = 52;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected -= 13;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected += 13;
io_clear();
}
}
if (selected >= 53 && selected <= 65)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 65)
{
selected = 53;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 53)
{
selected = 65;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected -= 13;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected += 13;
io_clear();
}
}
if (selected >= 66 && selected <= 78)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 78)
{
selected = 66;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 66)
{
selected = 78;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected -= 13;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
selected += 13;
io_clear();
}
}
if (selected >= 79 && selected <= 91)
{
if (keyboard_check_released(vk_right))
{
sound_play(sndCursor);
if (selected == 91)
{
selected = 79;
}
else
{
selected += 1;
}
io_clear();
}
if (keyboard_check_released(vk_left))
{
sound_play(sndCursor);
if (selected == 79)
{
selected = 91;
}
else
{
selected -= 1;
}
io_clear();
}
if (keyboard_check_released(vk_up))
{
sound_play(sndCursor);
selected -= 13;
io_clear();
}
if (keyboard_check_released(vk_down))
{
sound_play(sndCursor);
if (selected < 87)
{
selected -= 78;
}
}
switch (selected)
{
case 87:
arrowToSelect = 87;
selected = 92;
break;
case 88:
arrowToSelect = 88;
selected = 92;
break;
case 89:
endToSelect = 89;
selected = 93;
break;
case 90:
endToSelect = 90;
selected = 93;
break;
case 91:
endToSelect = 91;
selected = 93;
break;
}
io_clear();
}
switch (selected)
{
case 92:
if (keyboard_check_pressed(vk_left) || keyboard_check_pressed(vk_right))
{
sound_play(sndCursor);
selected = 93;
io_clear();
}
break;
case 93:
if (keyboard_check_pressed(vk_left) || keyboard_check_pressed(vk_right))
{
sound_play(sndCursor);
selected = 92;
io_clear();
}
break;
}
}
there is my code.. i dont know how there is an error there but what happens is, when you go to select the first of the 5 last selectable characters, it skips straight onto the delete arrow or the end arrow. then on pressing up, all i get is a noise, no movement from the cursor. It just remains where it is.
Can anyone help??
-flashGX