Code Monkey home page Code Monkey logo

zutilities's Introduction

zUtilities

This is a plugin with a set of many quality-of-life and utility features made for Union 1.0m for Gothic 1 and 2 games. Plugin can also be found on Steam Workshop.

Features

Plugin options can be changed in gothic.ini.

Some of the options can also be changed via ingame menu. (Requires Union 1.0m or higher.)

  • Quickly save / load game with F10 and F12 keys.

    • Shortcuts can be changed with KeyQuickSave and KeyQuickLoad options. A full list of available keys to choose from is there.
    • Range of save slots used for quick save can be adjusted in gothic.ini with MinSaveSlot, MaxSaveSlot options. Default, it's 6 bottom slots.
    • Notice strings are set automatically depending on system language but still can be changed manually in gothic.ini with CantSave, CantLoad and NoSave options.
    • This feature can be disabled in gothic.ini with QuickSaveMode option.
    • Change QuickSaveMode option for different style or disable: 0 - Disabled, 1 - Standard, 2 - Alternative.
  • Changes name color of focused npcs, containers, doors and items.

    • Npcs: Red - hostile / wants to kill you, Orange - angry / pissed off, Cyan - partymember, Green - friendly, Slightly green - friendly guild, White - neutral / dead, Grey - dead and looted.
    • Lockables: Red - locked on key, Orange - locked, Light red - can be opened with a key or lockpick, Green - open with items, Grey - permanently closed or opened and empty.
    • Items: White - default / item can be taken, Slightly orange - someone will catch the hero stealing.
    • Intractable book stands: Green - unread, White - default / read.
    • Each group can be disabled separately in gothic.ini with ColorNpcs, ColorLockables, ColorItems and ColorInter options.
  • Renders the selected inventory item in the center of the screen instead of in the item description box.

    • Camera in inventory will be shifted a bit, so the item doesn't cover the hero.
    • In Gothic 2 item will be animated only if item has inv_animate property set to true.
    • In Gothic 1 item will be displayed on the left or right when trading.
    • This feature can be disabled in gothic.ini with CenterInvItems option.
  • Renders labels for items in the inventory based on item parameters.

    • All icons are made via Game-icons.net website.
    • There are many possible icons to appear when item has right parameters. There are labels even for items that don't exist in original game like shields, helmets, armors requiring attribute and more.
    • Label can be set to render behind item model, so it doesn't cover it. Set PutLabelBehind option to 1 in order to do that.
    • LabelMissionItems option allows items with ITEM_MISSION flag to have special mission flag. This option is disabled by default.
    • Label scale can be adjusted in gothic.ini with LabelScale option.
    • This feature can be disabled in gothic.ini with LabelItems option.
  • Displays a popup when dealing damage.

    • This feature is inspired by New World's damage label and based on AlterDamage popup code.
    • Set DamagePopupMode option to 1 for Alter Damage style, 2 for New World style and 0 to disable this feature completely.
    • Popup scale depends on the amount of damage dealt compared to the target's max hp, the fact if the hit was critical or not and Scale option from SystemPack.ini. Base scale can also be adjusted in gothic.ini with DamagePopupScale.
    • Icons and base colors are unique for every damage type and each can be separately disabled in gothic.ini with DamagePopupShowIcons and, DamagePopupColorDmgTypes options.
    • By default the number has the same color as the icon, but it can be disabled in gothic.ini with DamagePopupColorOnlyIcon option.
  • Adds few features for status bars.

    • Focused npc hp bar is displayed right above his name. This can be disabled with ShowEnemyBarAboveHim option.
    • Added option to show numeric values of status bars. Change StatusBarValueMode option for different style or disable: 0 - Disabled, 1 - Above, 2 - PointToCenter, 3 - Inside. By default, option to show value above bar is active.
    • Optionally, text labels can be set to be displayed right next to the bar value. Set StatusBarNames like so: Health|Mana|Stamina. Leave empty and no text will appear.
    • Health, mana and swim status bars position can be changed with HealthBarPos, ManaBarPos and SwimBarPos options.
      • Four positions need to be defined in a form x1|y1|x2|y2 that reflects a virtual position in 0|0|8192|8192 scope.
      • Default health bar position for systempack Scale=1 is: 43|7873|1122|8085 and for Scale=0: 43|7964|811|8116
      • Default mana bar position for systempack Scale=1 is: 7053|7873|8132|8085 and for Scale=0: 7381|7964|8149|8116
      • Default swim bar position for systempack Scale=1 is: 3556|7873|4635|8085 and for Scale=0: 3712|7964|4480|8116
      • Leave options empty to use default positions.
  • Allows to change world speed multiplier.

    • This feature is completely disabled by default and can be enabled with UseTimeMultiplier option.
    • Time multipliers can be changed with TimeMultipliers option like so: 0.65|1.0|2.7|3.5.
    • World speed will cycle in the order of set multipliers after pressing Z. Shortcut can also be changed with KeyTimeMultiplier option.
    • Currently used multiplier will be shown next to the time icon.
  • Displays protection icon and value next to the focused npc hp bar.

    • This feature can be disabled in gothic.ini with ShowTargetProtection option.
  • Displays coin icon next to the focused npc name if player can pickpocket him.

    • This feature can be disabled in gothic.ini with ShowPickpocketIcon option.
    • Works in G2/G2A only.
  • Changes color of log entry titles in player's log book.

    • New log entries will appear green and updated ones will be orange.
    • This feature can be disabled in gothic.ini with LogBookColoring option.
  • Allows to change color of selected text line in dialogues with SelectedDialogueColor option.

    • Enter any color in R|G|B or R|G|B|A format, e.g.: 30|200|60|255
    • Leave option empty to keep using default color.
  • Allows to use alternative way of opening locks with lockpicks.

    • Essentially, the combination doesn't reset after fail. The player can keep going forward without the need to reenter the already discovered combination over again after every fail.
    • This is disabled by default and can be enabled with RememberLockCombination option.
  • Allows to display current in game time.

    • This is disabled by default and can be enabled with ShowGameTime option.
  • Allows to display currently used munition amount.

    • This is disabled by default and can be enabled with ShowMunitionAmount option.
  • Allows killing meatbugs by stepping on them.

    • This feature can be disabled in gothic.ini with TrampleMeatbugs option.
  • Highlights munition used by currently equipped ranged weapon.

    • This feature can be disabled in gothic.ini with ActivateUsedMunition option.
  • Displays on the status bars how much hovered item will heal.

    • Heal value is based on the count value of the item associated with the text that is equal to the original recovery string variables NAME_BONUS_HP and NAME_BONUS_MANA.
    • This feature can be disabled in gothic.ini with RecoveryVisualization option.
  • Allows to use alternative dialogue boxes when talking.

    • This is disabled by default and can be enabled with AlternativeDialogueBoxes option.
  • Display debug info data about focused vob or selected in the inventory item.

    • Use zutilities debug command to toggle on/off.
  • Insert all items into inventory with zutilities giveallitems command.

  • Check currently used plugin version through in game console with zutilities version command.

  • Reminds the player to save the game by displaying an icon with a timer after playing without saving the game for too long.

    • By default, it reminds the player after 5 minutes since the last save game. It can be changed in gothic.ini with SaveReminder option.
    • It can be turned off by setting SaveReminder to -1

