[FilterScript] Universal Object Editor (attach roads, generate loops)
#1

Universal Object Editor
Description

With this object editor you can create symmetrical structures and attach roads together in seconds.


Commands
Код:
EADD
Params: <modelid> <comment>
Action: create an object

EDEL
Params: <objectid OR /all>
Action: delete an object (/all destroys all objects)

ESEL
Params: <objectid>
Action: select an object

EDESEL
Params: none
Action: deselect an object

ECOPY
Params: <objectid> <comment>
Action: copy an object

EMODEL
Params: <objectid> <modelid>
Action: set an object's model

EUNDO
Params: <amount>
Action: undo previous action(s)

EGOTO
Params: <objectid | map name>
Action: teleport to an object

ELOOP
Params: <amount OR /sync OR /del> <off x> <off y> <off z> <rot x> <rot y> <rot z> <sync rot>
Action: generate a loop from the selected object (/del destroys the loop)

EPOS
Params: <objectid> <pos x> <pos y> <pos z>
Action: set an object's position (switch to position editing if no params are given)

EROT
Params: <objectid> <rot x> <rot y> <rot z>
Action: set an object's rotation (switch to rotation editing if no params are given)

ESNAP
Params: <value>
Action: set snap spacing/angle

ELOCK
Params: <objectid>
Action: disallow object editing

EUNLOCK
Params: <objectid>
Action: allow object editing

EATT
Params: <roadid> <to roadid>
Action: attach road to road

EVEL
Params: <velocity>
Action: set velocity

EAXIS
Params: <off x> <off y> <off z>
Action: enable/disable axis feature

EFLY
Params: none
Action: enable/disable fly mode

ESAVE
Params: <mapid OR /all> <name>
Action: save objects to a file (/all saves all objects)

ELOAD
Params: <file name>
Action: load objects from a file

EUNLOAD
Params: <mapid | file name>
Action: unload file

EIMPORT
Params: <file name> <extension>
Action: import file

ENRG
Params: none
Action: spawn an NRG-500
Parameters in orange are optional. In case where objectid is optional, if no parameter is given, the action is done to the selected object.


Keyboard shortcuts (default keys)
Код:
ON FOOT

ALT + F			Enable fly mode							(KEY_WALK + KEY_SECONDARY_ATTACK)
N			Spawn an NRG-500						(KEY_NO)

FLY MODE

ALT + F			Disable fly mode						(KEY_WALK + KEY_SECONDARY_ATTACK)
SPACE + W/S/A/D		Move camera around						(KEY_SPRINT + KEY_UP/KEY_DOWN/KEY_LEFT/KEY_RIGHT)
NUM6/NUM4		Next/previous object model					(KEY_ANALOG_RIGHT/KEY_ANALOG_LEFT)
LMB			Select/deselect an object					(KEY_FIRE)
ENTER			Action specified in /econfig				(KEY_SECONDARY_ATTACK)
ALT + C			Toggle between local and world modes				(KEY_WALK + KEY_CROUCH)
C			Toggle between position and rotation editing			(KEY_CROUCH)

POSITION EDITING

RMB			Instant position change						(KEY_HANDBRAKE)
ALT + W/S		Increase/decrease movement velocity				(KEY_WALK + KEY_UP/KEY_DOWN)
W/S/A/D			Move object forward, back, left and right			(KEY_UP/KEY_DOWN/KEY_LEFT/KEY_RIGHT)
SHIFT + W/S		Move object up and down						(KEY_JUMP + KEY_UP/KEY_DOWN)

ROTATION EDITING

RMB			Instant rotation change						(KEY_HANDBRAKE)
ALT + W/S		Increase/decrease rotation velocity				(KEY_WALK + KEY_UP/KEY_DOWN)
W/S/A/D			Rotate object on Y and X axes					(KEY_UP/KEY_DOWN/KEY_LEFT/KEY_RIGHT)
SHIFT + W/S		Rotate object on Z axis						(KEY_JUMP + KEY_UP/KEY_DOWN)
Compile-time config
pawn Код:
#define UOE_MAX_ADMINS      (2) // Max rcon admins allowed to create maps
#define UOE_TIMER_INT       (30)    // Timer interval
#define UOE_MAX_ACTIONS     (300)   // Max actions that can be undone in a row
#define UOE_DRAW_DISTANCE   (800)   // Object draw distance
Screenies

Object model: 18794 (/eloop 80 16 0 4 1 -11 0)


Object model: 3458 (/eloop 80 2 3 0 10 0 0)


The Axis feature





Changelog

28-02-2015
  • Added file import feature
  • Added snap to grid/snap to angle feature
  • Added in-game configuration dialog
  • Added support for Streamer plugin
  • Added rotation sync parameter to loop feature
  • Overwriting an existing map file is now possible
  • Improved map file recovery feature
  • Improved fly mode camera mobility
  • Improved movement/rotation speed setting when altering with keys
  • Removed object model validity check due to SA-MP 0.3.7 objects
  • Fixed a bug that caused infinite recursion
  • Renamed normal mode to world mode
  • Minor improvements and bug fixes
