GOMove Trinitycore with UI addon

Original idea: Mordred
Best suggestion: MrSmite, thanks for that :3

GOMove is a script that allows you to move objects.
You no longer need to be at the point where you want to spawn an object and you can fine tune the position of objects (rotation and x,y,z position)

Some features: (Does not include all … see video)

[ul][li]Move objects (to compass directions and according to your character position)[/li][li]Favourite list[/li][li]Snap facing to a compass direction (N,E,W,S)[/li][li]Spawn an object again[/li][li]move to ground level[/li][/ul]
Suggestions are welcome :3

Download: http://rochet2.github.io/GOMove.html

READ THE README!

Video: http://www.youtube.com/watch?v=dqbUQrvIlcA

Predecessors:
GOMove by Mordred (arc)
GOMove gossip edition by Rochet2 (arc)
GOMove UI addon edition by Rochet2 (arc)

Nice! I will try it soon!

I been looking for something like this…Rochet… u da man.

Watched the YouTube video, looks nice. Here’s a feature you might consider:

[ul][li]A button that populates a “near objects” list of GOs that are within X yards (set by the user) of the player’s position[/li]
[/ul]

This would allow you, for instance, to stand near a GO that is pointing the wrong way, click the button to get a list (similar to /gobj near) and then select the GO from the list and fix it.

Addon seems awesome! Good job!

Sounds like a really good idea.

I do lack on the addon side though…

It would be really cool if there would be a list of selected objects and you could move them all at the same time and select different objects to move from the list.

If anyone who has any experience with addons, lua and/or XML would help me with the addon, it would be superb /emoticons/default_biggrin.png

maybe a pull request is good to do:)

No, it isnt.

Whats with everyone and their pull requests anyways /emoticons/default_tongue.png?

I rewrote the base to work with low guids and not to store any data at all.

This means that the addon needs to store and handle all the guid etc info on client side…

It also means that I can send any amount of guids from the addon to the server and move them as I like.

(Can do anything with the object found with the lowguid sent with the command)

great work Rochet! this looks awesome for placing objects. Big thanks for saving hours of time trying to place objects straight /emoticons/default_happy.png

I am working on the multi object version :3

Also might, just might … add a feature where you can place objects with your cursor.

Its not quite like I want it to be, but I guess its good enough … : /

Will take some time before I can finish it though.

Got object selecting lists working and I can now move, align and turn etc multiple objects at a time.

Working with making lists better though…

and recoding a few things.

The visual look of the addon is horrible in my opinion .__.

Posted the new version!

https://docs.google…Y1EtYU1XaE1DMlE

No video yet though …

But its a lot better now /emoticons/default_biggrin.png

Addon and script changed.

New features!

Respawn feature deleted!

Totally rewrote the code and no longer using XML (except the map button)

so new things should be easier to add.

[RIGHT]189

[/RIGHT]

You can now “ground” objects, which means that you can set all selected objects to their own position’s ground level (map level)

EDIT:

Video added of the new version.

See the new features! (and placing spell, see comments)

/TrinityCore/src/server/scripts/Custom/GOMove.cpp:232:81: error: taking address of temporary [-fpermissive]

This happens on linux, but not on windows.

{

		GameObject* object = GetObjectByGUIDLow(guidLow, &ChatHandler(player));

if(!object)

return;

snprintf(msg, 250, “GOMOVE ADD %u %s %u”, guidLow, object->GetName(), object->GetEntry());

}

edit –

adding the -fpermissive flag to the build.make file is allowing it to compile, it SHOULD work. Will advise after test.

edit2 –

Seems to work fine.

Good and awesome /emoticons/default_biggrin.png

Added clear all selections button from request.


[ 16%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/custom/gomove.cpp.o

/Users/Home/Downloads/TrinityCore/src/server/scripts/custom/gomove.cpp: In static member function 'static GameObject* GOMove_commandscript::SpawnObject(Player*, float, float, float, float, uint32, bool, uint32, bool)':

/Users/Home/Downloads/TrinityCore/src/server/scripts/custom/gomove.cpp:299: error: 'class Log' has no member named 'outErrorDb'

make[2]: *** [src/server/scripts/CMakeFiles/scripts.dir/custom/gomove.cpp.o] Error 1

make[1]: *** [src/server/scripts/CMakeFiles/scripts.dir/all] Error 2

Its my error

I dont understand what i have to do :x sorry

Implemented respawn and possibly fixed the linux issue.

Did you try going to line 299 and changing the line with ‘OutErrorDB’

Try changing to …

sLog->outError(LOG_FILTER_GENERAL, "Entry %u GoType: %u) have invalid displayId (%u), not spawned.", e, objectInfo->type, objectInfo->displayId);

This is really awesome btw. Thanks for all the hard work.

Thanks.

Btw. I commented the log thing out on the newest version, so if you are using the new version, that error should no longer pop up.

Thank you so much for this! I’m working on implementing it (along with your Transmogrification patch).

Do you have any words of wisdom go get this running on yesterday’s ‘pull’?

I’m currently unable to get the GOMove.cpp script (dated 30SEP) to compile. The full output is at http://pastebin.com/Fc2qEVdP but the relevant errors may be…

[ 16%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Custom/GOMove.cpp.o
Building CXX object src/server/scripts/CMakeFiles/scripts.dir/World/achievement_scripts.cpp.o
Linking CXX static library libgame.a
[ 36%] Built target game
[ 36%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/World/areatrigger_scripts.cpp.o
/home/trinity/trinitycore/src/server/scripts/Custom/GOMove.cpp: In static member function ‘static bool GOMove_commandscript::GOMove_Command(ChatHandler*, const char*)’:
/home/trinity/trinitycore/src/server/scripts/Custom/GOMove.cpp:61: error: no matching function for call to ‘ChatHandler::ChatHandler(Player*&)’
/home/trinity/trinitycore/src/server/game/Chat/Chat.h:130: note: candidates are: ChatHandler::ChatHandler()
/home/trinity/trinitycore/src/server/game/Chat/Chat.h:52: note:                 ChatHandler::ChatHandler(WorldSession*)
/home/trinity/trinitycore/src/server/game/Chat/Chat.h:49: note:                 ChatHandler::ChatHandler(const ChatHandler&)
<snip lots more>
make[2]: *** [src/server/scripts/CMakeFiles/scripts.dir/Custom/GOMove.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/server/scripts/CMakeFiles/scripts.dir/all] Error 2
make: *** [all] Error 2

Instead of using ChatHandler(player)
You probably need to use ChatHandler(player->GetSession())

or similar.

You can just make your own messages or comment out the language error parts …

It would be advised to check the real ones from the commands in the core. Eg. LANG_GAMEOBJECT_HAVE_INVALID_DATA from Object Add command.

I dont have the time to check the changes now.