GHFan Posted September 3, 2008 Report Share Posted September 3, 2008 I am designing Sonic Blur with the Sonic Dash Engine for GM, which is pretty much as close to Sonic Worlds as GM can get. I am using the build that DarthCrap posted on the forum topic a long time ago. It has become a little annoying to work with because there are various issues I need to fix: There is an extra character in the character select, a green Sonic named Ashura. How do I get him out of the title screen? simply deleting his line of code in objMenu just makes you be him when you select Sonic, Sonic when you select Tails, etc. How do I get rid of the level select menu on the character select screen? I can't seem to make it go away and if I delete the code, I get an error. It's fine right now, but in later releases it may become annoying. Either I fix these problems or I wait about a month until the new version of ProSonic comes out. Link to comment Share on other sites More sharing options...
VectorSatyr Posted September 3, 2008 Report Share Posted September 3, 2008 If you don't even know how those things work, I really don't think ProSonic will be any easier to understand... I'll help you out, anyways. Each character has a default value associated to it, and I'm assuming for that error to occur, Ashura's number representation would be 1. Now, objController determines which character is actually created from these numbers, and they should be staticly defined in objController's create event. The strings on the menu are setup to match the number values from 0 to 4 in order ("NONE" is 0, "ASHURA" is 1, etc.). When you took "ASHURA" out of the menu, you only removed the string representation of what number "ASHURA" was in the game. The string "SONIC" became that representation. So now, "SONIC" translates to "1" on the menu, but objController still treats 1 as being Ashura... get it? As for taking the level select out, just delete anything having to do with controlTestCounter, I suppose. Also, take menuTestSelect() out of the scripts for menuInterfaceNewGame. 1 Link to comment Share on other sites More sharing options...
OverbounD Posted September 4, 2008 Report Share Posted September 4, 2008 Wait... What's the Sonic Dash engine? Link to comment Share on other sites More sharing options...
GHFan Posted September 4, 2008 Author Report Share Posted September 4, 2008 Here: http://www.sonicfangameshq.com/forum/showthread.php?t=379 Try it out, it's awesome. Link to comment Share on other sites More sharing options...
Kain Posted September 4, 2008 Report Share Posted September 4, 2008 I hate it when someone who posted a question replies simply to answer someone asking a tangential question or comment while ignoring a long, thought-out explanation of the solution to your problem. Besides, it confuses people who might want to help but don't know whether or not the problem has been solved when you reply after a potential solution but don't address it. Link to comment Share on other sites More sharing options...
GHFan Posted November 21, 2008 Author Report Share Posted November 21, 2008 @Kain: Sorry... @AeroGP: What exactly do I change in objController to make Sonic first, Tails second, etc.? I can't find where it is in the create event (which is where you said to look in) Here's the code that's in it: // ------ Initializate ----------------------------------------------- if (global.checkpoint) { global.game_start = 0; } else { global.game_start = global.checkpoint_time; } global.game_time = global.game_start; global.level_time = global.game_time; player1_keydata = 0; player1_keydata_pressed = 0; player1_keydata_list = ds_list_create(); player1_keydata_list_pressed = ds_list_create(); player1_keydata_list_delayed = ds_list_create(); player1_keydata_list_pressed_delayed = ds_list_create(); repeat(20) { ds_list_add(player1_keydata_list_delayed, 0); ds_list_add(player1_keydata_list_pressed_delayed, 0); } player1_assigned_key_left = vk_left; player1_assigned_key_right = vk_right; player1_assigned_key_up = vk_up; player1_assigned_key_down = vk_down; player1_assigned_key_action = vk_space; // ---------------------------------------------------------- // // Create character instances if (!instance_exists(objStartPlace)) show_error("Please place a start point object for the player.",1); switch(global.character1) { case -1: // Decide whether to start at the checkpoint if (global.checkpoint == false) global.player1 = instance_create(objStartPlace.x, objStartPlace.y-8, objPlayerAshura); else global.player1 = instance_create(global.checkpoint_x, global.checkpoint_y, objPlayerAshura); break; case 1: // Decide whether to start at the checkpoint if (global.checkpoint == false) global.player1 = instance_create(objStartPlace.x, objStartPlace.y-8, objPlayerSonic); else global.player1 = instance_create(global.checkpoint_x, global.checkpoint_y, objPlayerSonic); break; case 2: // Decide whether to start at the checkpoint if (global.checkpoint == false) global.player1 = instance_create(objStartPlace.x, objStartPlace.y-8, objPlayerTails); else global.player1 = instance_create(global.checkpoint_x, global.checkpoint_y, objPlayerTails); break; default: global.player1 = noone; show_error("You can't be no one!",1) } switch(global.character2) { case -1: global.player2 = instance_create(global.player1.x-32, global.player1.y, objPlayerAshura); break; case 1: global.player2 = instance_create(global.player1.x-32, global.player1.y, objPlayerSonic); break; case 2: global.player2 = instance_create(global.player1.x-32, global.player1.y, objPlayerTails); break; default: global.player2 = noone; } if (global.player2 != noone) { global.player2.depth = global.player1.depth + 1; } // Create camera object if (global.checkpoint == false) { global.camera = instance_create(objStartPlace.x, objStartPlace.y-8, objCamera); } else { global.camera = instance_create(global.checkpoint_x, global.checkpoint_y, objCamera); } if (global.camera_bound_override == false) { global.camera_min_x = 0; global.camera_max_x = room_width-1; global.camera_min_y = 0; global.camera_max_y = room_height-1; } init_view(); // Destroy starting position with(objStartPlace) instance_destroy(); // Create pause object instance_create(0,0,objPause); From what I can see, none of this says how to change the character's number. Thanks for any help. Link to comment Share on other sites More sharing options...
Recommended Posts