"faking" a house...

Here you can post threads requesting help on the official POL Ultima Online Emulator Core 095. Note: Core 095 is no longer officially supported.
Post Reply
Poi
Grandmaster Poster
Posts: 298
Joined: Fri Apr 14, 2006 9:36 am

"faking" a house...

Post by Poi »

Is there a way to create a house, but only the floor, so i can build onto it and it will still all be considered a house(lock down, trash can, ban, etc)
Bytehawk
Apprentice Poster
Posts: 56
Joined: Fri Feb 03, 2006 2:25 am

Post by Bytehawk »

You could create a "house" that consist of only a 8*8 marble floor for example. You'll also have to put a house sign in it, since that sign is what listens for housing commands like "i wish to lock this down". A house doesn't need walls to function correctly - the standard workshops for example also don't have four walls on the ground level.
When you burn that "house" into the multi.mul and edit the config files to recognize your new house, POL will treat it like any other multi.

I bet I got this question totally wrong, again :)
Poi
Grandmaster Poster
Posts: 298
Joined: Fri Apr 14, 2006 9:36 am

Post by Poi »

Well, how might i create a floor like that, thats what im asking i know i may have.. worded it differen, but thats what i meant
Yukiko
Distro Developer
Posts: 2826
Joined: Thu Feb 02, 2006 1:41 pm

Post by Yukiko »

Here's a create rectangle script. It allows you to enter an object type number and will tile an area you target with that item.

Code: Select all

//
// .createrect command - create items in a targetted rectangle
//
// usage: .createrect [objtype]
// Items created with this command will not decay.
//

use uo;

program textcmd_create( who, params )
    var objtype, zheight;

    params := SplitWords( params );

    objtype := params[1];
    if (CInt(objtype))
        objtype := CInt(objtype);
    endif

    if (len(params)>=2)
        zheight := CInt( params[2] );
    else
        zheight := 0;
    endif

    SendSysMessage( who, "Target the top-left corner" );
    var topleft := TargetCoordinates( who );
    if (!topleft)
        return;
    endif
    SendSysMessage( who, "Target the bottom-left corner" );
    var botright := TargetCoordinates( who );
    if (!botright)
        return;
    endif
   
    if (topleft.x <= botright.x && topleft.y <= botright.y)
        var x, y, z;
        for( x := topleft.x; x <= botright.x; x := x + 1 )
            for( y := topleft.y; y <= botright.y; y := y + 1 )
                z := GetMapInfo( x,y, who.realm ).z;
                var item := CreateItemAtLocation( x, y, z+zheight, objtype, 1, who.realm );
                // Uncomment the next line to lock down the created item.
                // item.moveable := 0;
            endfor
        endfor
    endif
endprogram
Just save it as createrect in the \pol\scripts\textcmd\seer directory. Compile it.

Syntax is: createrect <objtype>
Poi
Grandmaster Poster
Posts: 298
Joined: Fri Apr 14, 2006 9:36 am

Post by Poi »

doesnt that do the same as .tile? Anyway, nevermind about this i don't understand how to add a sign so it has the same props..
Pierce
Forum Regular
Posts: 420
Joined: Thu Feb 02, 2006 8:33 am

Post by Pierce »

If you want to fake a house, just do what Bytehawk said. Build the ground floor with a sign as multi, if you run a standard POL shard. Otherwise you have to follow other ideas to fulfill your dreams. Cause then you have to leave the standard that the house sign is controlling the multi. That's no problem, but you have to script something on your own, cause we all don't know what you want exactly :) Every Shard does it's housing on their own i think.
Yukiko
Distro Developer
Posts: 2826
Joined: Thu Feb 02, 2006 1:41 pm

Post by Yukiko »

Yeah guess it does :P
I gorgot that command was in the Distro.
Bytehawk
Apprentice Poster
Posts: 56
Joined: Fri Feb 03, 2006 2:25 am

Post by Bytehawk »

Phew... that would be difficult to explain even in german, I doubt that I could in english. Well, I'll try anyways:

If I got it right, you want a simple floor of say 8*8 stone pavers to be treated like a multi. The most simple - tho not really simple - way to achive this would be to really MAKE it a multi. For that you have to build the stone pavers floor and a house sign and export it to a file that is readable by your favorite multi editing tool. Then use that tool to "burn" your design into your multi.mul file and edit the POL config files and scripts that have to do with multis. Since I've rewritten almost the entire housing system for our shard, I can't tell what files that exactly are, but at least pol/config/multis.cfg and the itemdesc.cfg file in which the houses are defined have to be edited. Then, you can simply place and use the "house" like any other multi in game.

If you dont want the house sign in your design, you'll have to tell one of those stone pavers, that it actually is a house sign :) Sadly this isn't as simple as it sounds and I can't (wont) explain it in detail, but you have to make quite some modifications in houseDeed.src for this to work. The question is, if what you want to achieve is really worth that effort.

PS: I vaguely remember having read - don't ask me where - about a "static housing package", maybe this could help you? At least it may contain valuable hints, since static housing also differs from normal multi management.
Poi
Grandmaster Poster
Posts: 298
Joined: Fri Apr 14, 2006 9:36 am

Post by Poi »

Uhm... thanks for explaining but after reading that id rather not... because.. its sort of... uhm.... diffilcult
Post Reply