• Need help with E2
    5 replies, posted
what is the code for is in range is not in range and if i were to have 4 cannons how can i toggle between them with one button and have a hint telling me what cannon is selected? make a cannon or something else happen if i were to say fire but not fire in a sentence oh and timing in e2 (ex. if a is pressed then wait 10 seconds then fire)
[QUOTE=vexx21322;16615387]what is the code for is in range is not in range and if i were to have 4 cannons how can i toggle between them with one button and have a hint telling me what cannon is selected? make a cannon or something else happen if i were to say fire but not fire in a sentence oh and timing in e2 (ex. if a is pressed then wait 10 seconds then fire)[/QUOTE] [code]@name Cannon Ranger @inputs Selector PsuedoInput @outputs Cannon1 Cannon2 Cannon3 Cannon4 @persist CannonSel @trigger # This makes it do something when people talk runOnChat(1) # Selecting between four cannons if (Selector) { # Wire Selector to a non-toggle button if (CannonSel == 4) { CannonSel = 1 # If we're at cannon four, go to cannon 1. } else { CannonSel ++ # Raise the cannon number higher otherwise # There's probably a shorter way of writing that, but I don't care } hint("Selected cannon " + toString(CannonSel) + "", 4) # Hint will display for four seconds. # Feel free to change the number, but you're limited between 0.7 and 7 } # Put this in your E2 if you want to check isinrange if (PsuedoInput > 1 & PsuedoInput < 10) { # Is inside range between 2-9 print("PsuedoInput is in range!!!") } # Put this in your E2 if you want to check isnotinrange if (PsuedoInput < 10 & PsuedoInput > 50) { # Is outside range between 10-50 print("PsuedoInput is out of range!!!") } if (owner():lastSaid() == "fire" & chatClk() == 1) { # This will execute if someone says something and the # last thing you said was "fire", in and of itself # First, we set a turn off timer. timer("ShutMeOff", 1000) # 1,000 milliseconds == 1 second if (CannonSel == 1) { Cannon1 = 1 } elseif (CannonSel == 2) { Cannon1 = 1 } elseif (CannonSel == 3) { Cannon1 = 1 } elseif (CannonSel == 4) { Cannon1 = 1 } } if (clk("ShutMeOff")) { # If the "ShutMeOff" timer is triggered" Cannon1 = 0 Cannon2 = 0 Cannon3 = 0 Cannon4 = 0 }[/code]
lavacano, let me comment your code: [quote] CannonSel = CannonSel + 1 # Raise the cannon number higher otherwise # There's probably a shorter way of writing that, but I don't care [/quote] Here's a shorter way of writing that: Longest way: CannonSel = CannonSel + 1 Shorter way: CannonSel += 1 Shortest way: CannonSel ++ [quote]hint("Selected cannon " + toString(CannonSel) + "", 4)[/quote] You don't need to use toString. It automatically converts numbers into strings (At least in my experience). I also suggest using "print()" instead of "hint". Well, it's personal really... but I like print more. [quote] if (CannonSel == 1) { Cannon1 = 1 } elseif (CannonSel == 2) { Cannon1 = 2 } elseif (CannonSel == 3) { Cannon1 = 3 } elseif (CannonSel == 4) { Cannon1 = 4 } [/quote] You have changed the wrong number. All of them say "Cannon1 = #" You have also forgot to reset them all to 0 after firing, so they will fire continously forever and ever.
ok thanks but can someone tell me timers and isinrange, isnotinrange? [editline]11:04PM[/editline] oh and how do i wire that?
Revising code per Divran's post...done Commenting where I put the is in range and is not in range stuff
ah man onacaval, thank you so much because of your code i learned so much and just thank you... P.S. i revised your code and now it works 100% and i can toggle between 1,2,3,4,all with the hint saying cannon 1-4 and all [editline]10:27PM[/editline] also, one last thing, how can I make the four cannons fire like a gatling gun(make them fire in a way so that a cannon is always hitting the thing im aiming at)
Sorry, you need to Log In to post a reply to this thread.