Как сделать?
…
2. Ты сам так хотел :) Проще, чем ты написал, просто нельзя.
evp:
- Ты сам так хотел :) Проще, чем ты написал, просто нельзя.
1. Не очень хорошо, но можно попытаться выкрутиться cellpadding.
2. Вставить между тегами <td>
в нужных местах, что быстрее чем с картинкой.
Как в классике вставить картинку в любую часть основного экрана? Попытался поискать сам, нашел вот это, но что-то реакции нет.
*p ‘<table><tr><a href = “EXEC: gs ‘‘Компьютер’’,2”><td width=580px><img src=“content\pic\иконки\мифы и легенды.png”></a></td></tr></table>’
*p '<table><tr><td width="580px"><a href = "EXEC: gs ''Компьютер'',2"><img src="content/pic/иконки/мифы и легенды.png"></a></td></tr></table>'
У вас, хоть и некорректно с точки зрения HTML, но тоже работает. Ищите ошибку в другом месте.
Драккан,
usehtml=1 в самой первой локации написано?
Ребят, помогите!
Написал, вроде как, игру в текстовом документе, но не понимаю, как ее преобразовать в файл qsp-формата, txt2gam при запуске моргает черным окошком на секунду и…. ничего. Подскажите, что делать. Спасибо.
Baronutz73,
советую тебе для пробы взять готовую игру, конвертировать её в текстовый файл, и конвертировать обратно в файл .qsp с помощью txt2gam.
В принципе всё достаточно просто. Во-первых, чтоб не путаться, кинь текстовый файл игры в папку, где лежит txt2gam.exe. Назови этот файл как-нибудь односложно, латинскими буквами, цифрами, без пробелов. Например, 1.txt. Затем запусти командную строку, войди через неё в каталог, где лежит txt2gam.exe.
Далее пиши в командной строке что-то типа
txt2gam.exe 1.txt 1.qsp
и нажимай enter. Игра должна конвертироваться.
Народ, подскажите, какой функцией превратить маленькую букву в большую. Например, мне надо слово солдат превратить в Солдат, заменить первую с на С
Заранее спасибо!
Aleks Versus:
Драккан,
usehtml=1 в самой первой локации написано?
Да, написано. Я попробовал всё, что нашел на форуме. И единственный способ который работает, это ставит пробелы и увеличение колличества строк после ’ , но это через чур объемно получается.
Jolly Roger,
нет такой функции. Только UCASE и LCASE.
Драккан,
если ты пробовал всё, что нашёл на форуме, значит ты не пробовал самого простого. Создай новую игру с одной локацией и напиши картинку в ней. Т.е. локацию с приблизительно таким кодом:
usehtml=1
*p '<table><tr><td width="580px"><a href = "EXEC: gs ''Компьютер'',2"><img src="content/pic/иконки/мифы и легенды.png"></a></td></tr></table>'
(Табличку я взял из сообщения evp). Если заработает, то сие будет означать, что проблема не в таблице, а в чём-то другом. В чём конкретно, боюсь тебе никто не скажет, пока не увидим код.
Есть ли возможность из клиента (aka плеера) задать значение произвольной переменной? Например, у меня в игре есть переменные variableA, variableB, variableC и т.д. (много переменных), каждая из которых может принимать много разных значений. Я хочу протестировать какой-то кусочек игры, не меняя каждый раз код через qgen.
Я понимаю, что для одной конкретной переменной можно написать код, выдающий окно input или что-то в этом роде - именно для этой переменной. А в общем случае? Чтобы в одном и том же окне (именно в плеере, не в редакторе кода) можно было написать “variableA=24”, погонять немного, проверить, потом, в том же окне в плеере, написать “variableB=55” - ну, и так далее. При этом не лазать каждый раз в редактор кода, а менять значения переменных именно из плеера.
Надеюсь, я достаточно ясно сформулировал вопрос :).
Драккан:
Как в классике вставить картинку в любую часть основного экрана?
Вот это, что значит? Вставить картинку хоть-куда нибудь? Или в конкретное место на экране (сверху, снизу, по центру, справа, отступив 100 px от левого края)?
Вот тут раздел справки с простыми способами вставляния картинок.
С помощью таблицы с прозрачными границами (как в твоём примере) можно отрегулировать положение картинок на экране относительно друг дружки. С помощью прозрачных картинок заданного размера и таблицы - поставить нужную картинку в нужное место на экране… Щас попробую, кстати… Попробовал, можно! Только экраны у всех разные…
P.S. Хотелось попробовать прикрепить файл к сообщению…
example.7z
Valvs,
я пользуюсь возможностями строки ввода для отладки игр. Для этого я пишу микроотладчик. Делается это так.
В самой первой локации задаёшь локацию-обработчик строки ввода:
$usercom = 'ucom'
, где ucom - это название локации, которую ты собираешься использовать как обработчик строки ввода.
Далее на локации ucom пишешь строку:
dynamic $user_text
, где $user_text - это текст, вводимый в строку ввода. Таким образом, всякий текст, введённый в строку ввода, будет выполняться как код. т.е, если ты введёшь в строку ввода
VariableA=24
, переменной присвоится значение. Если введёшь просто
VariableA
, увидишь на экране значение этой переменной. Ты можешь менять содержимое локации ucom, внося разнообразные команды, которые тебе нужны при отладке игры. Пример:
Spoiler
! микро-отладчик
! "команды
p0 - переход на страницу 0. Вместо 0 можно указать номер любой другой страницы
log - вывод логов
имя_переменной/a - вывод содержимого массива с указанным именем (ключ записывается с латинской a)
!"
if strcomp($user_text,'p\d+')=-1:
$GAME_VALUE['interface']='[game]'
goto 'page.'+$strfind($user_text,'\d+')
elseif $user_text='log':
*pl $func('#array.prnt#','$log_error')
elseif $user_text='way':
*pl $func('#array.prnt#','$survived_location')
elseif instr($user_text,'/a')=len($user_text)-1:
*pl $func('#array.prnt#',$trim($mid($user_text,1,len($user_text)-2)))
elseif strcomp($user_text,'o\d+')=-1:
args[9]=$strfind($user_text,'\d+')
$replace($replace("
$id_array[<<args[9]>>]='<<$id_array[args[9]]>>'
$object_array[<<args[9]>>]='<<$object_array[args[9]]>>'
$position_array[<<args[9]>>]='<<$position_array[args[9]]>>'
kolvo_array[<<args[9]>>]=<<kolvo_array[args[9]]>>
charge_array[<<args[9]>>]=<<charge_array[args[9]]>>
$run_array[<<args[9]>>]='<<$run_array[args[9]]>>'",'<','<'),'>','>')
else
dynamic $user_text
end
Aleks Versus:
Valvs,
я пользуюсь возможностями строки ввода для отладки игр…
Спасибо за подробный ответ! Попробую оба решения - и микроотладчик, и отладчик werewolf’a. Когда высплюсь :)
Jolly Roger,
$UCtext = 'солдат'
$UCtext = $UCASE($MID($UCtext,1,1)) + $MID($UCtext,2)
Функции нет, но ее можно сделать самому:
$text = $FUNC(UCaseFirstLet, 'солдат')
!локация UCaseFirstLet
$result = $UCASE($MID($ARGS[0],1,1)) + $MID($ARGS[0],2)