2015-03-03 2 views
0

Я делаю текстовый rpg, и скрипт не работает. Это как-то связано с выносливостью. У меня также есть квест, который зависит от того, что у вас есть определенное количество золота, и этот скрипт тоже не работает. Я буду включать фотографии.Мой текстовый скрипт игры не работает

:harvest 
cls 
echo Press 1) to harvest 
set /p input17=enter: 
if %input17%==1 set /a wheat= %wheat% + 5 
if %input17%==1 set /a carrots= %carrots% +4 
if %input17%==1 set /a stamina= %stamina% - 25 (this line) 
if %stamina% < 0 goto nostamina (this line) 
echo. 
echo You get some wheat and some carrots. 
echo. 
echo check your inventory for accurate numbers. 
echo. 
echo Press 1) to go back. 
pause >nul 
goto insidehouse 






    :insidehouse 
cls 

echo You are now inside of your house. 
echo. 
echo Press 1) to harvest. 
echo Press 2) to sell all crops. 
echo Press 3) to go into your inventory. 
echo Press 4) to sleep eight hours. 
echo Press 5) to check for quests. 
set /p input16=enter: 
if %input16% EQU 1 goto harvest 
if %input16% EQU 2 goto market 
if %input16% EQU 3 goto Inventory1 
if %input16% EQU 4 goto sleep 
if %input16% EQU 5 (and) if %gold% LSS 0 goto shopping (this line) 

ответ

0

Вы не предоставили много кода для работы, поэтому я могу только догадываться о решении.

Мое лучшее предположение заключается в том, что вы пытаетесь обновить переменную изнутри цикла for. Если это так, вам нужно добавить эту строку в верхнюю часть вашего командного файла: setlocal enabledelayedexpansion. Вам также потребуется получить доступ к таким переменным, как этот !var!, а не %var%.

setlocal enabledelayedexpansion вызывает расширение переменных, отложенных в вашем пакетном файле. Это будет означать, что в контексте вашей программы переменные могут обновляться из цикла for.

Смежные вопросы