Quantcast LoTRO Lua noob's wish list - LoTROInterface
VGInterface.com
Search Downloads


Go Back   LoTROInterface > LotRO > Developer Discussions > LotRO Wish List (L)

Reply
Thread Tools Display Modes
  #1  
Unread 09-11-2011, 02:49 PM
dhmitchell23's Avatar
dhmitchell23 dhmitchell23 is offline
The Wary
 
Join Date: Sep 2011
Location: Boston
Posts: 3
Send a message via Yahoo to dhmitchell23 Send a message via Skype™ to dhmitchell23
LoTRO Lua noob's wish list

I may be missing things but have searched:
  1. Play simple sounds, short mp3s for alerts (like ring tones)
  2. Dynamically draw graphics w/ fills and gradients
  3. Dynamically set alpha of background (using as overlay w/ blend mode overlay)
  4. Get useful information in event args (at least MoraleChanged has nothing in its payload)
  5. GetFellowship : List<Player>
  6. Get lat/long of players
  7. Get Player quest list (preferably w/ filtering by completed, epic/racial/class, level, dateAcquired, dateCompleted...)
  8. Get vector like target tracker to any player, npc, or monster in scene (for example, to keep track of orientation to healer...)
  9. Send/receive data packet to Player (and if a plugin is running on their system, ability to receive packet). (e.g., share wish list, get inventory (voluntary), share quest list)
__________________
Ancient coder, strong in algorithms, weak in art, inquisitive.
My LoTRO sig
Reply With Quote
  #2  
Unread 10-16-2011, 10:51 PM
itsallhype820 itsallhype820 is offline
The Undefeated
Interface Author - Click to view interfaces
 
Join Date: Oct 2011
Posts: 8
Thumbs up

Quote:
Originally Posted by dhmitchell23
I may be missing things but have searched:
  1. Play simple sounds, short mp3s for alerts (like ring tones)
  2. Dynamically draw graphics w/ fills and gradients
  3. Dynamically set alpha of background (using as overlay w/ blend mode overlay)
  4. Get useful information in event args (at least MoraleChanged has nothing in its payload)
  5. GetFellowship : List<Player>
  6. Get lat/long of players
  7. Get Player quest list (preferably w/ filtering by completed, epic/racial/class, level, dateAcquired, dateCompleted...)
  8. Get vector like target tracker to any player, npc, or monster in scene (for example, to keep track of orientation to healer...)
  9. Send/receive data packet to Player (and if a plugin is running on their system, ability to receive packet). (e.g., share wish list, get inventory (voluntary), share quest list)
- playing sounds would be cool to have for addons like gtfo for wow

- i dont think turbine would ever open the draw functions of the engine or dx draw to script .

- events serve as intended from what i have seen. morale changed as you used for an example, is useful to you as a programmer to not have to write a check on morale value every half a sec etc. thats why its there. just store values in a class , global var etc then do your functions from there. extra info would always be nice but isnt needed.

- you can get info and party list as of roi, there is a thread here showing how to use this new api function.

- send packet just wont ever happen it opens up to many exploit possibilities,but sending a single whisper to a player to share locations would be nice ( kindof like wow has)

- player location would be nice for the local player , but opening the door to let plugins to get location in game x,y of mobs and other players would open the door to a much easier way of botting which no mmo wants to do.

----------------------

with that said, the main thing i think most lua ui programmers would like access to is the target info.

one thing i would agree on that i would like to see is local player location and quest list, even if its a general list we could grab and parse info ourselves. same with craft recipes that the player has.

so my list as far as what i would like to see added would be,

target info

ability to send a whisper / message to a player on your friends list to share addon info

player loc
Reply With Quote
  #3  
Unread 10-17-2011, 06:56 AM
Digital_Utopia's Avatar
Digital_Utopia Digital_Utopia is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Sep 2010
Posts: 207
Send a message via MSN to Digital_Utopia Send a message via Yahoo to Digital_Utopia
Quote:
Originally Posted by dhmitchell23
I may be missing things but have searched:
  1. Play simple sounds, short mp3s for alerts (like ring tones)
  2. Dynamically draw graphics w/ fills and gradients
  3. Dynamically set alpha of background (using as overlay w/ blend mode overlay)
  4. Get useful information in event args (at least MoraleChanged has nothing in its payload)
  5. GetFellowship : List<Player>
  6. Get lat/long of players
  7. Get Player quest list (preferably w/ filtering by completed, epic/racial/class, level, dateAcquired, dateCompleted...)
  8. Get vector like target tracker to any player, npc, or monster in scene (for example, to keep track of orientation to healer...)
  9. Send/receive data packet to Player (and if a plugin is running on their system, ability to receive packet). (e.g., share wish list, get inventory (voluntary), share quest list)
While I'll agree with most of these, I'm a bit confused on what you mean by #3. SetBackColor takes a Turbine.UI.Color object which always supports alpha. If anything, that, along with #5 (and to an extent, #4) are already more than possible - although one has to realize that Lua is a very general and therefore flexible scripting language in order to take full advantage of it.

For instance, want to set a background color, and blendmode easily? create a function that takes an object, a blend mode and a color (if you really want to get fancy, make it take a hex string) - and have it apply that blend mode/color to it.

Want a special event that returns more information? Use a "middle-man" function that bridges the gap between the basic event handler, and what you want it to do. Remember, there's nothing magic about event handler's - they're just ordinary functions that get called by the class when something happens.

Finally, #5 is so easy to pull off, using your own function with the Lua API that there's no reason to add it to the API in the first place. If you want a list of all the players in your fellowship, make your own function that calls GetName() on each of the fellowship members, and adds it to a table.

Don't get me wrong, the majority of your list is stuff that I'd not only like to see, but also stuff that requires Turbine to provide API support for. However, it's important to recognize the difference, and not just wait around for a "magic" function in the API to handle something that's more than possible already. Although updates to the API have been slow and inconsistent, I do have to give Turbine credit for delivering the API out of the gate with a strong foundation.

Quote:
Originally Posted by itsallhype820
- i dont think turbine would ever open the draw functions of the engine or dx draw to script .
They wouldn't have to - all they would need to do is handle the middle ground between DX and lua - the way that current elements are already done - the only difference is that instead of an actual graphic or color, it would be pixel based. The actual drawing functionality however would be nearly identical to what already handles "drawing" to the screen.

Quote:
Originally Posted by itsallhype820
- send packet just wont ever happen it opens up to many exploit possibilities,but sending a single whisper to a player to share locations would be nice ( kindof like wow has)
While traditional "packet" communication would at least make it a security risk (not exactly sure how an exploit would happen) - the plugin system already has "apartments" - so supporting a direct communication between the same plugin on different clients could certainly be a nice way to pull it off without risking any actual OS interaction. A better result however would simply be to provide support for information for all entities. That way you wouldn't even need such communication in the first place.

The trouble with allowing direct chat access to plugins (i.e. sending whispers/chat) is that it would open the door for plenty of abuse. While they certainly could put limitations on it - remember that they attempted to do the same thing with saving/loading PluginData - which is easily exploitable with the pluginManager class. While it would be nice to send macro commands, I'd draw the line at actually sending chat.

Quote:
Originally Posted by itsallhype820
- player location would be nice for the local player , but opening the door to let plugins to get location in game x,y of mobs and other players would open the door to a much easier way of botting which no mmo wants to do.
I think you, like a lot of others I've seen, are quick to use the "botting" excuse - when such information wouldn't significantly make things easier. Even if there weren't perfectly acceptable methods of pulling such things off already, there's a little issue involving impassible terrain that would make it practically useless for botting anyway. Unless you took the time to process a terrain map of the entire world, with path finding features to find the easiest way to get from point A- to point B, unless the specific map was 100% passable, getting a target and attempting to walk straight towards it would likely result in walking into a cliff, or walking off of one.

Beyond that, finding the target wouldn't even be the most complicated part of making a bot for this game. Since it uses DirectInput instead of more traditional control methods, DirectX communicates directly with the Mouse/Keyboard driver - summarily ignoring any attempts to send keycodes to it - whether it be from a custom made application, or something like AutoHotKey. In other words, in order for such a bot to even work, someone would have to create a custom keyboard driver that would allow keycodes to be passed to it, as opposed to getting them from an actual physical keyboard.

Such information would be necessary to display fellowship/player/tracked targets on the mini-map, which would be an acceptable limitation on such a function.
__________________

Lord of the Rings Online
75 Fourohfour | 75 Artemedis | 60 Whiskeytango Foxtrot | 50 Mistah Boombastic | 56 Appetizer | 25 Aggromi
61 Onepointtwentyone Gigawatts


World of Warcraft
90 Downlo 85 Gravetaxi 85 Ümad 85 Artemedis 85 Guthuros
Reply With Quote
  #4  
Unread 12-10-2011, 10:31 AM
dhmitchell23's Avatar
dhmitchell23 dhmitchell23 is offline
The Wary
 
Join Date: Sep 2011
Location: Boston
Posts: 3
Send a message via Yahoo to dhmitchell23 Send a message via Skype™ to dhmitchell23
Thanks and more desires

