Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Pages: [1]   Go Down

Author Topic: Registration Engine Problem...  (Read 1495 times)

0 Members and 1 Guest are viewing this topic.
Registration Engine Problem...
« on: December 14, 2006, 01:34:50 am »
  • Flash Software Studios
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 71
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.

Code: [Select]
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
Logged
 
  • http://www.myspace.com/kristruman

Goodnight

Once and future Captain
Re: Registration Engine Problem...
« Reply #1 on: December 14, 2006, 02:06:46 am »
  • With a Capital G
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Gender: Male
  • Posts: 706
That code you've supplied is mammoth, and I don't know what the first of the last 5 selectable characters is. Any chance you could narrow it down a bit?
Logged
Re: Registration Engine Problem...
« Reply #2 on: December 14, 2006, 02:45:15 am »
  • Flash Software Studios
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 71
well i think the code is in these parts here...

Code: [Select]
  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;
 }
}



as you can see in the screeny the last 5 characters are 9, 0, ., -, and a space.
i hope that helps narrow it down.
Logged
 
  • http://www.myspace.com/kristruman

Goodnight

Once and future Captain
Re: Registration Engine Problem...
« Reply #3 on: December 14, 2006, 07:21:33 pm »
  • With a Capital G
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Gender: Male
  • Posts: 706
Well, thanks for that much.. but.. I still don't know what all those variables and numbers mean. So I don't figure this can be solved without actually playing it in debug mode, seeing it in action.

If you're willing to post your demo, stripped down to just this segment that needs fixing, I guarantee somebody could spot the problem...
Logged
Re: Registration Engine Problem...
« Reply #4 on: December 15, 2006, 12:52:40 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1635
Aren't the last numbers supposed to be that?
Logged
Re: Registration Engine Problem...
« Reply #5 on: December 15, 2006, 02:50:14 am »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 562
Aren't the last numbers supposed to be that?
Yup, but he means he can't select the last 5 characters, and it skips over it.
Logged

Goodnight

Once and future Captain
Re: Registration Engine Problem...
« Reply #6 on: December 15, 2006, 03:29:10 am »
  • With a Capital G
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Gender: Male
  • Posts: 706
I compared your code to TRM's engine, and saw one thing that may be the culprit. At the end of that event, there are two switch (selected) blocks. In your version, there are two } brackets before the first switch, and one before the second. In TRM's, there is one before the first switch and two before the second. Try moving one down and see what happens.
Logged
Re: Registration Engine Problem...
« Reply #7 on: December 16, 2006, 12:54:07 pm »
  • Flash Software Studios
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 71
That was it!! :D Thanks so much goodnight ok im gunna edit teh first post cus i have another error which i ahve never learnt how to do. thanks so much goodnight!
Logged
 
  • http://www.myspace.com/kristruman
Pages: [1]   Go Up

 


Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.169 seconds with 50 queries.