thrownaway9k
Member
For my game, everytime my player moves, every other objects energy variable is added their speed variable. When an objects energy variable is equal to or greater than the players speed variable, the enemy can make a move. Here's a bit of code from my player movement script:
Now when I move around, it displays the correct speed and energy values in my debugger, except it shows that energy is set to the same value as speed, and it never changes beyond that once I move. I'm trying to have it added speed everytime I move. So if energy starts at 0, and speed is 5 by default, then step 1 energy = 5, step 2 energy = 10, step 3 energy = 15, etc.
So how do I go about this? What's wrong with variable_instance_set(id, "energy", +Speedy)? How would I rewrite it to work in this case?
Code:
if keypress = 4 {
if (gridX > 0) && (obj_Collision.a_grid[gridX - 1, gridY] == 0){
x -= 16
with(all)
{
if(object_index != obj_Player and obj_LevelGen and obj_variable_controller and obj_Collision and obj_Version and obj_turncontroller and obj_Level and obj_Selector)
{
if variable_instance_exists(id, "speedy") and variable_instance_exists(id, "energy") {
Speedy = variable_instance_get(id, "speedy");
Energy = variable_instance_get(id, "energy");
show_debug_message("Speedy = " + string(Speedy));
show_debug_message("Energy = " + string(Energy));
variable_instance_set(id, "energy", +Speedy);
}
}
}
So how do I go about this? What's wrong with variable_instance_set(id, "energy", +Speedy)? How would I rewrite it to work in this case?
Last edited: