Welcome, Guest. Please login or register.
July 19, 2025, 04:34:35 AM

Login with username, password and session length

Search:     Advanced search
we're back, baby
*
Home Help Search Login Register
f13.net  |  f13.net General Forums  |  The Gaming Graveyard  |  World of Warcraft  |  Topic: Ephemeral Project -- a tool for creating RP quests 0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: Ephemeral Project -- a tool for creating RP quests  (Read 7249 times)
Train Wreck
Contributor
Posts: 796


on: March 02, 2005, 10:05:42 AM

I ran into a discussion about Ephemeral Project on the WoW forums this morning.  Apparently it allows players to create their own quests and custom-made items.  I'm surprised Blizzard condones the use of the items feature (and for all I know, maybe they don't).  The players involved claim that it is OK because the items are for appearence-only and have no actual uses.  Still, avatar aesthetics aren't to be taken lightly, and often a significant factor of how much demand exists for an item is how cool it looks.  Some players are willing to equip lesser items because they look better/more impressive, especially in the RP community.  This goes back to why I'm surprised Blizzard doesn't seem to mind.
Miasma
Terracotta Army
Posts: 5283

Stopgap Measure


Reply #1 on: March 02, 2005, 10:33:57 AM

I don't think any of those 'items' would actually be viewable, like a polygon graphic.  It looks like they are just perverting the user interface code, like a very large add on in cosmos or something.
jpark
Terracotta Army
Posts: 1538


Reply #2 on: March 02, 2005, 10:34:56 AM

Very interesting.

I wonder - if a business model that allows third party of creation of quests (like software for a PC or extensions for photoshop) is a new way to propel MMORPG content.  This would certainly address Blizzard's shortcomings in the speed of their own content team.

"I think my brain just shoved its head up its own ass in retaliation.
"  HaemishM.
Train Wreck
Contributor
Posts: 796


Reply #3 on: March 02, 2005, 10:39:13 AM

I don't think any of those 'items' would actually be viewable, like a polygon graphic.  It looks like they are just perverting the user interface code, like a very large add on in cosmos or something.

It was brought up as a way a player could create a book that appears in her offhand, for a video she wants to make.  The suggestion may have been made by somebody that didn't know any better, however.

The idea of having player-made quests is fantastic.  Already players are using it for guild initiations.
Sky
Terracotta Army
Posts: 32117

I love my TV an' hug my TV an' call it 'George'.


Reply #4 on: March 02, 2005, 11:15:27 AM

It pretty clearly states every time you've logged in the last couple weeks that 3rd party apps that change the intended design are taboo, as in "banned".

Blizz didn't intend for players to give quests.

Good luck with that, I honestly do hope something like this makes it to the official list...but for now I wouldn't risk my account for it.
Train Wreck
Contributor
Posts: 796


Reply #5 on: March 02, 2005, 01:11:52 PM

That's why I don't plan on trying it myself.  It's discussed in the WoW forums though, so they are bound to already know about it.  They would probably have a loud outcry on their hands if they did start banning people without warning against it specifically.
Calantus
Terracotta Army
Posts: 2389


Reply #6 on: March 02, 2005, 05:22:54 PM

I don't see this as a problem really. It's basically a hack (not the l33t hax0r kind of hack) solution to the problem that I believe uses chat commands to send the quest to someone else with the plugin. Then you go do the quest and it sends the quest completion chat to the originator and the item they set aside as a reward is traded to you. The custom items I believe are the quest items, like harpy talons, or defias bandannas... quest completion items really. I guess when you loot one of the quest mobs it randomly fools your client into thinking you just looted X quest item. And the quest is completed by having enough of these phantom items.
Trippy
Administrator
Posts: 23657


Reply #7 on: March 02, 2005, 06:36:24 PM

It pretty clearly states every time you've logged in the last couple weeks that 3rd party apps that change the intended design are taboo, as in "banned".

Blizz didn't intend for players to give quests.

Good luck with that, I honestly do hope something like this makes it to the official list...but for now I wouldn't risk my account for it.
That's like saying Blizzard never intended Quests to be shared, corpses to be "autolooted", more than one action bar to be displayed on the screen at one time, a Quest Journal helper to be displayed on screen, and so on. These are examples of features that people created through the UI API that Blizzard either incorporated back into the game or are about to. As has been stated on the UI Customization forum by Blizzard, if the UI API allows it, then it's legal to do. If for some reason you do something with the API Blizzard doesn't like, they will change the API (which they have done already). As long as Ephermeral just uses the API I don't see why Blizzard would have any issue with it.
Alkiera
Terracotta Army
Posts: 1556

The best part of SWG was the easy account cancellation process.


Reply #8 on: March 05, 2005, 12:24:57 AM

From the release notes, it looks like it can allow you to 'create' fake items of two kinds... one is a 'book' that can store text, and be read... the other is a 'generic item' that can be 'used' but not equiped... using it will run user-defined code written in the UI scripting language, apparently.

My questions are, can you trade these to others?  Perhaps only others also running this mod...  Even so, you can write arbitrary code into these 'objects'.  I don't know anything about what WoW provides for calls in the UI library code, but I'm sure it can be exploited to cause Bad Things to other players.

I'm still curious how the items would be traded.  Would the client seriously stream the data between two characters?  How long before it's used to stream warez, or pr0n?  heck, what prevents ascii-art porn from being distributed?

Mostly playing devil's advocate here, I've already uninstalled the WoW client I used in beta, or I'd poke around the files to see what was available, what the potential for such a thing really is.

EDIT:  Did some research.  Still no idea if they can trade non-existant objects with other players, but the possibilities to screw people over with UI code is definately there.  From simply annoying stuff like 'ForceQuit()', to 'DeleteCursorItem()'... The possibilities for grief are nigh unto limitless, if you can get people to accept arbitrary code.  UI runs lua, which is a pretty generic embedded scripting language, tho apparently some of the more destructive stuff is turned off... you can't mess with the filesystem or other things you shouldn't need for UI mods.

Alkiera
« Last Edit: March 05, 2005, 12:48:57 AM by Alkiera »

"[I could] become the world's preeminent MMO class action attorney.  I could be the lawyer EVEN AMBULANCE CHASERS LAUGH AT. " --Triforcer

Welcome to the internet. You have the right to remain silent. Anything you say can and will be used as evidence against you in a character assassination on Slashdot.
Jayce
Terracotta Army
Posts: 2647

Diluted Fool


Reply #9 on: March 05, 2005, 01:34:58 PM

I'm still curious how the items would be traded.  Would the client seriously stream the data between two characters?  How long before it's used to stream warez, or pr0n?  heck, what prevents ascii-art porn from being distributed?


It probably uses - like Cosmos - a chat channel in game. If your Cosmos channel ever gets turned on by mistake, you get spam like <CL> and <G>;a;3;;;3;1;1;  which I assume are encoded commands to each other.

There is a potential for grief if someone joins the channel and starts spamming everyone with commands, which I'm surprised hasn't been done to Cosmos yet.

In terms of objects, if they are smart, they only have certain items that can be "created" (like books) and only configured.  User-submitted types of objects would have to be reviewed before they can go into the code.

All straight out of my ass mind you.. I haven't read anything on this particular mod...

Witty banter not included.
Krakrok
Terracotta Army
Posts: 2190


Reply #10 on: March 08, 2005, 08:26:00 PM

I don't think any of those 'items' would actually be viewable, like a polygon graphic.  It looks like they are just perverting the user interface code, like a very large add on in cosmos or something.

When I played with the files in the beta client most of the 3d models and textures were "modable". They used a file format similar to the WC3 format and there were already tools to insert your own textures etc. This method was used to create the "nude" night elf or whatever was floating around around release time. I wouldn't be surprised if people were using transparent wall hacks as the beta client supported them.

I don't know if they locked the release client down or not since then.

So theoretically anyone with the plugin would be able to see the 3d models and textures that the plugin added.


Allowing the clients to talk to each other in a chat channel sounds like IRC with all the scriptability that that entails. How long until they add DCC and DDE? How long until people have their own posse of bots following them around? The meta game has only just begun.


IGE could build their own item buying and selling engine right into the WoW client.


Maybe WoW is more revolutionary than I first thought with a modable client.
« Last Edit: March 08, 2005, 08:31:06 PM by Krakrok »
Trippy
Administrator
Posts: 23657


Reply #11 on: March 08, 2005, 10:47:50 PM