Options

Automatically generated plugin section with default settings.
[ZUTILITIES]
TrampleMeatbugs=1
; ... enables (1) or disables (0) a way of killing meatbugs by stepping on them

CenterInvItems=1
; ... enables (1) or disables (0) inventory item rendering in the center of the screen instead of the item description box

RememberLockCombination=0
; ... enables (1) or disables (0) alternative way of opening locks, where discovered combination doesn't reset after fail

ActivateUsedMunition=1
; ... enables (1) or disables (0) highlighting currently used ranged weapon munition in the inventory

AlternativeDialogueBoxes=0
; ... enables (1) or disables (0) alternative dialogue boxes style

SelectedDialogueColor=
; ... defines color of selected line in dialogues
; ... use 'R|G|B' or 'R|G|B|A' format
; ... leave empty to use default color

LogBookColoring=1
; ... enables (1) or disables (0) coloring of new and unread topics in logbook

ShowGameTime=0
; ... enables (1) or disables (0) on screen display of in game time

ShowMunitionAmount=0
; ... enables (1) or disables (0) on screen display of currently used munition amount

ShowTargetProtection=1
; ... enables (1) or disables (0) protection icon and value next to the focused npc hp bar

ShowPickpocketIcon=1
; ... enables (1) or disables (0) coin icon next to the focused npc name when it can be pickpocketed

