Перейти к контенту

Редактирование движка X-Ray


Rolan

Рекомендуемые сообщения

@UnLoaded, смотри:

это сама функция( начало)

void CInventory::Take(CGameObject *pObj, bool bNotActivate, bool strict_placement)

а вот тот кусок в этой функции который тебе нужен:

if(pIItem->CurrPlace()==eItemPlaceUndefined)
{
   if( !pIItem->RuckDefault() )
   {
      if( CanPutInSlot(pIItem, pIItem->BaseSlot()) )
      {
         result = Slot(pIItem->BaseSlot(), pIItem, bNotActivate,strict_placement); VERIFY(result);
      }else
          if (CanPutInBelt(pIItem))
          {
              result = Belt(pIItem,strict_placement); VERIFY(result);
          }else
          {
              result = Ruck(pIItem,strict_placement); VERIFY(result);
           }
   }else
   {
        result = Ruck(pIItem,strict_placement); VERIFY(result);
   }
}
  • Спасибо 1
  • Согласен 1
  • Не согласен 1

Поделиться этим сообщением


Ссылка на сообщение

Карлан, а с чем именно ты не согласен-то?)

Поделиться этим сообщением


Ссылка на сообщение

@demon96, можно схитрить и дописать в конфиг координаты  "альтернативной" иконки, само собой потребуется внести правки в движок дабы всё это читалось и использовалось. 

Поделиться этим сообщением


Ссылка на сообщение

@UriZzz, там всё проще делается же - можно свою текстуру наложить на любой итем не меняя размер клеток. 

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

@UriZzz, нет, через движок можно настроить чтобы иконок было две - ну или отвязать размер итема от размеров иконки, я бы не стал так делать.

Поделиться этим сообщением


Ссылка на сообщение

@Romann, показ параметров ножа можно исправить там же, где вообще формируется описание - файл UIWpnParams.

Поделиться этим сообщением


Ссылка на сообщение

@Romann, с патронами все гораздо проще - нужно просто поправить в файле UiActorMenu ф-ию void CUIActorMenu::highlight_item_slot(CUICellItem* cell_item)
Что и как править думаю разберёшься, ибо вариантов - море)

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

@Earth2Space можно, но точные сорцы ты не получишь, только приблизительный код. Хотя может в 2к17 году появились такие инструменты, но я их ещё не видел.

Поделиться этим сообщением


Ссылка на сообщение

@Earth2Space почитал бы самое начало темы - в то время как раз обсуждались подобные вопросы)

Поделиться этим сообщением


Ссылка на сообщение

@Earth2Space и что? Если умеешь пользоваться то найти смещения не проблема, тем более если под рукой есть оригинал. Если движок тоже правился через ассемблер то ничего смещаться само по себе не будет. Если движок пересобирался по сорцам то логичнее попросить сорцы)

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Дизель очень уж грубое описание )
Это старая технология всех нас переживёт)

Изменено пользователем mortan

Поделиться этим сообщением


Ссылка на сообщение

Заметил такую вот фигню - на r3\r4 игра просто вылетает если в настройках панели nvidia отключить "вертикальный синхроимпульс". Я правильно понимаю что причиной является неработающая верт. синхронизация в самом сталкере?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

может кто подсказать как отобразить float число в консоли? Msg("%d",value) подходит только для целых, просветите нуба)
Edit: ответ нашёл сам, спасибо гуглю ( Msg("%g",value) )

Изменено пользователем mortan

Поделиться этим сообщением


Ссылка на сообщение

@WinCap вопрос конечно очень странный - движок как бы итак делает синхронизацию между клиент\сервер объектами. Я отвечу так - лучше всего работать напрямую с клиентом, потому что получить серверный объект при спавне та ещё морока. Если внимательно изучишь код итемов то сможешь заметить что там как раз есть подобная "синхронизация".

Поделиться этим сообщением


Ссылка на сообщение

@WinCap ну, у меня была иная задача - получить id клент\серверного объекта при его спавне и тут же его использовать, но увы - скриптами такое сделать намного проще. в движке же на момент вызова функции спавна клиента ещё не существует. Как тут быть - я не знаю)

Поделиться этим сообщением


Ссылка на сообщение

Кто-нибудь правил такую вот траблу в ЗП - когда лутаешь труп или контейнер то итем не переносится в рюкзак а прыгает в тот слот который прописан в конфиге. Или же если наоборот хочешь засунуть оружее для первого слота во второй то оно само прыгает в первый слот если он свободен. Насколько я понял движок просто не выполняет след. net-packet который идёт сразу после перемещения итема от одного владельца к другому.

Поделиться этим сообщением


Ссылка на сообщение

@UnLoaded  тогда почему он не перемещается после в нужный слот? В функции SendEvent_Item2Slot сначала идёт проверка что если у актора нету итема то выполняется move_item_from_to, и уже после должна выполняется отправка пакета GEG_PLAYER_ITEM2SLOT. Но этого не происходит. Где же тут "фишка" если это самая настоящая недоработка? На ориг. игру это не шибко сильно влияет, но если создать какой-нибудь новый внешний контейнер ( скажем так какой-нибудь рюкзак ), то это вызывает определённые проблемы.

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@UnLoaded достаточно было не ответить "Я не работаю с ЗП". Или в таком случае не отвечать вовсе. А умничать делая странные выводы и предложения не видя кода перед собой много ума не надо) Тут движок и не думает, ему дают четкую команду - сначала забери итем из контейнера, а потом суй в слот. Только вот не хочет он в слот ничего сувать)
К слову я это уже поправил, только вот хотелось бы вовсе уйти от этих злобных багетов, но пока что не хватает ни рук, ни способностей.

Изменено пользователем mortan

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...