Как сделать?
…
эффект тот же, код конечно сработал, но по той же песне((
пример из моих переменных:
$x['<<x>>,<<y>>,<<map>>, символ'] & ! - это массив символа 1й клетки на которой стоит игрок на карте номер 1
есть ли возможность сделать хитрый реплейсер типа:
$Replace($x['<<!все цифры>>,<<!все цифры>>,<<!все цифры>>, символ'], height="32", height="64")
$Replace($x['<<!все цифры>>,<<!все цифры>>,<<!все цифры>>, символ'], width="32", width="64")
!все цифры - значит все возможные значения, братан, я просто вола зае#у, если буду от x=1 до x=maxX и от y=1 до y=maxY фигачить циклы реплейса. Но если уж других нет вариантов то мне придётся сломаться на пару часов…
Дамир Белялов,
Ну тут же как раз циклы просматриваются)
Ты же как-то заполнял эту карту не руками, правильно?)
Вот пример: ChangeTilesSize.qsp
1. Чем тебе 9 актов не устраивают? Скрываешь окно действий, чтоб не смущало, а сами действия разносишь по актам, чтоб направления совпадали с нумпадом. Собственно, 8 направлений движения, кроме как к нумпаду и привязать-то не к чему.
2. Сделай тайлы разных размеров и не парься. Тут еще надо учесть, что твоя карта может расползтись на несколько экранов, что в куспе будет уже не играбельно.
Вопрос по массиву args: верно ли я понимаю, что этот массив глобальный, один на всех, так сказать. И, если я внутри одной функции пользовательской с заданными аргументами вызову другую функцию, при это тоже задав ряд аргументов, то аргументы из функции №2 заместят аргументы первой функции?
Hungry,
нет, всё совсем наоборот. Массив args - локальный. Для каждой локации, для каждого вызова локации, создаётся свой собственный массив args, и никак не влияет на другие массивы args в других локациях. Область видимости массива args текущей локации распространяется так же на действия, созданные в текущей локации. А вот для кода dynamic тоже создаются собственные локальные args. Такой же локальный и массив $result.
Все же остальные переменные и массивы глобальны, если отдельно не определить их как локальные.
local a, b, $back_ = 12, 99, 'глухая чаща'
Область видимости данных переменных не распространяется на действия, вызванные на текущей локации. Однако, их значения транслируются во вложенные блоки кода:
# start
abc = 99
qwe = 103
gosub 'foo'
*pl 'start'
*pl abc
*pl qwe
- start
# foo
local abc = 277
dynamic {
local qwe = 345
*pl 'dynamic'
*pl abc
*pl qwe
}
*pl 'foo'
*pl abc
*pl qwe
- foo
Благодарствую) Значит, работать будет чуточку полегче
Здравствуйте, уважаемые! Напомните пожалуйста, кому не лень, пример полоски жизни через таблицу. не могу найти в рубрике “Примеры кода” на нашем сайте.
Если к примеру, данные такие:
mhp=200
hp=mhp
hpperc=(hp*100)/mhp
Дамир Белялов,
hp_bar_size=2500/f_heals[select_npc]*heals[select_npc]/100
$hp_bar=''
$hp_bar+='<table cellspacing="0"><tr>'
i=1
:mark3
if i>0 and i<=hp_bar_size:
$bg_col='FF0000'
else
$bg_col='FDF5E6'
end
$hp_bar+='<td bgcolor="#<<$bg_col>>"><img src="pic\g_1.gif"></td>'
i+=1
if i<25:jump'mark3'
$hp_bar+='</tr></table>'
Попробуй разобраться) Сейчас нет времени под твой код делать. Картинка в коде - полоска в 1 пиксель.
Получается в твоем коде создается определенный по количеству здоровья цикл со вставкой картинки полоски здоровья в 1 пиксель? Грубо говоря так?
Дамир Белялов,
Типа того. Рисуется полоска, фиксированная, должна быть. Красится двумя цветами.
Дамир Белялов,
https://qsp.org/forum/578-otrisovka-skaly
Aleks Versus:
Дамир Белялов,
https://qsp.org/forum/578-otrisovka-skaly
Не, спасибо, уже сделал, как подсказали выше, получилось кстати симпатично.
У меня новый вопрос: можно ли локально изменить цвет фона?
Я пишу рогалик медленно но верно уже почти год. Вяленько, но прогресс серьезный. Меня не устраивает то, что необходимо постоянно пикчи лепить с фоном травы. А если я хочу поменять регион персонажа? Чтоб он был в пустыне к примеру? Что? Теперь все пикчи перерисовывать под песчаный цвет? Можно ли как то, допустим, сделать таблицу 1 на 1 и локально в ней изменить цвет фона? Мне не нужно менять цвет фона всего окошка!
Скриншот прилагаю
Дамир Белялов,
конечно можно.
bgcolor=#888844
Этот атрибут можно задать всей таблице, или отдельной ячейке.
Aleks Versus:
Дамир Белялов,
конечно можно.bgcolor=#888844Этот атрибут можно задать всей таблице, или отдельной ячейке.
Спасибо, попробую
Aleks Versus:
Дамир Белялов,
конечно можно.bgcolor=#888844Этот атрибут можно задать всей таблице, или отдельной ячейке.
Не сработало, где я ошибся? Может я не туда код вписал?
'<table><tbody><tr><td bgcolor=$map_color[map]><<$map_visual>></td></tr></tbody></table>'
map=1
$map_color[1]=‘rgb(44,126,48)’
$map_visual - текстовая переменная, в ней сетка карты.
‘<table bgcolor=rgb(44,126,48)><tbody><tr><td><<$map_visual>></td></tr></tbody></table>’ - только так работает. Выходит, я не могу вписать переменную при установке параметра bcolor?