[ ivica82 @ 03.12.2008. 02:44 ] @
Ljudi, pomagajte, sta nije u redu u ovoj skripti (ima neku gresku pa nece da je odradi)?

:if {([/interface print count-only]-6 = 2)} do={/system script run [/system script find name="skripta1"]};
:if {([/interface print count-only]-6 = 3)} do={/system script run [/system script find name="skripta2"]};
:if {([/interface print count-only]-6 > 3)} do={/system script run [/system script find name="skripta3"]}

Verzija MT-a je 2.9.27
[ KARABAYA @ 10.12.2008. 16:18 ] @
Ne trebaju ti zagrade kad pocinjes sa if treba ovako da pocnes
:if (logicki izraz)
[ KARABAYA @ 10.12.2008. 16:22 ] @
i umesto count-only treba samo count
[ ivica82 @ 11.12.2008. 15:21 ] @
Probao sam i jedan i drugi predlog i nazalost opet nista. Skripta i dalje nece da radi. Ako nije problem, napisite skriptu.
[ KARABAYA @ 11.12.2008. 17:16 ] @
Nisam uspeo da pokrenem neku drugu skriptu ali mi radi samo stavi skriptu u zagrade i to je to radice ti

Skripta
:if ([/interface print count]-6 = 2) do={ovde prekopiraj skriptu 1};
:if ([/interface print count]-6 = 3) do={ovde prekopiraj skriptu 2};
:if ([/interface print count]-6 > 3) do={ovde prekopiraj skriptu 3}


Sve skripte samo ubacis u jednu i to je to radice ti.
[ KARABAYA @ 11.12.2008. 17:27 ] @
A ako hoces da imas skripte posebno onda skripta izgleda ovako:


:if ([/interface print count]-6 = 2) do={/system script run skripta1};
:if ([/interface print count]-6 = 3) do={/system script run skripta2};
:if ([/interface print count]-6 > 3) do={/system script run skripta3}






Ako ime skripte ima razmak onda moras da stavis""

primer skripta se zove izvrsiti je sad


onda skripta izgleda ovako

/system script run "izvrsiti je sad"
[ ivica82 @ 13.12.2008. 16:59 ] @
Probao sam tvoju skriptu i i dalje nema rezultata. Nece skripta ni da se pokrene, a kamoli da odradi posao koji treba da odradi. Hvala na savetima u svakom slucaju
[ KARABAYA @ 15.12.2008. 22:18 ] @
pazi ne smes izmedju dva ifa da lupis enter nego samo space.
[ ivica82 @ 16.12.2008. 15:12 ] @
Nece, i bez entera sam probao. Najvise me nervira to sto u NewTerminal-u radi, znaci kad se drektno upise.
[ Schmidt @ 27.12.2008. 10:12 ] @
Ne vjerujem da je to radilo i u terminalu, jer ne mozes tako raditi aritmeticke operacije, ipak je to trivijalni skripting language.
Probaj ovo strpati u neku skriptu i pokrenuti:
Code:

:global razlika
:global count
:set count [/interface print count-only]
:set razlika ($count-6)
:if ($razlika=2) do={/system script run skripta1}
:if ($razlika=3) do={/system script run skripta2}
:if ($razlika>3) do={/system script run skripta3}
[ ivica82 @ 27.12.2008. 15:06 ] @
Nazalost, ni ova skripta nece da radi. Isto se ponasa ko i prethodne, uopste nece da odbroji da je skripta odradjena.
[ Schmidt @ 27.12.2008. 16:36 ] @
Nazalost, ta skripta radi sigurno jer sam je probao na svom mikrotiku.
[ Schmidt @ 28.12.2008. 13:03 ] @
Provjeri gdje ti staje skripta:

Code:

:log info "pocetak"
:global count
:global razlika
:set count [/interface print count-only]
:set razlika ($count-1)
:if ($razlika>1) do={
:log info "vece od 1"
}
:log info "kraj"


Ako se u logu ne pojavi nijedan zapis od ovih navedenih u skripti znaci da ti se potkrala neka greska i da skripta uopste ne pocne da se izvrsava zbog, recimo greske u sintaksi...
ako se pojave svi upisi onda lagano mijenjaj if-ove i ubacuj izvrsavanje skripti kao sto sam ti dao u prethodnom primjeru...