2015-09-08 3 views
0

Я хотел сделать небольшую игру, используя batbox. Я хотел, чтобы он отображал класс, который вы использовали, но он не работал. Он показал «Класс: ECHO выключен». И я не знаю, что случилось. Используемый здесь код:batch/Почему это не работает?

:charectarselect 
cd gamedata 
color 0f 
cls 
batbox /g 0 0 
echo Select class: 
echo. 
echo %mage% 
echo %worrior% 
set /p classes=Class: 

echo %classes%>pclass.gm 
goto login 

:login 
color 0f 
cd gamedata 
set /p pclass=<pclass.gm 
set /p user=<username.gm 
set /p pass=<password.gm 
if "%pclass%" == "1" echo Mage>pclass.gm 
cls 
title Login 
echo ======================LOGIN====================== 
set /p login=Username : 

if %login% == %user% goto password 
goto login 
:password 
cls 
echo ======================LOGIN====================== 
set /p passw=Password : 

if %passw% == %pass% goto game 
goto password 

:game 
cls 
batbox /c 0xc9 /d "Health: %health%" 
batbox /g 11 0 /c 0x9c /d "Strength: %strength%" 
batbox /g 23 0 /c 0x9a /d "Class: %pclass%" 
pause >nul 

Надеюсь, вы, ребята, можете мне помочь!

+1

вы имели в виду, что он показывает «ECHO выключен», прежде чем он просит класса? Это единственное место, где я вижу это сообщение; он исходит из '% mage%' и '% worrior%' [sic] переменных, которые не определены. После ввода имени класса отображение переменных в разделе ': name' отображается правильно. – SomethingDark

+0

https://gyazo.com/54fb45340015b418fb33822a5e31e9fe Это то, что я получаю @SomethingDark – minefedtgamer

+0

_Ваша вторая ..._ Вы вводите '1' для класса, не так ли? – SomethingDark

ответ

0

Проблема вызвана тем, что вы вводите 1 для класса. В частности, это вызвано линией echo %classes%>pclass.gm

При вводе 1 в выборе символа он расширяет эту команду до echo 1>pclass.gm. К сожалению, 1> используется для перенаправления вывода из STDOUT в файл, и поэтому пакет интерпретирует это как команду для отправки вывода echo в pclass.gm. Сам по себе echo отображает, включено или выключено эхо.

Вы можете обойти эту проблему путем добавления скобок эхо-линии: (echo %classes%)>pclass.gm

+0

Спасибо за помощь: 3 @SomethingDark – minefedtgamer

+0

@minefedtgamer - С удовольствием помогите. Если мой ответ решил вашу проблему, нажмите галочку рядом с моим ответом. – SomethingDark

+0

Могу я спросить вас еще кое-что? ; -; @SomethingDark Хорошо, так что это сработало, и теперь я хочу, чтобы монстр повредил, но когда я набираю «set health - =% monsterdmg%», вы можете снова помочь? и жаль. – minefedtgamer