I don't think any of those 'items' would actually be viewable, like a polygon graphic.  It looks like they are just perverting the user interface code, like a very large add on in cosmos or something.
Allowing the clients to talk to each other in a chat channel sounds like IRC with all the scriptability that that entails. How long until they add DCC and DDE? How long until people have their own posse of bots following them around? The meta game has only just begun.
The Lua scripting engine has all the OS IO APIs turned off. About the only thing a mod can do is ask for something to be written to a SavedVariables.lua file and even that doesn't happen until you log off or force a UI reload (which freezes your client temporarily). There isn't even a chat log a 3rd party program can "watch" for commands like you can do in other MMOs. Basically Blizzard made it as difficult as they could for a mod to communicate with a 3rd party program in "real time" while in the game.
Alkiera
Terracotta Army
Posts: 1556

The best part of SWG was the easy account cancellation process.


Reply #12 on: March 08, 2005, 11:02:50 PM

There are ways around even that, I'd think.  Something that peeks at WoW's memory and reads specific variables from the scripting engine woudl get around alot of that, tho I don't know how fast that would be.  The scripting engine would probably start sucking a lot more CPU cycles than normal, I'd guess.

Alkiera

"[I could] become the world's preeminent MMO class action attorney.  I could be the lawyer EVEN AMBULANCE CHASERS LAUGH AT. " --Triforcer

Welcome to the internet. You have the right to remain silent. Anything you say can and will be used as evidence against you in a character assassination on Slashdot.
Jayce
Terracotta Army
Posts: 2647

Diluted Fool


Reply #13 on: March 09, 2005, 05:24:58 AM

There are ways around even that, I'd think.  Something that peeks at WoW's memory and reads specific variables from the scripting engine woudl get around alot of that, tho I don't know how fast that would be.  The scripting engine would probably start sucking a lot more CPU cycles than normal, I'd guess.

Alkiera

You can write programs to trawl your memory and grab stuff from any running program.  The hard part would be inserting anything.  That would probably be more easily done at the network level, like (was it? I forget the name) Odin, the DAOC radar program or ShowEQ.

The Blizzard file format is called MoPaQ (MPQ) and it's the same as they used for WC3 and Starcraft and way back to like WC2 or maybe 1.  AFAIK it's a proprietary hashtable-based format and extremely tough to work with (though not impossible).  Most people just hook Storm.DLL to work with it using Blizzard's own functions.

The nature of hashtable formats* would make it difficult to modify the contents of the MPQ file, especially if the client is doing a verification on startup. But apparently it's not impossible if people were able to mess with the models in beta.  Anyone have any idea if people are still doing that?  I suppose you could hack the client to prevent the verification but then the client itself could be verified by the server on connect.  It strikes me as something that's solvable - whether Blizzard has done so is another question.



*each entry has a certain length in bytes and this is referenced by a table of contents at the beginning of the file.  Not only would the item you wanted to modify need to be adjusted (if you changed its size in bytes), but the TOC would need to be updated with not only the modified item, but also the new positions of every resource following (since they are now at different offsets from the beginning of the file).
« Last Edit: March 09, 2005, 05:29:07 AM by Jayce »

Witty banter not included.
Krakrok
Terracotta Army
Posts: 2190


Reply #14 on: March 09, 2005, 09:35:51 AM

The Lua scripting engine has all the OS IO APIs turned off. There isn't even a chat log a 3rd party program can "watch" for commands like you can do in other MMOs.

Since the scripting language is built in you don't really need to talk to the OS. For file transfers the ReloadUI function would suffice. Uuencode the file as a variable or multiple variables in the custom settings file before it gets read in, and then just write it out to the settings file like you said. A limit on the size of variables or the size of the settings file would limit this. But even then all the plugin really would need to do would be to automatically send the client IP address to a chat channel and have third party clients connect and talk in the background.

As far as a bot net you don't need access to the OS either. The "bot" characters connect to the chat channel and the controller could send move forward, move backwards, target, etc via the chat channel to multiple bots at once via buttons they could build into the UI.

One thing I came up with would be to have "shared" maps via the chat channel. The client auto cycles through the targets around it, sends that data to the chat channel and the targets show up as a rough approximate (exact location isn't possible I don't think) on the clients with a shared map reader plugin or whatever.

