CageyRabbit
Member
- Gender
- Male
- Guildcard
- 42052497
That's the same post I used to get it running in WINE as well. Between that and the changes that Soly made recently it runs great in Linux now.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Well... it is as "easy" as you described it... grab the player data and get the tech levels from it...I'm trying to determine how to color code a tech drop in the floor window to stand out if its a higher level than what i currently have learned, without going into the .lua after each playthrough and updating the table manually. Is there a way to reference what level the tech is with the maximum level i have learned any apply a color variant if true?
EphineaPSO\addons\Monster Reader\init.lua
local function PresentMonsters()
-- Get how many columns we'll need
lib_helpers.TextC(false, 0xFF00FF00, defTech.name .. defTech.level .. string.rep(" ", 2 - #tostring(defTech.level)) .. " ")
local function PresentTargetMonster(monster)
-- Show J/Z status and Frozen, Confuse, or Paralyzed status
lib_helpers.TextC(false, 0xFF00FF00, defTech.name .. defTech.level .. string.rep(" ", 2 - #tostring(defTech.level)) .. " ")
The Zalure color was taken from https://convertingcolors.com/android-color-4278255360.html?search=0xFF00FF00
View attachment 12794
I edited my monster reader lua to calculate the optimal techs to use as a force based solely on the enemies resistance. Also added an inventory counter to be displayed on the AIO frame. I need to determine how to calculate better tech usage based on enemy resistance AND current player tech level. Maybe a damage calculation that i can use to compare?
An issue i noticed last night though, every encounter with De Rol Le would break my monster reader completely. I forgot to check to log to see what was causing it so i'll have to go back in. I'm not sure if its because of something I may have done or if its a known issue.
Edit: Solution was found to the De Rol Le issue, i needed to add additional lines to the function CopyMonster. In my arguements to determine what resistance is lowest, it was breaking on De Rol Le because the head was being copied for HP purposes but no additional stats, so when i was checking if Efr <= Eic for example, it was returnin a nil value for both.
Curious, whenever i reload the addon while in-game, my monster reader windows reset to the default position. Is there a way to save where i manually resize and move them to?
--[[
popup test
Catherine S (IzumiDaye/NeonLuna)
2020-02-20
]]
local core_mainmenu = require('core_mainmenu')
local showwindow
local showtestpopup
local function present()
if not showwindow then return end
if imgui.BeginPopup('testpopup') then
imgui.Text'test popup'
if imgui.Button'close' then imgui.CloseCurrentPopup() end
imgui.EndPopup() end
if showtestpopup then
imgui.OpenPopup'testpopup'
showtestpopup = false
end
imgui.SetNextWindowSize(600,300,'FirstUseEver')
local success
success, showwindow = imgui.Begin('popup test', true)
if not success then
imgui.End()
return
end
if imgui.Button'show test popup' then showtestpopup = true end
imgui.End()
end -- local function present()
local function init()
core_mainmenu.add_button('popup test', function() showwindow = not showwindow end)
return
{
name = 'popup test',
version = '0.1',
author = 'IzumiDaye',
description = 'test popup with a barebones addon',
present = present,
}
end
return {__addon = {init = init}}
I think you're suppose to call OpenPopup() before BeginPopup(), and also End before close (although imgui.cpp seems to indicate Close() should be called inside Begin() and End() but oh well).
local function present()
if not showwindow then
return
end
--imgui.SetNextWindowSize(600,300,'FirstUseEver')
local success
success = imgui.Begin('popup test', true)
if not success then
return
end
if imgui.Button('show test popup') then
showtestpopup = true
end
imgui.End()
if showtestpopup then
imgui.OpenPopup('testpopup')
imgui.BeginPopup('testpopup')
imgui.Text('test popup')
if imgui.Button('close') then
showtestpopup = false
end
imgui.EndPopup()
if not showtestpopup then
imgui.CloseCurrentPopup()
end
end
end -- local function present()
Thanks, fixed.also, i noticed that in the theme editor, color components are labeled A,B,G,B instead of A,R,G,B.
Afaik I have been grabbing the release build to put on github...Also they're only on in debug mode. Soly is doing his releases with debug builds which should probably be changed to be release because iirc there's some automatic stack balancing in the plugin from a commit by @staphen some years back. But I wouldn't want to rely on that to coverup an addon's bug (which could be detrimental if it's covering up the right mistake elsewhere).
local function present()
if imgui.Begin('popup test', true) then
if imgui.Button('show test popup') then
imgui.OpenPopup('testpopup')
end
if imgui.BeginPopup('testpopup') then
imgui.Text('test popup')
if imgui.Button('close') then
imgui.CloseCurrentPopup()
end
imgui.EndPopup()
end
imgui.End()
end
end -- local function present()
153: balance_all_stacks = override_stack_functions()
224: balance_all_stacks()
@Soly any idea how to determine what the player's highest level learned for each technique would be? I was able to find the player's MST address. I want to create a function to determine the most optimal tech to cast for each enemy using the tech damage formula on pso-world, and this is the one piece im missing. Otherwise i would have to manually edit the function every time a new tech is learned.
local self = lib_characters.GetSelf()
local foie = lib_characters.GetPlayerTechniqueLevel(self, lib_characters.Techniques.Foie)
public static IReadOnlyList<string> CharacterClassNames = new List<string> {
"humar",
"hunewearl",
"hucast",
"ramar",
"racast",
"racaseal",
"fomarl",
"fonewm",
"fonewearl",
"hucaseal",
"fomar",
"ramarl",
};