(05-29-2013, 03:55 AM)STR_Warrior Wrote: [ -> ]I was wondering if it is possible to open a "virtual" chest. like you use a command and then you get a window.
I also thought that, it would be useful, players would be able to have a protected chest everywhere. And add ender chests would be nice too.
All the windows MCServer implements are tied tightly with the entities that they represent, so there's no way of separating them reasonably.
What we *could*, theoretically, do, is to make a Lua-only window class that will interact specifically with the plugins, nothing else. This could actually work. The plugin creates a cWindowLua, says that the client window type is cWindow::Anvil, for example, then it adds a few cSlotAreaLua object to handle the actual slot areas and sets their contents, and finally calls a cWindowLua:OpenForPlayer(). The window will then process the clicks and a hook function will be called for each slot manipulation, as well as window closing.
OK, guys, I challenge you. Start a new thread, write a reasonable "documentation" for the API, together with a commented plugin code sample usage. If you manage that, I promise to implement it.
I recommend looking at the source/UI/Window.h and source/UI/SlotArea.h header files, to see how windows are currently implemented in C++, that might give you an idea of how to do this.
Oh god i have absolutely no idea how to start ;O
Ugh, I'm still fighting the dropspensers / redstone interaction. I thought I had it, but still there's problems.
Let's hope rev 1525 fixed most of them. There's just an issue that a dropspenser powered by a redstone torch directly next to it won't power down when the torch is removed. I don't think I'm capable of tweaking the redstone simulator that much to actually fix that
(05-29-2013, 04:36 AM)STR_Warrior Wrote: [ -> ]Oh god i have absolutely no idea how to start ;O
Oh come on, I've even made the first step for you - a first thought about how the plugin code should work. Start there - think about how you want to be able to work with such windows from the Lua code. From there, it'll go all by itself.
Something like this? I'm realy bad in creating such posts ;(
LuaWindow
MCServer needs a class open for lua that allows them to create custom windows. For example if you use a command that it will open a window with 9 slots or something. This is the idea i have on how to work with it in Lua but i have no idea if it is possible:
function HandleCommand( Split, Player )
Window = cLuaWindow()
Window:Create( 9 ) -- Create a window with 9 slots.
Item = cItem( E_BLOCK_DEAD_BUSH, 1, 0, 0 ) -- Create a item. It's just an example <--
Window:SetSlot( 1, Item ) -- Set the first slot to the Item /\
Player:OpenWindow( Window ) -- Send the window to the player and let him open it ||
end
Then with the use of a hook, the plugin should know what item the player clicked on.
OK, start a thread with that, I'll add my comments, you'll refine the code, I'll add more comments... Just I don't want this to rot in this all-purpose thread

so when I actually start implementing it, I can find it easily.
Why is there the most forum activity just as I'm leaving the computer? Then I have to reply from a phone and spend the whole dance training thinking about the new stuff

I sometimes have that just before a test ;P
Wow, I received an email from a person actually wanting to use ProtoProxy! I didn't write the tool just for me, there's other people out there using it! Oh Yeah!

Pity that the email said it didn't work for them

Inventory painting should be all done, can the testers confirm?