XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
Димон, ты на мой вопрос когда-нить ответишь?:? Плиз - подскажи, как иконки создать в инвентаре!
Старый 16.08.2006, 18:18
zibada

offline
Опыт: отключен
ну там же все описано....

1. открываешь object editor, закладка "destructibles" (в русской версии х3, наверное "декорации" или что-то в этом духе),
2. находишь там объекты с именами "inv100_IconXXX", копируешь любой из них в буфер, вставляешь обратно, заменяешь в созданной копии путь к иконке (Art - Replaceable Texture File) на свой.
3. открываешь триггер "init_item_settings", пишешь туда рядом с другими аналогичными строчку типа
call inv100_RegisterItem('I000', 'B000', "Name", "Description", 100)
меняешь 'I000' на код своего предмета, 'B000' - на код созданного destructible, пишешь имя, описание и стоимость.
4х-значные коды объектов смотреть в object editor, нажав ctrl+d.

все...
Старый 16.08.2006, 18:31
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
Спасиб тебе большое (я просто не так перевел, что у тебя насчет inv100_IconXXX написано...)! :]
Старый 16.08.2006, 18:34
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
Вот наконец -то я добрался до Jass.
Вопрос к Димону: Функции перечисленные ниже за что отвечают? Точнее что они делают, дословно?

Код:
#########################################################
function fs_Initialize takes nothing returns nothing
   local integer i = 0
   local integer p = 0
   local integer j
   local trigger t
   local timer tm
   local real x
   local real y

   // ############### set up workspace ##############
   call setcfg("base_x", R2S(GetRectMinX(bj_mapInitialPlayableArea) + 100.00))
   call setcfg("base_y", R2S(GetRectMinY(bj_mapInitialPlayableArea) + 100.00))

   set bj_mapInitialPlayableArea = Rect(cfgr("base_x") + 2300, GetRectMinY(bj_mapInitialPlayableArea), GetRectMaxX(bj_mapInitialPlayableArea), GetRectMaxY(bj_mapInitialPlayableArea))


   // ############### set up path blocker line ##############
   set x = cfgr("base_x") + 2200
   set y = GetRectMinY(GetWorldBounds())

   loop
      exitwhen y > GetRectMaxY(GetWorldBounds())
      call CreateDestructable('BX00', x, y, 0, 1.28, 0)
      set y = y + 128
   endloop

   // ############### auto detect max players if necessary ##############
   if cfgi("max_players") <= 0 then
      loop
         exitwhen i >= 12
         if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING then
            call setcfg("max_players", I2S(i + 1))
         endif
         set i = i + 1
      endloop
   endif

   set tm = CreateTimer()
   call TimerStart(tm, 0.00, true, function fs_InitPlayer)
endfunction
Старый 28.08.2006, 22:09
zibada

offline
Опыт: отключен
конкретно эта функция:
  1. автоматически определяет координаты "рабочей области"
  2. выкидывает эту область из того, что в редакторе триггеров зовется "Playable Map Area"
  3. отделяет ее от основной карты цепочкой блокеров пути
  4. определяет количество присутствующих на карте игроков
  5. запускает процесс создания сетки траккаблов для каждого игрока
(вынесено отдельной функцией, потому что не хватает лимита действий сделать это в 1 прием)
а почему тебя именно она заинтересовала? =)
вообще, названий функций/переменных и комментариев, имхо, достаточно, чтобы врубиться во все самому при наличии на то желания...
Старый 28.08.2006, 22:20
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
Достаточно, да не очень. В принципе я это и предпологал, изучаю джасс второй день. Это одни из немногих тригов, которые мне плохо понятны были.
Хочу сделать свой инвентарь(Netrat'a я уже замучался просить) для мода. А так как инвентарь Netrat'a, является дополненной версией твоего, то я решил сначала разобраться в твоём, т.к. он легче в понимании. Просто хочу немного его проапгрейдить, для собственных нужд.
Ещё вопрос: Исходя из предидуших функций, я так понимаю можно отгородить блокератами проходов только "рабочую область". Хочу переделать инвентарь под сингл.
Старый 28.08.2006, 22:31
zibada

offline
Опыт: отключен
там дело в том, что "playable map area", равно как и camera bounds - это прямоугольник, т.е. вырезать из него можно весь левый край, но не избирательно левый нижний угол.
если это не волнует, можешь изменить это поведение, чтобы вся карта была "играбельна", но не рекомендую это делать... мало места на карте, что ли?
Старый 28.08.2006, 23:01
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
Да нет, просто некрасиво будет смотреться. Если во всём моде будет левый край отрезан.
Вопрос: А можно создавать на джасе - двухуровневые склоны? Чтобы отгородить ету плошадь.

Цитата:
Не рекомендую это делать...

Причина?
Старый 28.08.2006, 23:04
zibada

offline
Опыт: отключен
во-первых, конструкции типа (random point in (playable map area)), а точнее, любые выражения с этим использованием этого региона могут заехать на рабочую область, со всеми вытекающими отсюда глюками...
вот например, на моей карте с инвом создаются рандомные итемы по всей карте, и там это используется.
во-вторых, можно будет переместить туда камеру, что тоже некрасиво - сейчас это блокируется...
а что именно будет некрасиво смотреться?? так как раз менее некрасиво, чем если пытаться вырезать угол.
Старый 28.08.2006, 23:27
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
В общем понятно.
Вопросы в следующем:
Можно ли добавить колличество рабочих предметов например до 18?
Есть ли какие-нибудь последствия данного действия, если оно возможно?
Старый 29.08.2006, 00:31
zibada

offline
Опыт: отключен
х3, насчет рабочих предметов - к нетрату, или сам попробуй раскопай =)
я не помню, как у него это сделано.
Старый 29.08.2006, 12:51
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
Понято.
NETRAT вопрос к тебе(см.пост выше)

