-
Member
Hey Guys
I would like to write my own plugin, but im missing the concept of it. Im used to have a main function somewhere and add my plugins there.
Can someone guide me in the right direction how to start writing a plugin and how to activate it in the main function ? Or shall i rewrite the core itself ? Where does the main process happen ?
Thanks in advance,
Blubber
-
Contributor
Originally Posted by
blubber424
Hey Guys
I would like to write my own plugin, but im missing the concept of it. Im used to have a main function somewhere and add my plugins there.
Can someone guide me in the right direction how to start writing a plugin and how to activate it in the main function ? Or shall i rewrite the core itself ? Where does the main process happen ?
Thanks in advance,
Blubber
The best way would be to look at how other plugins work. There might be a lot of code and it can be intimidating, but you can understand the structure of almost any plugin with some practice. For example, lets look at one of the initial states of my plugin, ExpeditionIcons: ExpeditionIcons/ExpeditionIcons.cs at 08c79c3a248cd90f9cf0301024ad6c04c502ece1 . arturino009/ExpeditionIcons . GitHub
I just stole most of the drawing code from RandomFeatures, and tried to use it to my needs. I still don't completely understand how some of the functions truly work in my own plugin, but thats ok and thats how you learn.
Lets look at some main things. As far as I know, every plugin has at least a Settings file and the main file. Let's look at the main file.
We have the class where there are a bunch of variables declared. By default, all of them are initialized only once, when the plugin "starts". You can also use "public override bool Initialise()" to execute some function that should be activated only once on plugin initialization (I still don't know how to use multithreading lol). Then we have "public override Job Tick()", which should activate every "tick" of ExileAPI. Im not completely sure when it's best to use it, but it might be useful when there are some variables that might constantly change. Also, I think that this part executes first in your program every loop, but I'm not completely sure.
The most useful one is "public override void Render()", and here you can draw anything on your screen, and it will draw these things every "Tick". Usually you can manage to make things work by only using this override, just try to get some UI elements or gamestates, read data from them and then do the stuff you want.
There are also other useful overrides like OnAreaChanged(), which will execute every time you change areas.
Truly the best way to learn is to find some other public that works with the things you need, and look how things are done there. Need to work with entity preloading and area changes? Look at PreloadAlert. Need some automation of flasks or skills? Look at BasicFlaskRoutine or BuffUtil or CoPilot. Need to draw extremely simple text on screen? IncursionHelpers might help. Working with items or mods? InventoryItemsAnalyzer. There are tons of plugins that do some great stuff, so you can learn a lot.
Keep in mind that very often you might need to look at the source code of ExileAPI, but in time you will understand some of the things there. Good luck
-
Member
Hello I am korean.
FlaskBuffdetails.json
Flaskinfo.json
All of the flask names are changed to Korean and other flasks work, but only Quicksilver Flask works.
Is there anyone who can give me a hint?bf.png
-
Active Member
If AdvanceToolTip is broken for anyone, I fixed null reference exception here: GitHub - HugKitten/AdvancedTooltip. Too busy to look at the code for the missing modifier error atm, but I'll look at it when I have time.
Last edited by HugKitten; 05-17-2022 at 12:40 AM.
-
Post Thanks / Like - 1 Thanks
Senotin (1 members gave Thanks to HugKitten for this useful post)
-
Active Member
Originally Posted by
SecretPender
The latest version of Loader.exe is getting flagged for Trojan:Win32/Wacatac.B!ml all of a sudden. What's going on
I've noticed this too. I believe either the name, or the fact that the program downloads and compiles programs from github (allowing remote code execution) is why they flagged the program.
-
Post Thanks / Like - 1 Thanks
Senotin (1 members gave Thanks to HugKitten for this useful post)
-
Member
Hi, I can't seem to find a plugin named UnIndy anywhere, it was such a useful tool to automatically identify things in the inventory. Was it deleted by it's author? Also Inv Item Analyzer (GitHub - vadash/EZVendor: InvAnal alternative for community HUD) doesn't seem to work for me.
-
Contributor
-
Post Thanks / Like - 1 Thanks
Senotin (1 members gave Thanks to Anderson11 for this useful post)
-
Member
Plague bearer copilot doesn't work for me, can someone confirm ?
Edit: tried snowhawk04 fork and it works.
GitHub - snowhawk04/copilot: CoPilot - Plugin for Exilehud / PoeHelper
Last edited by GabrielMazini; 05-17-2022 at 11:43 AM.
-
Member
-
Post Thanks / Like - 1 Thanks
Senotin (1 members gave Thanks to GabrielMazini for this useful post)
-
Member
just wondering what I'm doing wrong with the extra plugins
I added the github repo in the plugin list
closed with F12... and then what?
I tried restarting loader and it restarts fine with the repo still listed there
it identified the name of the plugin and everything, but it's not showing up in the list on the left?
EDIT:
nvm...
I tried another repo and it worked, must be something wrong with the copilot repo
Last edited by Reynbow; 05-18-2022 at 01:00 AM.
-
Is there any plugin for simply mass vendoring items from your inventory? would be neat for emptying dump tabs.
Also, does anyone know how to add sentinel to a stashie filter?
-
Member
anyone else having issues with stashie and simplestashie?
it just randomly stops working after a while
-
Member
Originally Posted by
xerance
Is there any plugin for simply mass vendoring items from your inventory? would be neat for emptying dump tabs.
Also, does anyone know how to add sentinel to a stashie filter?
EZVendor or Inventory Item Analyzer
-
Member
Originally Posted by
Reynbow
anyone else having issues with stashie and simplestashie?
it just randomly stops working after a while
stashie nor pickit are working for me either atm
-
Member
Version Not Readable . Someone have that issue?