UseTimeMultiplier=0
; ... enables (1) or disables (0) time speed multiplier

KeyTimeMultiplier=KEY_Z
; ... key for cycling time speed

TimeMultipliers=1.0|2.5
; ... defines time multipliers

SaveReminder=5
; ... Time in minutes after which the reminder to save the game appears on the screen
; ... set to -1 to disable

RecoveryVisualization=1
; ... enables (1) or disables (0) visualization of healing that hovered in the inventory item gives

StatusBarValueMode=1
; ... specifies mode of showing status bar value, (0) - 'Disabled', (1) - 'Above', (2) - 'PointToCenter', (3) - 'Inside'

ShowEnemyBarAboveHim=1
; ... enables (1) or disables (0) showing enemy hp bar above his head

StatusBarNames=
; ... defines text label for status bars like so: 'Health|Mana|Stamina', leave empty if text is unwanted

HealthBarPos=
; ... defines position of health bar like so: 'x1|y1|x2|y2'
; ... default position for scale 1 is: '43|7873|1122|8085' and for scale 0: '43|7964|811|8116'
; ... leave empty to use default position

ManaBarPos=
; ... defines position of mana bar like so: 'x1|y1|x2|y2'
; ... default position for scale 1 is: '7053|7873|8132|8085' and for scale 0: '7381|7964|8149|8116'
; ... leave empty to use default position

SwimBarPos=
; ... defines position of swim bar like so: 'x1|y1|x2|y2'
; ... default position for scale 1 is: '3556|7873|4635|8085' and for scale 0: '3712|7964|4480|8116'
; ... leave empty to use default position

QuickSaveMode=1
; ... specifies QuickSave mode, (0) - 'Disabled', (1) - 'Standard', (2) - 'Alternative'
; ... QuickSave with [F10] and QuickLoad with [F12]

KeyQuickSave=KEY_F10
; ... key for QuickSave

KeyQuickLoad=KEY_F12
; ... key for QuickLoad

MinSaveSlot=15
; ... defines min range of used save slots

MaxSaveSlot=20
; ... defines max range of used save slots

CantSave=The game cannot be saved now!
; ... text appearing when game cannot be saved

CantLoad=The game cannot be loaded now!
; ... text appearing when game cannot be loaded

NoSave=Such a save does not exist!
; ... text appearing when something went wrong and incorrect save slot tried to be loaded

SaveName=QuickSave
; ... name used for quicksaves

ColorNpcs=1
; ... enables (1) or disables (0) coloring of focused npcs

ColorLockables=1
; ... enables (1) or disables (0) coloring of focused chests, doors and other lockables

ColorItems=1
; ... enables (1) or disables (0) coloring of focused items

ColorInter=1
; ... enables (1) or disables (0) coloring of interactive bookstands

LabelItems=1
; ... enables (1) or disables (0) inventory item labeling

LabelScale=1.25
; ... defines scale of the label

LabelMissionItems=0
; ... enables (1) or disables (0) labeling of item missions, this will overwrite previous label on any item with ITEM_MISSION flag