08-07-2012
  • Added a few new keyboard shortcuts (num4, num6 and tab (see keyboard shortcuts))
  • Fixed a bug with file loading, which occurred when player reconnected without reloading the editor
  • Minor bug fixes here and there
16-06-2012
  • Renamed world mode to normal mode
  • Added a new project file and removed the old one
  • Fixed a minor bug in undo feature causing objects to not get destroyed
  • Upgraded various commands to support optional parameters
13-06-2012
  • Initial release

Download (Update 3)

download (package)
pastebin



Notes
  • Undo feature may not be perfect.
  • Do not modify *.uoe files.

Getting started
  1. Download uoeditor.zip package.
  2. Extract uoeditor.pwn into the filterscripts directory.
  3. Extract maps folder into the scriptfiles directory.
  4. Open server.cfg and type "uoeditor" next to filterscripts.
  5. Compile uoeditor.pwn (F5).
After all that, go ingame and type /ehelp (as rcon admin) to open a help dialog.

Credits
Код:
Myself
Zeex		zcmd
******		sscanf
Zamaroth	Textdraw Editor (edited by Southclaw)

Everyone who was helpful and supportive whom I forgot to mention (sorry!)
Reply
#2

Man, why
I was gonna release something (VERY) similar to this. But now if i do it wont be 'Unique' any more
OT: very nice +rep.
Reply
#3

Awesome!!! 10/10.. + Looks very useful.



Edit: Littlehelper[MDZ]: U can also relase maybe your gets better??.. Or his better someway
so peoples have choise maybe?? .
Reply
#4

nice!
Reply
#5

nice 10/10
Reply
#6

this looks good
I will be trying it out and posting my thoughts,


im interested in the code to fly around with the cam,
this is what my in game object editor is lacking and this could be good to learn from
besides making some neat loops!
Reply
#7

Quote:
Originally Posted by Littlehelper[MDZ]
Посмотреть сообщение
Man, why
Why not?

Quote:
Originally Posted by Jonny5
Посмотреть сообщение
this looks good
I will be trying it out and posting my thoughts,

im interested in the code to fly around with the cam,
this is what my in game object editor is lacking and this could be good to learn from
besides making some neat loops!
Actually SAMP 0.3e comes with flymode filterscript which works the same as mine, except that it's a little differently coded.
Reply
#8

What the flying fuck? That roads are epic.

Nice job.
Reply
#9

Good Work 10/10

MTA.. (:
Reply
#10

Quote:
Originally Posted by DreyPT
Посмотреть сообщение
Good Work 10/10

MTA.. (:
MTA?? This is sa-mp!.
Reply
#11

Quote:
Originally Posted by [HLF]Southclaw
Посмотреть сообщение
This is nice! I'm going to try this out, does it allow multiplayer map editing? That's one feature me and my friend liked in one of the MTA scripts, you could both work on a map at the same time and we talked on skype to share ideas!

Unfortunately, his MTA doesn't work any more (They messed up an update or something) and I just use the SA:MP map editor as I find it's easier to just copy into my script (Messing around finding and converting MTA maps is annoying!)


Nice work (And thanks for crediting me in the Text Draw Editor 0.3e edit! )
Multiplayer editing is possible but I didn't really have a chance to test it with anyone. Players need to be rcon admins to be able to edit, or if you want to bypass rcon login process, you can just add this somewhere:

Код:
new
	ip[16]
GetPlayerIp(playerid, ip, 16);
OnRconLoginAttempt(ip, " ", true);
Also, multiplayer editing has a rule which disallows players from editing each other's objects.
EDIT: You also need to set UOE_VISIBLE to true to be able to see each other's objects.
Reply
#12

Had this in mind a few months ago nice job.

You should consider streaming the objects.
Reply
#13

Quote:
Originally Posted by Elorreli
Посмотреть сообщение
Had this in mind a few months ago nice job.

You should consider streaming the objects.
They are streamed with a low quality objectstreamer.
Reply
#14

Thanks alot mate , making stunt mapping 100% easier
i mapped something like this for a simple loop but that wont work for more than 3 objects xD

Anyways Keep it UP , i surely gonna implement it and REP++ bro
Reply
#15

Quote:
Originally Posted by YJIET
Посмотреть сообщение
They are streamed with a low quality objectstreamer.
Ah I see.

Should add a hotkey for slow object position moving, and the ability to set the speed.
Reply
#16

Quote:
Originally Posted by Elorreli
Посмотреть сообщение
Should add a hotkey for slow object position moving, and the ability to set the speed.
You can set the speed with /evel(ocity) command. To increase/decrease the velocity, use ALT+W/S.
Reply
#17

This is pretty well done, really like the effort in the calculations - good job with that!
Reply
#18

a question about loop can any object be used for loop :O ?
say if i use a Building object ?
Reply
#19

Nice Job, VERY nice job.

10/10.
Reply
#20

Quote:
Originally Posted by Niko_boy
Посмотреть сообщение
a question about loop can any object be used for loop :O ?
say if i use a Building object ?
Yes.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)