summaryrefslogtreecommitdiff
path: root/calc.py
diff options
context:
space:
mode:
authorGap <l.uisv.gt@icloud.com>2015-01-01 23:33:54 +0100
committerGap <l.uisv.gt@icloud.com>2015-01-01 23:33:54 +0100
commit0448386fa761714ad70cea31eea40309a9e021f8 (patch)
tree09b735e80b1cbd627253899a300f004c419f9d97 /calc.py
parente9c78edb46fdd12171a9b1845d4b9ee926687d7c (diff)
Final modification for today
Diffstat (limited to 'calc.py')
-rw-r--r--calc.py31
1 files changed, 13 insertions, 18 deletions
diff --git a/calc.py b/calc.py
index dee8925..b0a8e2c 100644
--- a/calc.py
+++ b/calc.py
@@ -6,8 +6,6 @@ calc_perm = "utils.calc"
def lex(msg):
fullmessage = msg
msg = list(msg)
- msg.append("f")
- print(msg)
tok = ""
expression = False
counter = 0
@@ -19,40 +17,37 @@ def lex(msg):
if char.isnumeric():
if not expression:
startPos = counter
- expression = True
+ # expression = True
tok += char
elif char == "+" or char == "-" or char == "*" or char == "/":
+ expression = True
tok += char
elif tok == " ":
if not expression:
tok = ""
else:
tok += char
- elif char.isalpha():
+ if char.isalpha() or counter >= len(msg):
if expression:
msg = "".join(msg)
- return_value = msg[0:startPos-1]
- return_value += str(eval(tok))
- return_value += msg[counter:]
+ result = str(eval(tok))
expression = False
- return return_value
+ return result
else:
tok = ""
- return fullmessage
+ return False
@hook.event("player.AsyncPlayerChatEvent", "high")
def on_calc_chat(event):
- try:
- sender = event.getPlayer()
- message = event.getMessage()
- if sender.getName() not in evals_toggle_list:
- return
- output = lex(message)
- event.setMessage(colorify(str(output)))
- except Exception as e:
- print(e)
+ sender = event.getPlayer()
+ message = event.getMessage()
+ if sender.getName() not in evals_toggle_list:
+ return
+ output = lex(message)
+ if output:
+ msg(sender, "&2=== Calc: "+output)
@hook.command("calc", description="Toggles chat calculations")
def on_calc_command(sender, args):