PutLabelBehind=0
; ... specifies if the label should be rendered behind the item

DamagePopupMode=1
; ... specifies DamagePopup mode, (0) - 'Disabled', (1) - 'Alter Damage', (2) - 'New World'

DamagePopupScale=1.10000002
; ... defines base scale of the popup

DamagePopupShowIcons=1
; ... enables (1) or disables (0) icons for the popup

DamagePopupColorDmgTypes=1
; ... enables (1) or disables (0) popup coloring by the damage type

DamagePopupColorOnlyIcon=0
; ... enables (1) or disables (0) coloring only the popup icon

zutilities's People

Contributors

bogu9821 avatar franisz avatar fyryny avatar met0rii avatar przemko07 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

zutilities's Issues

Bottom 6 Slots not used for Quick slots not used

Whenever i quicksave it only overrides the last saveslot. Tried using alternative mode, but it doesnt change anything.

And not an issue but i could not find any info about it: What is the difference between alternative and standard Quick save mode?

My ini:

...
QuickSaveMode=2
; ... specifies QuickSave mode, (0) - 'Disabled', (1) - 'Standard', (2) - 'Alternative'
; ... QuickSave with [F10] and QuickLoad with [F12]

KeyQuickSave=KEY_F4
; ... key for QuickSave

KeyQuickLoad=KEY_F6
; ... key for QuickLoad

MinSaveSlot=15
; ... defines min range of used save slots

MaxSaveSlot=20
; ... defines max range of used save slots
...

Request for new feature

Hi! Plugin zUtilities is amazing. But what about one new feature? Enable displaying for equipped armors, runes and etc in dead or knocked down NPCs invenory?

Selectable Colored Text

I would love to see a feature, which allows us, to change the selectable text (only selectable text, but not the dialogue one) to any color which user wants. There should be these three lines, ColorR=0, ColorG=255 and ColorB=0.

dodanie modyfikacji kolorów do ini

Filip czy możesz dodać możliwość edycji kolorów npc, itemów etc. do ini. Zaawansowany user (taki jak ja ) mógłby się tym pobawić .. i ustawić wg uznania....

KeyTimeMultiplier

Hi, this is not an issue per se, however I have found no better way of contacting the team.

Where can I find a list of all supported keys for the KeyTimeMultiplier option?
I would like to bind one of my mice thumb buttons to cycle the time shift.

Thanks in advance. The issue can be considered closed instantly.

[suggestion] Second keyboard binding for time multiplier cycle down

Excellent set of utilities, thank you.

Instead of having one "KeyTimeMultiplier" for cycling up simulation speed, would it be possible to have two, "KeyTimeMultiplierUp" and "KeyTimeMultiplierDown", so one can go in both directions? If my TimeMultipliers are, say, 1.0|2.5|6.0, I would like to be able to go directly back from 2.5 to 1.0. This would be convenient in so many ways. For example, when using 2.5 to precisely approach a monster before slowing down for actual combat.

And if so, is there any way - this is probably a long shot - to bind that stuff to the mousewheel?

[Request] Improve DebugHelper information

Hello 👋,
the zutilities debug mode enables the display of windows that contain more info about the objects in focus.
The windows lack some key information, for example triggerTarget for interactive mobs.

image

Another case would be the NPCs with DailyRoutine displayed as a memory number instead of a function name:

image

So I would like to ask for a general refactor that would improve the data and allow to more easily see information I could search in decompiled DecDat scripts ^^

kolor NPC ze względu na rutynę Follow lub Guide

Pomyśl o dodatkowym kolorze dla NPC (np blue) jeżeli znajdują w rutynie Follow lub Guide. Nie podpowiem jak zrobić to na Unionie, mam to jednak zrobione jako pakiet Ninja.
EDIT
Można rozważyć czy nie zmienić kolor kluczowych itemów typu "koło zębate w kopalni" czy " kamienie ogniskujące" (najważniejsze mission items !)

