WHY THIS ERROR?!!?¿

Hi,

I get errors in this script. WHY?! It’s a RB493 with ROS 3.13 ¬¬u
problem.JPG

/system script
add name=TESTADSLSCRIPT policy=ftp,reboot,read,write,policy,test,winbox,password,sniff source="#SCRIPT MIRAR ESTADO ADSLs#\r\
    \n#set variables\r\
    \n:local pingcount 3\r\
    \n:local ipA 192.168.3.2\r\
    \n:local ipB 192.168.2.2\r\
    \n:local ipC 192.168.4.2\r\
    \n#ADSL1\r\
    \n:local GatewayA 192.168.3.1\r\
    \n#ADSL2\r\
    \n:local GatewayB 192.168.2.1\r\
    \n#ADSL3\r\
    \n:local GatewayC 192.168.4.1\r\
    \n:local website http://www.google.com\r\
    \n#ping gateways with src\r\
    \n:local pingresultA [/ping \$website src-address=\$ipA count=\$pingcount]\r\
    \n:local pingresultB [/ping \$website src-address=\$ipB count=\$pingcount]\r\
    \n:local pingresultC [/ping \$website src-address=\$ipC count=\$pingcount]\r\
    \n:if ((\$pingresultA>0) && (\$pingresultB>0) && (\$pingresultC>0)) do={ /system script run FUNCIONANTODASADSL; :log info \" Funcionan todas las ADSL\" }\r\
    \n:if ((\$pingresultA=0) && (\$pingresultB>0)) do={ /system script run ADSL1FALLA; :log warning \" Falla ADSL1\" }\r\
    \n:if ((\$pingresultA>0) && (\$pingresultB=0)) do={ /system script run ADSL2FALLA; :log warning \" Falla ADSL2\" }\r\

When you paste the script in console you will have an errors unless all script is placed in braces { }

Because,
each line in console is like a separate script, but :local variable is available only within the current scope.

Please read the documentation, it’s all written there
http://wiki.mikrotik.com/Scripting

It’s http://wiki.mikrotik.com/wiki/Scripting i’ll read it carefully

Thanks.