All times shown according to UTC.

Time Nick Message
00:49 DiscordBot <Trayes> Can anyone guess why this command is failing: @create/drop The Bigger Mech ; bigmech : mech.Mech
00:49 <Trayes>
01:10 evenniacode [pull request] volundmush opened PR #1824 (Login tracker) to evennia/login_tracker
01:10 Volund checking, Trayes
01:11 well it seems to be a Typeclass error. where is your Mech typeclass hidden away?
01:14 DiscordBot <Trayes> It’s in typeclasses. The file is named mech
01:16 <Trayes> I am just following the Mech tutorial and I have hit a few bugs with it
01:16 Volund hrm. I couldn't tell you how up to date that tutorial is, unfortunately. Never tried it myself. try just Mech instead of mech.Mech ?
01:18 DiscordBot <Trayes> Doesnt work. I tried both of those.  i feel like it has something to do with the formatting in @create/drop The Bigger Mech ; bigmech : mech.Mech
01:18 Volund try The Bigger Mech;bigmech:mech.Mech
01:18 though I can't imagine that'd make a difference
01:19 also please link me to this tutorial
01:19 I've never actually tried that one, been working on other things
01:19 DiscordBot <Trayes>[…]g-a-mech-tutorial
01:20 <Trayes> I saved the file. Is there something obvious I need to do to let the game see it?
01:21 <Trayes> I guess it is an older tutorial
01:21 <Trayes> I didnt notice that
01:22 Volund checking
01:22 DiscordBot <Trayes> Thanks for your help and time
01:23 <Trayes> Also are you able to edit those files?
01:23 Volund the wiki? I've never tried. I doubt I have permissions for that.
01:23 okay so did you create the <mygame>/typeclasses/ file as explained?
01:23 DiscordBot <Trayes> Np just checking because “BOOM! The mech fires its gun in the air!” uses the wrong quotes and breaks the code
01:24 <Trayes> yes I did create that file
01:24 Volund have you @reloaded since creating the file?
01:24 @reload
01:24 DiscordBot <Trayes> I reset
01:24 <Trayes> I will reload
01:24 <Trayes> yeah
01:24 <Trayes> still doesnt work
01:25 Volund so let's ensure first that the file is actually there.
01:25 try:
01:25 @py from typeclasses.mech import Mech
01:25 if thisdoesn't explode in a traceback, the system is seeing the file properly
01:26 DiscordBot <Trayes> @py from typeclasses.mech import Mech
01:26 Volund in the game. :)
01:26 DiscordBot <Trayes> yeah I know
01:26 <Trayes> I forgot I cant copy from game
01:26 <Trayes> so it came out the same thing I copied here
01:27 Volund you can't copy from your telnet window? I recommend MUSHclient or something
01:27 DiscordBot <Trayes> it sees it and tells me there is an error in line 1
01:27 <Trayes> let me switch to mush
01:28 Volund that explains why you can't create it. it's not a valid python file. there's probably some kind of syntax error. I recommend using the PyCharm IDE - there's a free Community Edition available and it's great at helping you write legible python and pointing out most errors
01:28 DiscordBot <Trayes> from typeclasses.mech import Mech   File ".\typeclasses\", line 1, in      from objects import Object ModuleNotFoundError: No module named 'objects'
01:28 Volund paste the contents of your file on
01:28 ah
01:28 replace that with
01:29 from typeclasses.objects import DefaultObject
01:29 change class Mech(object) to class Mech(DefaultObject)
01:29 that's probably the core of the issue
01:30 DiscordBot <Trayes> lol.. LINE 1
01:30 <Trayes> lets test it real fast
01:31 Volund you'll have to @reload every time you make a change to a .py file
01:31 Kardon Hey all, back for a little before bed. Looks like you are on fire with some changes for the development branch Volund. :)
01:31 Is there documentation for the changes up yet?
01:32 Volund Kardon: the commands have helpfiles if that's what you mean?
01:32 or do you mean like, wiki articles?
01:32 Kardon Was it just commands that you added?
01:32 I thought I saw a global script handler and such
01:32 Yeah wiki articles detailing the additions and usage.
01:32 I'm reading the source commits at the moment.
01:33 Volund the documentation is currently - yeah, the comments in the .py files
01:33 Griatch changed/sanitized a lot of what I did.
01:34 Kardon Neato, going to pull it into my copy now. Everything you've done and noticed you are planning according to IRC seems super useful. :)
01:34 Volund but yeah the GLOBAL SCRIPTS container was integrated, as was the Validators package and Options containers
01:34 DiscordBot <Trayes> Thank you so much.. That was the bug.
01:34 Volund I just flung up the redone @examine and @ip/@logins command (which introduces a few new Models too.)
01:34 Trayes: no problem. :D
01:35 new to Python I assume?
01:36 Kardon Volund: Just pulled develop, before I start this up you mentioned new models - I need to run evennia migrate then?
01:36 Volund no since those aren't integrated yet
01:36 Kardon Roger, thanks
01:37 DiscordBot <Mal'valen> Hi, sorry to bug. I installed the RPSystem contrib file, and now when I @charcreate, they just show up as "a normal person" and I can't change their display names. Not quite sure what I'm doing wrong.
01:37 <Mal'valen> I tried @name person = <name> but it only changes in the examine
01:37 Volund the display names is called an sdesc for RPSystem
01:37 DiscordBot <Mal'valen> Ooh okay
01:37 <Mal'valen> Thank you
01:37 Volund read the documentation for RPSystem carefully. :)
01:37 it does some peculiar things to how stuff loks
01:38 looks*
01:38 basically...
01:38 with the RpSystem you SEE people's sdescs unless you have nicknamed them, I believe.
01:38 DiscordBot <Mal'valen> reading comprehension fail on my part again. I'm so sorry.
01:38 Volund no biggie
01:40 Kardon My stuff is purple now!
01:40 Hehe
01:40 This is great stuff Volund
01:40 Volund you can change it with @style border=<color>
01:40 it'll be @options eventually
01:40 once that's merged with... whatever Griatch has in mind for that
01:41 help @style though
01:41 --oh
01:41 there's no file. uh
01:41 well that's a derp for a temporary command
01:41 Kardon hehe yeah
01:41 Volund still, it has two usages. @style by itself, and @style <option>=<value>
01:41 Kardon So how did you go about styling the colors?
01:42 Volund I created a style_table() method on the base Command class and it's a wrapper for EvTable()
01:42 then I just replace-in-path'd all of the EvTable calls
01:42 :D
01:42 Kardon ah haha gotcha
01:43 Volund I view being able to view these tables with colored borders as a basic necessity
01:43 since not everyone's gonna wanna replace the base cmdset
01:44 Kardon I agree
01:44 And you are about to add default Zone functionality too I see
01:45 Volund well I'm going to add that as a Contrib
01:45 Kardon Using tags, inheritance, or something else?
01:45 Volund both.
01:45 well sorta
01:45 though not in the way you're thinking
01:45 SO
01:46 for my implementation of the Zones concept, each Zone is a ZoneScript, and their .db properties are used to keep track of a set() of the rooms that belong to them. a reverse lookup .db is used on the relevant rooms to point at the Zone.
01:47 Zones are arranged in a tree structure, with Zones able to 'own' other Zones.
01:47 what do Zones DO? well
01:48 for the default implementation, probably a bit fat nothing. But the beauty of what I'm writing is that you can REPLACE THE ZONE TYPECLASS in without losing Zone data.
01:48 Kardon That sounds very nice really
01:49 I can use your system as a base and then add my functionality much the same way as the other Evennia systems
01:49 Volund I will include some basic tools for teleport-navigation - @zroomlist and @zport probably.
01:49 yeah that's the idea. :D
01:49 Kardon That is wonderful.
01:49 Easy way to contain resets for objects and mobiles like I'm used to in other codebases. :)
01:50 Volund yup. :)
01:50 that's one way to use them. Another is just organizing the grid for nice display purposes
01:50 Kardon I'm not used to the term grid. MUSH term?
01:50 Volund there's a LOT of possible usages for Zones
01:50 yeah
01:50 grid = ALL ROOMS AND EXITS
01:51 Kardon ah
01:51 Literally a command that lists every room in the game?
01:51 Volund actually that is... certainly possible. check this out
01:52 Kardon I could do that in the DIKU-rivative I worked on way back. Was messy though, best way was to list all rooms in a specific zone.
01:52 Volund
01:52 from the superhero game that I code for. an excerpt
01:52 the full printout is like 20x that
01:52 Kardon Ah wow
01:53 Volund yeah they went a bit overboard with their building if you ask me
01:53 this approach won't work with MUDs that have 100 largely-identical rooms of desert in the one desert zone
01:54 but it works nicely for small themed RP games with 100-200 rooms at most
01:54 Kardon I'm not planning on letting players see a listing of rooms, since mine is more traditional MUD themed.
01:54 Useful for builders though.
01:55 Although who knows. I'm not sure how far I want to go with this. Having fun for now though. :)
01:55 Volund I'm actually going to reuse the same concept of how to lay the system out for Factions. same way that Zones work
01:55 Scripts that 'own' scripts in a tree structure
01:55 replaceable Typeclass
01:56 Kardon That makes sense
01:57 Volund and they have two kinds of membership entries. 'generic' which would be used for people who are somehow affiliated but don't hold any kind of rank (probably NOT PCs), and rank holders who have special permissions. Thus the concept of Factions is useful for both PCs and NPCs
01:57 you can have system-run Factions. it might be a city or a Guild or a whatever
01:58 what does it DO? Whatever you want it to do. The contrib is just the faction to create and administrate them, display them, etc. some lockfuncs, etc.
01:58 errr
01:58 just the code to create*
01:59 Kardon I'll most likely use that contrib. :)
01:59 Well I believe I am going to head to bed now
01:59 Have a good night
01:59 Volund but the Factions concept could be used for a lot. I'm pondering an Expansion on it that introduces a Faction-based BBS. and also a Reputation system where Characters and Factions can love or hate each other
01:59 which might be used for all kinds of things like 'this person is a criminal in this city, all of the police mobs will aggro on sight'
02:00 g'night
02:24 * Volund works on the Zones contrib
02:36 works on the Zone command now. :D
03:13 Volund simple name regex check:
03:13 ^([a-zA-Z]|\.|\-|\_| )+$
04:08 evenniacode [issues] kaleara opened issue #1825 in evennia: utils.delay when persistent=True (
04:14 [issue comment] kaleara commented on issue #1825 (utils.delay when persistent=True) in evennia: If this is not a bug, I'd suggest updating the wiki page at[145 more] ([…]comment-483101688)
04:46 Volund going to bed now, g'night
05:14 DiscordBot <Trayes> Anyone still alive here?
05:14 evenniacode [wiki] Griatch updated evennia/wiki: [edited]: Command-Duration (Command Duration) ([…]/Command-Duration)
05:15 [issue comment] Griatch commented on issue #1825 (utils.delay when persistent=True) in evennia: No, this is not a bug, it's more a matter of the docs being[94 more] ([…]comment-483110177)
05:15 [issues] Griatch closed issue #1825 in evennia: utils.delay when persistent=True (
06:18 pinkmagicdev joined #evennia
06:37 evdemo [Public] bird222 just connected to the Evennia demo for the first time!
06:38 [Public] bird222 disconnected from the Evennia demo.
08:11 evenniacode [issue comment] Zireael07 commented on issue #1824 (Login tracker) in evennia: > LoginSource and Login records older than should be periodi[478 more] ([…]comment-483151867)
08:43 [commit comment] strikaco commented on evennia/accounts/, line 521 in evennia: You ought to be using for captur[86 more] ([…]tcomment-33177427)
08:52 [commit comment] strikaco commented on evennia/accounts/, line 181 in evennia: Shouldn't the account field be indexed instead of the date f[80 more] ([…]tcomment-33177572)
09:05 [issue comment] strikaco commented on issue #1824 (Login tracker) in evennia: > Does Evennia have a way to deal with this? It should ideal[127 more] ([…]comment-483170157)
11:46 Volund I awaken
11:48 evenniacode [commit comment] volundmush commented on evennia/accounts/, line 181 in evennia: This table design is out of date, see latest commits. All Fo[45 more] ([…]tcomment-33179710)
11:48 [commit comment] volundmush commented on evennia/accounts/, line 521 in evennia: I dislike auto_now_add because it prevents creating manual e[66 more] ([…]tcomment-33179716)
11:52 Volund what the heck happened with the Postgre build of the login_tracker? it went all garbagey
12:07 churning along on the Zones contrib though :D
12:43 galaxie joined #evennia
13:14 evenniacode [pull request] volundmush opened PR #1826 (Creator signals) to evennia/creator_signals
13:15 [pull request] volundmush closed (no merge) PR #1826 (Creator signals) to evennia/creator_signals
13:15 Volund GDI
13:15 I need to figure out how to default to develop
13:16 evenniacode [pull request] volundmush opened PR #1827 (On-Creation + Creator Signals) to evennia/creator_signals
13:17 * Volund mreh. sends in a fix.
13:34 evenniacode [pull request] volundmush opened PR #1828 (Added Base Typeclass loading to Evennia API.) to evennia/loaded_modules_api
13:47 Volund There, copy hook submitted too
13:50 mwahahaha. I am on a rampage!
14:15 AbstractTreeScript is almost done being coded. AbstractZoneScript is basically done....
14:15 AbstractTreeScript will also be used for Factions. :D
14:37 there, AbstractTreeScript finalized. working on AbstractZoneScript and then the ZoneManagerScript and ZoneScript :D
14:38 stoopkid joined #evennia
15:15 slackfriarzen <friarzen> Volund...that regex you posted last night is probably wrong.
15:16 Volund ?
15:16 how so?
15:16 it worked on regex101
15:16 slackfriarzen <friarzen> ^([a-zA-Z]|\.|\-|\_| )+$  would match:   abc or ___  but not a_b
15:16 <friarzen> I think you want the simplified:
15:16 Volund ooh
15:16 slackfriarzen <friarzen> ^[a-zA-Z._-]+$
15:16 Volund yeah probably
15:18 nah mine works
15:18 plug this into regex101: ^([a-zA-Z]|\.|-|_| )+$
15:18 what you gave me is invalid syntax
15:18 mine works because of a () group
15:18 () is saying 'it can be any number of these possible things' and + is 'one or more of this group'
15:19 err, any of these possible things
15:19 slackfriarzen <friarzen> Oh, yeah, I guess with the ()+ it would work...just really slowly.
15:19 <friarzen> since "or" conditions in regex are slow.
15:19 Volund well if you can write a better one that's great. it's not used that often.
15:19 that's invalid syntax
15:19 slackfriarzen <friarzen> and mine isn't invalid syntax, other than maybe needing a \. instead of just .
15:19 Volund well lessee
15:19 slackfriarzen <friarzen> depends on the regex engine.
15:20 Volund huh. you're right. \ is not needed
15:20 it's missing space though
15:20 hrm.
15:20 slackfriarzen <friarzen> oh, ok, then add that at the beginning.
15:21 <friarzen> [ a-zA-Z._-]
15:21 Volund ah there we go
15:21 bingo
15:21 slackfriarzen <friarzen> or \s if you want them all.
15:22 Volund this regex is supposed to restrict the kinds of names that can be used for things like Zones, Factions, and possible Accounts or Characters. by only allowing alphanumeric characters and a small amount of special symbols, it prevents WACKY NAMES from getting in the way of command syntax or just being plain ugly
15:22 slackfriarzen <friarzen> Yeah, which I think is a very good thing.
15:22 evdemo [Public] suicidalferret just connected to the Evennia demo for the first time!
15:24 slackfriarzen <friarzen> morning, suicidalferret (from IRC) welcome to Evennia
15:24 Alexia joined #evennia
15:24 slackfriarzen <friarzen> You can type 'pub your-question-here' and we'll see it.
15:27 DiscordBot <Trayes> Anyone on that can help with questions?
15:27 slackfriarzen <friarzen> Yep, several of us
15:28 <friarzen> well, depending on the question I guess....I'm not so good with theoretical quantum physics for example. :)
15:29 evdemo [Public] suicidalferret: que
15:29 [Public] suicidalferret: neat
15:30 DiscordBot <Trayes> I am working with locking abilities. I am building a mech. I want my enter mech command to work outside the mech, but hide all the others. Then while inside the mech I want to lock skills until a startup sequence is run. The issue I am having is learning how to set those locks or if you can even do it.
15:31 evdemo [Public] Alexia just connected to the Evennia demo!
15:31 [Public] suicidalferret: trayes, sounds neat
15:39 Volund double check my knowledge friarzen: Scripts have Locks, but these locks don't do anything unless I say they do. right?
15:39 heya Trayes welcome back to the madness
15:40 Trayes: Commands have locks as class properties. lock = "cmd:all()" and so on, you may have seen these
15:41 Evennia's lockfuncs are what you need to use for this. in this case the 'enter' command would be active for anyone who is NOT inside the mech, while everything else is restricted to those who are inside. As for the start-up sequence, while you CAN use locks for this, you may want to use other properties of the mech to determine whether it is 'running' or not
15:41 locks determine only in what situation the command becomes available.
15:41 they don't spit out error messages saying why a command did nothing.
15:45 evdemo [Public] suicidalferret: so it's possible to have mechs in a mud?
15:45 DiscordBot <Totalgit> Trayes theres a train example that does locks like that...
15:45 <Totalgit> let me find it
15:46 <Totalgit>[…]torial:--Vehicles
15:47 <Totalgit> has examples of locks on commands for exit/entering a train, you can then apply it to other commands you dont want to allow or allow inside your mech
15:47 Volund suicidalferret: Sure, why not? I've seen spaceships
15:48 mechs are WAY easier to do than spaceships, I'm sure
15:48 Although you do need to make considerations such as, where does a mech fit or not fit? maybe mechs do not fit 'inside' certain rooms
15:48 DiscordBot <Totalgit> i suppose it depends, ships could be just like a elevator to another planet, get in, wait some time, with some descriptions of the flight then pop you out...
15:49 Volund sure you can do it that way
15:49 I'm talking about like actual spaceships with hangars that you walk around in and launch your personal ship from, enter hyperspace, and then land on a planet after navigating through space
15:49 usually using 3D vector math
15:49 DiscordBot <Totalgit> Im trying to thionk of a way to have an airlock so i can space people..
15:52 <Totalgit> think of a airlock exit type but that seems pretty complex, unless it gets created both in the ship and outside the ship when its activated.
15:52 evdemo [Public] suicidalferret: ive never messed with muds before and ive only seen fantasy types
15:53 Volund welcome to a whole new world then suicidalferret. It's crazy in here.
15:53 DiscordBot <Totalgit> sci-fi ones do seem much rarer
15:58 evdemo [Public] suicidalferret disconnected from the Evennia demo.
15:59 [Public] suicidalferret disconnected from the Evennia demo.
16:00 [Public] test2 just connected to the Evennia demo for the first time!
16:02 [Public] test2 disconnected from the Evennia demo.
16:02 slackfriarzen <friarzen> Another way to limit the commands available before/after the "startup" command is to have a command set that you add to the character executing the startup command.
16:05 evdemo [Public] Alexia disconnected from the Evennia demo.
16:08 xardion joined #evennia
16:12 Volund whew. progress is good. writing up lots of stuff for the Factions and Zones contribs
16:12 about to head to school though
16:16 bostrt joined #evennia
16:16 bostrt joined #evennia
16:22 Volund woo. this is coming along NICELY. I've even managed to retain support for Private (invisible) Factions - ones that only staff or members of said Factions can see.
16:26 suicidalferret joined #evennia
16:32 DiscordBot <Trayes> Hi again, sorry I was slow to respond. Was watching GoT with the wife. Anyways, the train tutorial is the one I was doing. The issue with that is that the locks don't work the way I am asking.
16:33 <Trayes> I could very well be doing it wrong but they are setting locks = "cmd:all()"
16:34 <Trayes> My issue is that I need to lock some skills from the outside. call:false() is how to lock all call skills
16:38 <Trayes> I need to learn how to make an exception inside call:false() or I need to learn how to set call locks on a per skill basis
16:40 <Trayes> Here is an example of a skill that I tried to lock but it doesnt seem to work. Let me know if you see anything wrong.
16:53 <Volund> I am at lunch then driving. Will be a while b4 i can examine the code
16:54 <Trayes> np i am also researching the lock doc
17:15 evenniacode [issues] kaleara opened issue #1829 in evennia: spawn/list not readable with many prototypes (
17:17 slackfriarzen <friarzen> Generally, I feel lock functions are best for commands that need to be available to a subset of the userbase "all the time" and adding/removing/overriding command sets is good for cases where the access to the commands is controlled by game logic.
17:34 DiscordBot <Trayes> Do you have any examples of that? I think what you are saying is what I am looking for.
17:50 Volund okay I'm back
17:51 DiscordBot <Trayes> Welcome back
17:51 rnmissionrun joined #evennia
18:06 iceman joined #evennia
18:06 iceman Hey all
18:07 rnmissionrun Hi.
18:09 iceman says "See examples/ for a list of properties and methods available on all Objects." I can't seem to locate this.. any idea?
18:11 rnmissionrun see
18:14 iceman ah yes, I see it there! thank you.
18:14 rnmissionrun also evennia/evennia/objects/
18:15 iceman I was trying to find an file in an examples folder
18:15 rnmissionrun I think the docs are lagging behind :/
18:16 iceman totally okay and makes sense, I was just being too literal with what was written
18:20 DiscordBot <Kaleara> @Trayes  i happened to be looking at lockstring for something else and there's an inside that may do what you want for your mech, unless you're going the command set route
18:22 rnmissionrun You can add and remove cmdsets on the fly, which is probably the better solution.
18:24 For example, when someone enters the object, add the cmdset with the commands that you were going to lock to inside(). When they leave, remove it.
18:25 This is as easy as 'player.cmdset.add(CmdSet, permanent=True)' and 'player.cmdset.delete(CmdSet)'
18:35 Volund there. I think the TreeScript and TreeScript manager are figured out. Almost. :D
18:36 this will serve as a worthy base for the Factions and Zones and possibly other things
19:24 DiscordBot <Trayes> Last question (i hope) on this topic for awhile. How do i lock the "Enter Mech" command to only show to the person who summed that mech.   I need to be clear because I don't want anyone to enter a mech they didn't create.
19:31 rnmissionrun How are you setting the owner?
19:33 DiscordBot <Trayes> I dont know.. That was the question.  The person who summoned it. For now it would be create.
19:34 rnmissionrun If the player controls it, just do a check like this: if not what.access(self.caller, "control") self.caller.msg("This is not your mech." return
19:37 You might need to set an attr on the mech with the ref of the "owner" in the command that spawns it, then check that against the player trying to enter
19:44 DiscordBot <Trayes> Would a tag do the same thing? Is there a better choice between tag and attr?
19:45 rnmissionrun Check the object to see if it has a control lock. It should look something like "control:id(1)" where the number is the id of the "owner"., in this case, #1.
19:46 if that matches the id of the player that owns it, then you're good
19:48 Tags are good but can only hold strings. You could convert ofc
19:49 DiscordBot <Trayes> is there a way on mech create for it to look at the ID of the creator and set that as its attr?
19:50 rnmissionrun It should be set automatically but I am honestly not quite clear how that works when the object isn'yt spawned by a player directly
19:52 Evennia has a.... unique concept of object ownership :/
19:59 Volund non-existent, you mean
20:00[…]mits/contrib_zone making progress. :D
20:01 I think I'll have Factions and Zones mostly done by tonight
20:01 API anyways. the bakend stuff. not sure about commands
20:01 and displays
20:01 rnmissionrun You could just set the control lock when it's created
20:02 Volund one of my new PRs introduces SIGNALS for OBJECT_CREATE and adds the concept of a creator to said signal. it doesn't change the data structure but it does mean that you COULD create a Receiver that marks down on a .db who the owner is or something like that.
20:05 rnmissionrun I think that works like this:  object.locks.add("control:id(%d)" %
20:08 Volund that's correct
20:08 slackfriarzen <friarzen> Sorry, got run over by the ItsAllBroken truck at work.
20:09 Volund oops?
20:09 friarzen: I am cranking away at Factions and Zones meanwhile. :D
20:10 slackfriarzen <friarzen> Yeah, its all fixed now, but, yeah, I never like providing a solution idea, but then can't reply to that with the "why"
20:10 Volund which builds on a TreeScripts concept that may or may not be useful for other things
20:11 slackfriarzen <friarzen> there something you simply can't do without the Tree aspect or is that engineering-for-the-sake-of-​future-unspecified-reasons?
20:11 Volund both Factions and Zones are organized as trees. Zones can belong to Zones. as long as all children of a particular zone have unique names, it's fine. same concept is in play for Factions.
20:12 you don't -have- to use the depth feature.
20:12 slackfriarzen <friarzen> ok, cool.
20:13 Volund the depth/tree thing is about, like
20:13 slackfriarzen <friarzen> if you aren't forced to figure out all the tree bits just to use it, that's cool.
20:13 Volund nah it'll be easy anyways
20:13 you search through the tree like folder paths. Blah/Blah2/Blah3
20:14 move thing=Over/Here
20:14 attahes thing to Here which belongs to Over
20:16 I'm not sure what else TreeScripts could be useful for? But their functionality is nice enough to standardize since it works for two different things to build off  of it
20:19 slackfriarzen <friarzen> Does it allow Graph cycles?
20:20 Volund ... uh?
20:20 what the heck are those?
20:22 slackfriarzen <friarzen> so...the simplest graph is a Tree with one child node pointing to itself.
20:24 <friarzen> another example would be a top level node, two mid level nodes linked to the top level node, and bottom level node linked to both mid level nodes.
20:24 <friarzen> that's a fairly typical "dependency" graph example.
20:27 Volund uhhhhh
20:27 yeah that... sounds like what I have going on?
20:27 though nodes can't point to themselves.
20:27 nodes just have parents. any node that has no parent is a root node
20:30 rnmissionrun Ooh Bundle of Holding is doing a GoT bundle
20:32 slackfriarzen <friarzen> ok, yeah, that sounds like it can have graph cycles then.
20:44 Volund it's meant to be kinda like this:
20:49 that'sfrom the superhero game
20:50 and it's what I'm using as a model to improve upon
20:51 rnmissionrun Hmm this feels like an Uber Eats kinda night. I'm too tired to cook.
21:45 Volund whew.
22:02 evdemo [Public] idius just connected to the Evennia demo for the first time!
22:38 Volund boom. coded faction permissions. now I just gotta update the API so it respects them.
22:39 this is actually ten times more powerful than what I wrote in MUSHcode and it wasn't nearly as much of a PITA to code. even though I'm using a script to hold the data
23:17 slackfriarzen <friarzen> Yeah, seems pretty straight forward.
23:21 DiscordBot <Kaleara> i'm trying to generalize pronoun replacement to apply to any passed character (not just self) and i'm stuck because the callable in .sub can only take the text to replace, not anything else
23:22 <Kaleara> not sure i'm describing that well, but any help would be appreciated
23:24 slackfriarzen <friarzen> I think I have a pretty nifty and workable idea for this month's Enter the (MU) Dungeon contest.
23:24 Volund so if anyone wants to see just WHY I'm gushing over Python
23:24 check this out
23:25 slackfriarzen <friarzen> Kaleara, maybe instead of .sub you could build an inline func to do the replacement?
23:25 Volund this is the Python code for promoting/demoting a faction member. below it in comment (probably best to switch to Just Text) is the MUSHcode equivalent
23:26 yes
23:26 it looks like this:
23:26 &GRP`GMEMBER`RANK`DO [u(cobj,group)]=@attach %!/INC`DOSQL=UPDATE`RANK,get(%0/RAN​K`%2),get(%1/D`GROUP`[num(%0)]);th u(attrib_set,%1,D`GROUP`[num(%0)]`RANK,%2);@attach %!/GRP`CACHE`MEMBERS=%0;@attach %!/GRP`CACHE`CHARACTER`GROUP=%1,%0;
23:26 that's MUSHcode. and it's awful. D:
23:26 hail Python!
23:27 slackfriarzen <friarzen> Yep, I remember looking at codebases back in 93-ish and thinking "My God these are ALL aweful!"  Then I found LambdaMOO and decided it was merely hideous-but-usable.
23:29 <friarzen> I still don't quite understand the masochistic tendencies of most of the community.
23:29 <friarzen> :)
23:33 evenniacode [issue comment] strikaco commented on issue #1827 (On-Creation + Creator Signals) in evennia: >  I am disgruntled at how all-over-the-place the 'create a[683 more] ([…]comment-483456536)
23:38 Volund well friarzen
23:39 I have been trying to pull away from it as you see.
23:40 fact is, now that my coding skills have leveled up significantly since a year or two ago, I can now take all of my designed systems in MUSHcode and give them SUPER BOOSTS by rewriting them in no time at all in Python.
23:40 I can create very complex data structures and interacting systems fairly easily.
23:40 At the moment my only weakness is, uh
23:40 I'm not that great at text formatting in color
23:41 I have gotten very used to using align() shenanigans in Penn to do everything from creating tables to, well
23:41 this
23:43 now on its surface, that looks like an EvForm
23:43 and it would be, except...
23:43 what if the Perks situation fills up? EvForm cannot expand vertically. my thing can.
23:45 it's the ONE weakness of EvForm

← Previous day | Index | Server Index | Channel Index | Today | Next day → | Atom Feed | Search | Google Search | Plain-Text | plain, newest first