Purpose
To allow quick and painless updating of hard-coded level NPCs while in-game.
On Zodiac for me, it was to finally change those yellow lights outside of OSL to orange.
Video
How-to Install
Add the script as a weapon on your server. Also update the levelfolders array on the server-side to match your server's folder setup. I set a default one that covers a fairly common/generic set though so it may not be required.
Also upload npc_placeholder.png in your server's images folder for blank NPCs to display properly. You can re-configure it to an image of your liking as well.
You will also need to give the (npcserver) write access to the level. I.e: rw levels/*.nw
In order to make changes to the levels you will also need write access to the levels as well.
OLNE Usage is automatically logged to logs/olne_log.txt
How-to Use
Press F9 to toggle the editor on and off.
It works pretty much exactly like it does in the offline level editor. Most showcharacter, and showimgpart NPCs (even the ones that use math in them) are displayed correctly as well. The editor windows are also unique to each NPC so you can open multiple NPCs at once.
Left-click to select an NPC.
Left-click and drag to move an NPC. NPCs will be made transparent while you're dragging them to make them easier to place in groups. I.e: Placing a light image over a lamp.
Double-click to open the NPC Script Editor.
Right-clicking an NPC will duplicate it.
Except when it comes to creating new NPCs. In my editor it's a mouse gesture.
Hold down the right mouse button after 0.3 seconds the menu will appear. (You can re-configure this time easily)
While holding down the right mouse, hover your mouse over the NPC you want to create.
It will be created upon hovering over it and you can continue holding down the right mouse button to drag it into position.
If you make a change and don't want to save it, you can simply leave the level (or: reconnect, update level) to discard your changes as well. A level will only be updated if you make a change though.
Press F9 to save your changes and exit the editor.
Drawbacks
It does support GMAPs but only for editing the level you are currently in so be cautious of that. It will display the boundaries of the level when on a GMAP while dragging the NPC, as long as you keep it in the boundaries it will save in the correct spot.
Due to the way NPCs are stored in the level I also have it so levels get locked to prevent other users from making changes while you are. You will get a message stating who is currently editing the level if a locking conflict occurs.
Doesn't support default baddies, or chests nor do I plan on supporting them.
Editor doesn't support testing or styling. Use http://fp4.ca/gs2beautifier if you really need your code styled for you.
Detection of showimgpart, and showcharacter is lazy. It picks up the first occurrence and doesn't care if the line is commented out or not. Personally I kind of like it this way, lets me assign an editor-only image to an otherwise blank editor NPC.
Thats part of the best and most useful things for scripters I think but do you need to change anything in the serveroptions? I mean like for the online level editor the serveroptions also have some stuff to be setted. What about this?
as long as you keep it in the boundaries it will save in the correct spot.
The image displayed should be forced to stay within the boundaries.
e.
Also, while dragging, I think that the player's position should not be able to change, so player.level cannot change while dragging. Not sure if that is an issue or not though since I'm just reading through the code.
The image displayed should be forced to stay within the boundaries.
e.
Also, while dragging, I think that the player's position should not be able to change, so player.level cannot change while dragging. Not sure if that is an issue or not though since I'm just reading through the code.
Yeah you're right about that so it forces them inside the boundaries now.
As for the dragging thing, it isn't onPlayerEnters gets called and deactivates the editor.
Quote:
Originally Posted by callimuc
Thats part of the best and most useful things for scripters I think but do you need to change anything in the serveroptions? I mean like for the online level editor the serveroptions also have some stuff to be setted. What about this?
Well anyway rep++ after I can rep again
Nope, all the level security is based around your's and the (npcserver)'s folder rights.
I really like it- I'd use it if there was a tile preference too. [So I can edit the tiles in the level]
It was designed to be used in conjunction with an online tile editor (why I used F9 instead of F4 to toggle it) and there's a few of those in the Code Gallery already.
Quote:
Originally Posted by callimuc
Well I just tested it and it seems buggy. NPC images got suddenly changed, scripts like
or image names got completely removed. Would be nice if it could be fixed
Attach the level for me if you could. My editor checks if the images exist on the server when it goes to save them, which is probably what happened there. I will have to change that behavior. Edit: I fixed this behavior and now image is tracked with a different variable than image.
Are you using V5 or V6? There are some issues with getlines, and setlines in V5. I also was able to open, edit, and save your script without it messing up. I uploaded an updated version that prevents V5 from using it.
__________________
Quote:
Last edited by fowlplay4; 08-22-2011 at 04:55 PM..
As for the dragging thing, it isn't onPlayerEnters gets called and deactivates the editor.
Ah, alright. I'll definitely try out the OLNE as soon I can. I'm just waiting for a replacement hdd to arrive. I'm betting this tool will make editing level npcs much more convenient, so I can't wait to try it out.