IGE could probably impliment an automated item delivery service with the scripting language as well.
Jayce
Terracotta Army
Posts: 2647

Diluted Fool


Reply #15 on: March 09, 2005, 10:07:00 AM

IGE could probably impliment an automated item delivery service with the scripting language as well.

They actually have one.

It's called "the mail".

Witty banter not included.
Krakrok
Terracotta Army
Posts: 2190


Reply #16 on: March 09, 2005, 11:34:31 AM

They actually have one.

It's called "the mail".

I mean completed automated (right now someone has to click send mail). The client knows what items the character has. It uses ReloadUI to poll for if one of the items on the character gets sold. If it is sold it mails that item to the buyer based on info it reads in from ReloadUI. A third party program sits in the background, polls a web service for the buy/sell information, and writes data for ReloadUI to pickup.
Jayce
Terracotta Army
Posts: 2647

Diluted Fool


Reply #17 on: March 09, 2005, 01:54:05 PM

They actually have one.

It's called "the mail".

I mean completed automated (right now someone has to click send mail). The client knows what items the character has. It uses ReloadUI to poll for if one of the items on the character gets sold. If it is sold it mails that item to the buyer based on info it reads in from ReloadUI. A third party program sits in the background, polls a web service for the buy/sell information, and writes data for ReloadUI to pickup.

You are absolutely correct.  I was thinking in a limited way about it.

However, it was an irresistable target.  I should have added a  /rimshot.

Witty banter not included.
Trippy
Administrator
Posts: 23657


Reply #18 on: March 09, 2005, 09:55:42 PM

As far as a bot net you don't need access to the OS either. The "bot" characters connect to the chat channel and the controller could send move forward, move backwards, target, etc via the chat channel to multiple bots at once via buttons they could build into the UI.
While you can use chat channels to control other characters the extent of the control is rather limited since any skill or spell has to be activated with a mouse click or keypress on the other client unless of course you are willing to use a 3rd party program to sniff packets or poke at memory and then anything goes.

Quote
One thing I came up with would be to have "shared" maps via the chat channel. The client auto cycles through the targets around it, sends that data to the chat channel and the targets show up as a rough approximate (exact location isn't possible I don't think) on the clients with a shared map reader plugin or whatever.

IGE could probably impliment an automated item delivery service with the scripting language as well.
I believe there used to be a distance function in the API back in beta but it's no longer there so doing what you are talking about would be virtually impossible through the API unless you hacked the radar information packets (which aren't accessible by the API) and then you probably could do it. And if you are using such a program you obviously wouldn't want to use the chat channel as the form of communication since it would be trivial for Blizzard to track you down so you might as well just setup a separate peer-to-peer communcation system separate from the WoW client to pass this sort of information around.
Alkiera
Terracotta Army
Posts: 1556

The best part of SWG was the easy account cancellation process.


Reply #19 on: March 10, 2005, 02:56:15 PM

Quote from: Trippy
While you can use chat channels to control other characters the extent of the control is rather limited since any skill or spell has to be activated with a mouse click or keypress on the other client unless of course you are willing to use a 3rd party program to sniff packets or poke at memory and then anything goes.

Odd.  The following functions sound REALLY useful for implementing such a thing.