free0n добавил
Усё. Сам разобрался.

Отредактировано free0n, 05.09.2006 в 02:03.
Старый 29.08.2006, 16:29
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
NETRAT Ни как не могу разобраться в значании этой функции.
Код:
function inv100_PutItemToCompatSlot takes unit u, item it returns integer
    local integer i = 0
    local integer compat = 0
    local integer bestcompat = 'zzzz' //any constant value that must be greater than "maxclasses"
    local integer bestslot = 0
    local integer slots = get_object_iparam(u, "inv100_rows") * get_object_iparam(u, "inv100_cols")
    local integer breakcycle = 0
    call set_session_iparam("skip",1)
    if GetItemTypeId(it) == 0 or IsItemPowerup(it) then
        return
    endif


Что она значит? Для чего она нужна?

free0n добавил:
Кстати NETRAT и !, вы не могли бы мне помочь написать дерево способностей, которое работает по принципу этого инвентаря. Если не трудно конечно.
Старый 05.09.2006, 02:05
NETRAT

offline
Опыт: 83,762
Активность:
Да, писал я такое дерево способностей, прокачка скиллов в стиле дьябло - с интерфейсом и требованиями левелов. Можешь глянуть в барахолке или в поиске FSGUI Skill Tree
Количество активных слотов фактически неограничено - но для них нужно будет описать место где они будут отображаться и для каждых 6 слотов нужна своя абила инвенторя. По умолчанию расширяемо до 25 слотов - 5*5
Эта функция отвечает за автоодевание шмотки - то есть когда ты шмот подбираешь, функция ищет подходящий слот среди активных - то есть куда ее можно одеть, если ее вообще можно одеть. Возвращает [кажется] номер слота, в который нужно одеть или -1 если ее следует класть в рюкзак
Старый 07.09.2006, 12:22
p01nTT

offline
Опыт: 10,760
Активность:
Баг - когда много раз щелкаешь "Рассортировать предметы" возникают лаги.Если во время этих лагов переключится на другого юнита - инвентарь больше не откроется.И кстати когда щелкаешь "Рассортировать предметы" появляется один столбец - кладёшь в него предмет и жмёшь опять - предмет пропадает.
Старый 07.09.2006, 13:53
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
Цитата:
Да, писал я такое дерево способностей, прокачка скиллов в стиле дьябло - с интерфейсом и требованиями левелов. Можешь глянуть в барахолке или в поиске FSGUI Skill Tree

Спасибо. Пошёл искать.

Цитата:
Количество активных слотов фактически неограничено - но для них нужно будет описать место где они будут отображаться и для каждых 6 слотов нужна своя абила инвенторя. По умолчанию расширяемо до 25 слотов - 5*5

С этим тоже спас. но не дождавшись тебя я уже разобрался и наполовину переделал твой инвент. ) Сейчас ни как не могу понять где функция которая отвечает за место нахождение текста описания и иконки золота.

Цитата:
Эта функция отвечает за автоодевание шмотки - то есть когда ты шмот подбираешь, функция ищет подходящий слот среди активных - то есть куда ее можно одеть, если ее вообще можно одеть. Возвращает [кажется] номер слота, в который нужно одеть или -1 если ее следует класть в рюкзак

Ага. Понятно. Вот только там какая-то ошибка. типа Не могу перевести integer to string(вроде так), Это нормальное я вление или нужно править?

free0n добавил:
NETRAT Кстати скоро выложу переделанную версию(если с текстом разберусь:(). Если что поможещь подправить если что не так, а то я пока ещё начинающий джасер(всего три дня, точнее суток) и никогда не занимался програмированием(тока в школе на Паскале). И самое интерестное что это мне нравится.:) Так что если что поможешь(можешь словом, можешь делом)??
Старый 07.09.2006, 23:36
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
Посмотрел FSGUI Skill Tree в действии - класс, но нужно переправить.
Посмотрел в редакторе код FSGUI Skill Tree - ужас нах. Этож надо было так извратиться над кодом. Неужели нельзя было написать код заного. Ужас. Мне в нём лет двадцать разбираться:):) Ну да лана.
Старый 08.09.2006, 14:08
free0n
Бумбарявка
offline
Опыт: 4,736
Активность:
p01nTT об этом баге уже писали. В новой версии будет убран.
NETRAT оъясни мне в какой функции ты выводишь описание про предметы и указываешь место расположения этого описания. Чтобы такое же сделать под скиллы.

Отредактировано free0n, 09.09.2006 в 22:45.
Старый 09.09.2006, 19:00
p01nTT

offline
Опыт: 10,760
Активность:
дайте ссылку на fsgui skill tree
Старый 11.09.2006, 17:33
zibada

offline
Опыт: отключен
p01nTT
поиск из религиозных соображений не трогаем? =))
http://xgm.guru/forum/showthread.php?t=2625
Старый 11.09.2006, 18:25
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:11.