zmiany przy wpisach do dziennika przy zadaniach

W wielu modach (szczególnie tych starszych) brakuje "fjuczerów" odnośnie wpisu do dziennika .

O ile dodanie nazwy zadania przy każdym kolejnym wpisie do dziennika nie jest problemem za pomocą zwykłych skryptów to wpis typu "Nowe zadanie : ( Przyjęcie do Starego Obozu)" wymaga bodajże Ikarusa.

Może to dodać warto to dodać .. dodaje to smaku w trakcie gry.
Wyświetlanie statusu zadania przy jego rozpoczęciu bądź zakończeniu mogłoby być w innym kolorze (np. na wzór "Z życia Złodzieja" czy "Dark Saga").
Będę wdzięczny za wzięcie pod uwagę przy kolejnym update.

EDIT1: Jeszcze jedna rzecz mi się przypomniała. Handel w G1 jest trochę toporny...żeby przespieszyć transakcję można by np. ENTERem dokładać brakującą ilość rudy po każdej ze stron.

EDIT2: Przy wyświetlaniu zadawanych obrażeń nie widzę róznicy po trafieniu krytycznym (może warto to określić innym kolorem np. yellow).

Quick loot

W jaki sposób włączyć quick loot przy użyciu Twojego plugina?

Enemy Bar not working correctly

Enemy Bar feature only works if ColorNpcs settings is ON.
Tested with mods and clean game.
I honestly don't mind ColorNpcs set to on but mod I play is using it's own color system.

Here are differences:

Enemy Bar - on, ColorNpcs - off:

1-0
1-1

Enemy Bar and ColorNpcs - on:

2-0
2-1

slow/long shutdown of Gothic I/II

Hi,

at first: big THANKS for your great patch/plugin - I love all the new functions and options.

I used it on Gothic I Classic also on Gothic II NotR and the zUtilities 0.12 causes a long shutdown of the game: it took a while before I can use other programs normally (Gothic I: the mouse is seen in Windows 10 this time but I can not use the GothicStarter.exe again while the game is closing; Gothic II: the mouse is not seen in Windows 10 this time, bit I can switch to other running programs and use them with keyboard). I tried this with all other patches I installed seperatly and there is no such behavior, only if zUtilities 0.12 is activated, also if it is the only used patch.

Nothing of this happens if I use an earlier Version of this plugin.

Thanks for your answer in advance.

Greetings

wahoonie76

Ukrywanie paska many

Czy dałoby się zaimplementować taką funkcję, która ukrywa pasek many, gdy bohater nie trzyma czaru? Wiem, że już jest w Union, ale mi nie działa. Mam podobną na ukrywanie HP i sprawdza się wyśmienicie.

UseTimeMultiplier affects the Black Ore effect

In case that you are using the time multiplier feature it will affect the black ore effect.
Normally black ore will slow the time down, but with this feature activated it will make things faster.

It's possible to turn the feature off in order to get the correct slow down effect

Item labels noto be seen with activated Union Advanced-Inventory-Plugin

Hey Franisz,

thank you so much for your plugin development.

Actually I have an issue (?) with showing the item labels in opened inventory. It's only if I play with activated Advanced Inventory-Plugin from Xeдин.

In Gothic I the function of advanced inventory at the moment is only available for players inventory (Screenshot 1), not if you just opened a chest or a NPC (Screenshot 2).

Gothic 1 Screenshot 1
Gothic 1 Screenshot 2

Maybe it's possible to discuss this with Xeдин from the worldofplayers.ru forum (sorry, I'm not a coder). I will also ask him on his plugins forum thread.

Greetings

wahoonie

zmiana pozycji boxów dialogowych

Filip

czy możesz dodać podobnie na wzór przemieszczenia pasków opcje przesuwania boxów dialogowych (choice box, ew. inne) ? Fajnie by było mieć możliwość zmiany tych pozycji.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.