The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 786 - File: showthread.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/showthread.php 786 errorHandler->error






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Eval & Expressions
Author Message
Pestilence
Apprentice
*

Posts: 16
Likes Given: 3
Likes Received: 0 in 0 posts
Joined: Oct 2013
Reputation: 0



Post: #1
Eval & Expressions
Hey All. :)

Version: 08-01-2015 nightly linux debug

As permanently checking changelog. And people in irc says "every line is evaluated"

Can somebody confirm this ridiculous behaviour:

Code:
[function f_learn]
local.x 1
local.y 10
local.x += 1
local.y -= 5
sysmessage "<dlocal.x> <dlocal.y>" // Returns: "2 5"

local.x 1
local.y 10
local.x+=1
local.y-=5
sysmessage "<dlocal.x> <dlocal.y>" // Returns "1 10"

local.x 1
local.y 10
sysmessage <dlocal.x>+<dlocal.y> // Returns "1+10"

local.x 1
local.y 10
sysmessage <dlocal.x> + <dlocal.y> // Returns "1 + 10"

Just paste it in your sphere and run .f_learn

Looks like trusting and NOT using "eval" in expressions is totally biggest fault for scripting :D

IMHO:
Example #4 shouldn't work because there are spaces...
Example #3 SHOULD work because there are NO spaces and NO quotes
But most killing thing... #2 & #1... now I'm totally unsure can i really use "newgold -= 5000" or "newgold-=5000"

Update:

Code:
[function f_learn]
gold 1000
sysmessage "1000 -> <gold>" // 1000 -> 1000 (works)

gold += 1000
sysmessage "2000 -> <gold>" // 2000 -> 2000 (works)

gold+=1000
sysmessage "3000 -> <gold>" // 3000 -> 1000 (broken)

gold -= 1000
sysmessage "2000 -> <gold>" // 2000 -> 0 (works)

gold-=1000
sysmessage "1000 -> <gold>" // 1000 -> 1000 (broken)
(This post was last modified: 01-08-2015 02:35 PM by Pestilence.)
01-08-2015 02:12 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Messages In This Thread
Eval & Expressions - Pestilence - 01-08-2015 02:12 PM
RE: Eval & Expressions - eberk - 01-08-2015, 07:15 PM
RE: Eval & Expressions - Extreme - 01-09-2015, 11:41 AM
RE: Eval & Expressions - Pestilence - 01-09-2015, 12:38 PM
RE: Eval & Expressions - XuN - 01-11-2015, 02:01 AM
RE: Eval & Expressions - Pestilence - 01-11-2015, 03:37 PM

Forum Jump:


User(s) browsing this thread: 1 Guest(s)