Quote from: WoWWiki UI API listing
UseAction(slot, {checkCursor {,onSelf} } - This instructs the interface to use the action associated with the specified ID, optionally on the player (regardless of target).

ActionButtonDown(id) - Press the specified action button (Part of UI API, not core).

AssistByName("name") - Assists the player whose name is entered.

AssistUnit("unit") - Instructs your character to assist the specified unit.

AttackTarget() - Attacks the targetted unit.

CastSpell(spellID, spellbookTabNum) - Cast the specified spell by ID.

CastSpellByName("name") - Cast the specified spell by display name.

Maybe it's just me.

Alkiera

"[I could] become the world's preeminent MMO class action attorney.  I could be the lawyer EVEN AMBULANCE CHASERS LAUGH AT. " --Triforcer

Welcome to the internet. You have the right to remain silent. Anything you say can and will be used as evidence against you in a character assassination on Slashdot.
Trippy
Administrator
Posts: 23657


Reply #20 on: March 10, 2005, 05:22:23 PM

Quote from: Trippy
While you can use chat channels to control other characters the extent of the control is rather limited since any skill or spell has to be activated with a mouse click or keypress on the other client unless of course you are willing to use a 3rd party program to sniff packets or poke at memory and then anything goes.

Odd.  The following functions sound REALLY useful for implementing such a thing.

Quote from: WoWWiki UI API listing
UseAction(slot, {checkCursor {,onSelf} } - This instructs the interface to use the action associated with the specified ID, optionally on the player (regardless of target).

ActionButtonDown(id) - Press the specified action button (Part of UI API, not core).

AssistByName("name") - Assists the player whose name is entered.

AssistUnit("unit") - Instructs your character to assist the specified unit.

AttackTarget() - Attacks the targetted unit.

CastSpell(spellID, spellbookTabNum) - Cast the specified spell by ID.

CastSpellByName("name") - Cast the specified spell by display name.

Maybe it's just me.

Alkiera
It is just you. No seriously like I said in my post, casting spells (which includes skills) requires a physical keypress or mouse click from the client. Yes you can use those API calls in macros/addons but if the macros/addons are not triggered through a physical keypress or mouse click those API calls are blissfully ignored. I multi-box in WoW and I've written my own addons to make it simpler to control multiple characters including using the chat channels to control characters like Krakrok was suggesting so I'm very familar with this part of the API.
Krakrok
Terracotta Army
Posts: 2190


Reply #21 on: March 10, 2005, 09:31:34 PM

Have you tried hooking the keyboard and just sending the Windows keypress messages? If that didn't work my last resort idea was to use the Ctrl/Alt/Shift state check functions to pass in information via binary. I don't even play WoW but if I did I'd probably spend more time messing with the API than treading the mill.
Trippy
Administrator
Posts: 23657


Reply #22 on: March 10, 2005, 10:24:24 PM

Have you tried hooking the keyboard and just sending the Windows keypress messages? If that didn't work my last resort idea was to use the Ctrl/Alt/Shift state check functions to pass in information via binary. I don't even play WoW but if I did I'd probably spend more time messing with the API than treading the mill.
I'm not interested in automating the client beyond what is doable through the API. I'm sure, though, that there are people out there working on fully automated bots for the game.
Alkiera
Terracotta Army
Posts: 1556

The best part of SWG was the easy account cancellation process.


Reply #23 on: March 11, 2005, 03:31:43 AM

Or bind the spacebar to a 'check UI queue' function, and have that queue filled with actions by other functions that monitor chat channels...  Then just set something heavy on the spacebar, so it repeats.

It's a thought.  An early-morning, no-caffiene thought, admittedly.

Alkiera

"[I could] become the world's preeminent MMO class action attorney.  I could be the lawyer EVEN AMBULANCE CHASERS LAUGH AT. " --Triforcer

Welcome to the internet. You have the right to remain silent. Anything you say can and will be used as evidence against you in a character assassination on Slashdot.
Trippy
Administrator
Posts: 23657


Reply #24 on: March 11, 2005, 04:06:22 AM

Or bind the spacebar to a 'check UI queue' function, and have that queue filled with actions by other functions that monitor chat channels...  Then just set something heavy on the spacebar, so it repeats.
There are already addons that do this sort of thing without the chat communication stuff. The Healomatic addon (obsoleted by CastParty) was basically a one keypress healing bot. You just hit one key and the addon code would decide who to target and what heal spell to cast. There's also the "One Hit Wonder' psuedo-bot that would put together a list of combat actions depending on the situation.You just hit a key single at the appropriate times.

As for what you are suggesting, I'm not sure holding down a key would work. It definitely doesn't work with action bar buttons since the UI is looking for a keypress up command to actually trigger the action. It might be possible to workaround that in the API but I haven't looked closely enough to know for sure. There's also the issue of running out of unique bindable keys to press on the "master" computer to send commands to the "slave" machines (plus you would have to remember what they all were though I suppose you could setup a gigantic button panel to help you remember). In many if not most cases it would seem easier just to reach over and press the appropriate key on a "slave" computer.
Pages: [1] Go Up Print 
f13.net  |  f13.net General Forums  |  The Gaming Graveyard  |  World of Warcraft  |  Topic: Ephemeral Project -- a tool for creating RP quests  
Jump to:  

Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC