Reputation:
I created a batch script and it was complete enough that I could run it so I loaded it up and I get an error =1 was not expected at this time
but I don't understand what I'm doing wrong, originally I had if armor=1 ( do...)
but I got the same error both times, can someone tell me what I did wrong and why this happens?
:prebattle
cls
if armor == 1 (
set php=100
)
set /a mlvl=%random% %% 5 + 1
if weapon=1 (
set pdmg=%random% %% 20 + 1
)
if !lvl! geq 1 if !lvl! leq 5 (
set enemyno=%random% %% 3 + 1
set mdmg=%random% %% 20 + 1
)
if !lvl! geq 6 if !lvl! leq 10 (
set enemyno=%random% %% 5 + 1
set mdmg=%random% %% 50 + 1
)
if !lvl! geq 11 if !lvl! leq 15 (
set enemyno=%random% %% 9 + 1
set mdmg=%random% %% 100 + 1
)
if !lvl! geq 21 if !lvl! leq 30 (
set enemyno=%random% %% 15 + 1
set mdmg=%random% %% 150 + 1
)
if !lvl! geq 31 if !lvl! leq 45 (
set enemyno=%random% %% 20 + 1
set mdmg=%random% %% 200 + 1
)
if !lvl! geq 46 if !lvl! leq 60 (
enemyno=%random% %% 30 + 1
set mdmg=%random% %% 500 + 1
)
if enemyno == 1 (
goto enemy1
)
if enemyno=2 (
goto enemy2
)
if enemyno=3 (
goto enemy3
)
if enemyno=4 (
goto enemy4
)
if enemyno=5 (
goto enemy5
)
if enemyno=6 (
goto enemy6
)
if enemyno=7 (
goto enemy7
)
if enemyno=8 (
goto enemy8
)
if enemyno=9 (
goto enemy9
)
if enemyno=10 (
goto enemy10
)
if enemyno=11 (
goto enemy11
)
if enemyno=12 (
goto enemy12
)
if enemyno=13 (
goto enemy13
)
if enemyno=14 (
goto enemy14
)
if enemyno=15 (
goto enemy15
)
if enemyno=16 (
goto enemy16
)
if enemyno=17 (
goto enemy17
)
if enemyno=18 (
goto enemy18
)
if enemyno=19 (
goto enemy19
)
if enemyno=20 (
goto enemy20
)
if enemyno=21 (
goto enemy21
)
if enemyno=22 (
goto enemy22
)
if enemyno=23 (
goto enemy23
)
if enemyno=24 (
goto enemy24
)
if enemyno=25 (
goto enemy25
)
if enemyno=26 (
goto enemy26
)
if enemyno=27 (
goto enemy27
)
if enemyno=28 (
goto enemy28
)
if enemyno=29 (
goto enemy29
)
if enemyno=30 (
goto enemy30
)
goto prebattle
Upvotes: 1
Views: 229
Reputation: 58
These are the two biggest errors:
Using enemyno instead of %enemyno%. You only use the not percent version when setting variables.
Your if equation needs two == or EQU for it to work. Your fixed command should look like:
if %enemyno%==7 goto enemy7
I don't use the () because it is not always needed.
I also see that you are using
set enemyno=%random% %% 30 + 1
which needs /a to work, otherwise it will take it as a string. (/a makes it save as numbers.) It will look like:
set /a enemyno=%random% %%30 +1
Upvotes: 2
Reputation: 49
you are comparing in an if statement so you need two equal signs or use EQU.
if weapon == 1 (goto label)
if weapon EQU 1 (goto label)
Upvotes: 0