Foereaper
Founder
Hello everyone, I'm sure a lot of us know about the GATE project, previously created by Kenuvis. His GATE project was the first of it's kind, primarily to be able to code Addons for private servers completely server side, by using a framework addon and server side scripts. Unfortunately his links for his last version, which had Eluna support, are no longer valid. Thus I decided to take up his older version and recode it to work with Eluna's new Addon Communication Support!
I have now got to the point where it's working perfectly fine, except a small few changes that'll happen very shortly Lua Engine side, however it will not involve any change of the Addon or server side script. Thus, the framework so far is ready for release!
How to install:
Below you will find two download links. One is for the Client Side Addon, and the other is for the Server Side Script. Remember, whoever will be using your server side addons will have to install the GATE addon.
Server side:
1. Download the ElunaGate Server Script
2. Place the above script inside your lua_scripts\extension folder! This is very important to ensure the server side framework is loaded before your addons!
Client side:
1. Download the ElunaGate Client Addon
2. Unpack the folder inside your World of Warcraft client's Addon directory.
Easy as that! You have now successfully installed ElunaGate and you can start using your ElunaGate addons!
As you can probably imagine, there are not a lot of ElunaGate Addons created yet. However, I have been working on a GM addon, which will be released in a separate thread, which you can find below:
ElunaGate GM Addon
Thank you very much for your continued support, we at EmuDevs and Eluna couldn't have done it without you all!
Special thanks to Kenuvis for his great work on GATE. Below I will quote his original thread, which contains some more information about GATE in general:
I have now got to the point where it's working perfectly fine, except a small few changes that'll happen very shortly Lua Engine side, however it will not involve any change of the Addon or server side script. Thus, the framework so far is ready for release!
How to install:
Below you will find two download links. One is for the Client Side Addon, and the other is for the Server Side Script. Remember, whoever will be using your server side addons will have to install the GATE addon.
Server side:
1. Download the ElunaGate Server Script
2. Place the above script inside your lua_scripts\extension folder! This is very important to ensure the server side framework is loaded before your addons!
Client side:
1. Download the ElunaGate Client Addon
2. Unpack the folder inside your World of Warcraft client's Addon directory.
Easy as that! You have now successfully installed ElunaGate and you can start using your ElunaGate addons!
As you can probably imagine, there are not a lot of ElunaGate Addons created yet. However, I have been working on a GM addon, which will be released in a separate thread, which you can find below:
ElunaGate GM Addon
Thank you very much for your continued support, we at EmuDevs and Eluna couldn't have done it without you all!
Special thanks to Kenuvis for his great work on GATE. Below I will quote his original thread, which contains some more information about GATE in general:
... Any many more!
Guide:
You had Frame, Button, CheckBox, RadioBox, EditBox, TextBox, StatusBar, Slider, Panel and ListBox as the Basic Objects.Everyone of this can create with CreateFrame, CreateButton and so on.
If you want, that a Object is a Child of another, you do call the create from the Parent-Object.
f = CreateFrame("FrameName")
btn = f:CreateButton("ButtonName)
f:Send(Player1, Player2, Player3, ...) will send the Object and all Childs of it to the Player(s).
Easy? Easy!
Special and prefinished Frames/Objects are: TabbedFrame, Timer, DropDownMenu, CursorKeys, DialogFrame, EditFrame, OKFrame, YesNoFrame, MinimapButton, SlashCommand, Action, KeyBind, Event
Now, you can modify Objects.
All Modification, you call over the Set-Command, like f:SetWidth(200).
The Basic-Modificator are Text, Width, Height, Parent, XOffset, YOffset, Offset, StatusLink, Event, Tooltip, Hidden, FadeIn, FadeOut, Red, Green, Blue, Alpha, Style, Cursor, SafetyStep, Trigger1 to 5.
Only for Frames:
CantClose, CantMove, InfoText, Front, Tabbed, LeaveOpen, Texture
Only for TabbedFrames:
Tab, SelectedTab
Only for Panels:
Border, Background
Only for Buttons:
Texture
Only for EditBox:
MultiLine, MinValue, MaxValue
Only for Radio-/CheckBox:
Checked
Only for YesNoFrames:
Yes[Shown Text], No[Shown Text]
Only for Statusbar/Slider:
MinValue, MaxValue, ValueStep, Value, Countdown, LowText, HighText, AutoReset, Flow, Invert, Vertical, Stop, Start, Runs
Only for Timer:
Countdown, Stop, Start, Runs
Only for Minimapbuttons:
Texture, Degree
Only for DropDownMenus:
DropDownItem(s), SelectedItem
Only for ListBox:
ListBoxItem, Lines, Rows, CanScroll, Margin
Only for InputFrames:
ButtonText, FrameText, DontCloseAfterSend
Only for TextBox:
TextHeight
Only for KeyBind:
Key
With SetEvent, you can set 9 diffent events:
OnClick, OnDoubleClick, OnHide, OnEnter, OnEnterPressed, OnKeyDown, OnEditFocusGained, OnEditFocusLost, OnLeave.
Button:SetEvent("OnClick", function(Object, Player, Event, More) ... end )
For Trigger, you use the same Events. If you do not said, what should trigger, it show/hide. Otherwise, you had FadeIn, FadeOut, Check, UnCheck, Tooltip.
btn1:SetTrigger(btn2, "OnClick") or btn1:SetTrigger(CheckBox, "OnClick", "Check")
So, this is it for the moment. If you had questions, feel free to ask. If you had idea, what Gate should do, say it.
Greeting from Berlin,
Kenuvis