Thank you everyone for replying. I have my morale watcher with varying alpha working fine now and showing deepening and enlarging alarms when death approaches :-)

Now I want to pop up a pot, jewel, or skill to mitigate the morale drop. To do so, I need not just the class of the item, but also its effects (+n dimension1) and current cooldown state. As far as I can tell, the system requires me to hardcode the name of each possibly useful item and seeing if the user has it rather than scanning the user's items and picking the one that gives max morale or in-combat morale generation. I also don't see anyway to find out whether the item's currently in cooldown. Did I miss something?

Also, how do I scan the user's clothing & skills programmatically? I don't see an analog to GetBackpack()
__________________
Ancient coder, strong in algorithms, weak in art, inquisitive.
My LoTRO sig
Reply With Quote
  #5  
Unread 12-10-2011, 08:59 PM
Garan's Avatar
Garan Garan is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Oct 2010
Posts: 243
Quote:
Originally Posted by dhmitchell23
Also, how do I scan the user's clothing & skills programmatically? I don't see an analog to GetBackpack()
Turbine has not exposed the player skills for enumeration, you'd have to know which skills are available for each class at each level and then there's still the issue of whether the character has actually trained the skill.

You can access the equipped items through localPlayer:GetEquipment(). Unfortunately, we are limited as to what we can do with equipped items, for instance you can't programmatically equip an item (although you can programmatically un-equip an item, see the Unequipper plugin).

Last edited by Garan : 12-10-2011 at 09:02 PM.
Reply With Quote
  #6  
Unread 12-11-2011, 08:55 PM
dhmitchell23's Avatar
dhmitchell23 dhmitchell23 is offline
The Wary
 
Join Date: Sep 2011
Location: Boston
Posts: 3
Send a message via Yahoo to dhmitchell23 Send a message via Skype™ to dhmitchell23
GetEquipment

Is this new? I can't find it in any of the documentation (e.g., http://www.lotrointerface.com/wiki/LocalPlayer)
__________________
Ancient coder, strong in algorithms, weak in art, inquisitive.
My LoTRO sig
Reply With Quote
  #7  
Unread 12-11-2011, 10:05 PM
Garan's Avatar
Garan Garan is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Oct 2010
Posts: 243
Quote:
Originally Posted by dhmitchell23
Is this new? I can't find it in any of the documentation (e.g., http://www.lotrointerface.com/wiki/LocalPlayer)
That wiki is out of date. The latest API docs (released with RoI) can be found at http://www.lotrointerface.com/downlo...mentation.html

There are also a few useful but undocumented methods that are covered in my thread on the Turbine forums:
http://forums.lotro.com/showthread.p...gins-for-Noobs

Last edited by Garan : 12-11-2011 at 10:09 PM.
Reply With Quote
  #8  
Unread 12-14-2011, 06:43 PM
Digital_Utopia's Avatar
Digital_Utopia Digital_Utopia is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Sep 2010
Posts: 207
Send a message via MSN to Digital_Utopia Send a message via Yahoo to Digital_Utopia
Right now, I'd be happy if everything worked the way it should.
__________________

Lord of the Rings Online
75 Fourohfour | 75 Artemedis | 60 Whiskeytango Foxtrot | 50 Mistah Boombastic | 56 Appetizer | 25 Aggromi
61 Onepointtwentyone Gigawatts


World of Warcraft
90 Downlo 85 Gravetaxi 85 Ümad 85 Artemedis 85 Guthuros
Reply With Quote
  #9  
Unread 12-15-2011, 01:12 AM
MrJackdaw's Avatar
MrJackdaw MrJackdaw is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Feb 2009
Location: Lancaster, England
Posts: 249
Quote:
Originally Posted by Digital_Utopia
Right now, I'd be happy if everything worked the way it should.
This!
__________________
************************************************** ************************************************** **
"Our ideals may never be realised, But they indicate what we are trying to do." Dick Tahta
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Your Opinion on the Current State of Lua in LOTRO Merric General Authoring Discussion (L) 24 06-07-2011 12:08 PM
Strange issues with LUA plugins and Lotro F2P Europe sheen Interface Help (L) 5 11-12-2010 11:00 AM
Quest list/check list Kaisoul Interface Requests (L) 0 10-05-2010 01:31 AM
Lua support coming to LOTRO Sparr General Authoring Discussion (L) 33 08-05-2010 07:52 PM
Lua support coming to LOTRO's UI! Dolby News 1 07-15-2010 09:36 AM


All times are GMT -5. The time now is 10:11 PM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | VGInterface | LoTROInterface | MMOInterface | Swtorui