Coder Social home page Coder Social logo

genzgd / lampost-mud Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 6.0 3.05 MB

A Python server and HTML/angular.js client for MUDs and other multi-user virtual worlds

Home Page: https://lampostmud.org

License: MIT License

Python 25.63% CSS 3.66% HTML 24.84% JavaScript 45.87%

lampost-mud's People

Contributors

genzgd avatar ldevesine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lampost-mud's Issues

output / color and link handling

insteed of :
{
"display": {
"lines": [
{"color": 7024747, "text": "Grottington Street [grottington:1]"},
{"color": 11354522, "text": "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="},
{"color": 11354522, "text": "Branching off from the street to the west stands a recently constructed building ... to see during all hours of the day and night."},
{"color": 11354522, "text": "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="},
{"color": 8421376, "text": "Exit: south grottington:0 "},
{"color": 8421376, "text": "Exit: north grottington:2 "},
{"color": 8421376, "text": "Exit: west grottington:19 "}
]
}
}

maybe do something like :

{
"display": {
"content": [
{"c": 1, "t": "Grottington Street [grottington:1]", "n" : true},
{"c": 2, "t": "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=", "n" : true},
{"c": 2, "t": "Branching off from the street to the west stands a recently ", "n" : false},
{"c": 3, "t": "constructed building", "n" : false, "a" : "look building"},
{"c": 2, "t": " ... to see during all hours of the day and night.", "n" : true},
{"c": 2, "t": "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=", "n" : true},
{"c": 4, "t": "Exit: ", "n" : false},
{"c": 4, "t": "south", "n" : false, "a" : "move s"},
{"c": 4, "t": " grottington:0 ", "n" : true},
{"c": 4, "t": "Exit: ", "n" : false},
{"c": 4, "t": "north", "n" : false, "a" : "move n"},
{"c": 4, "t": " grottington:2 ", "n" : true},
{"c": 4, "t": "Exit: ", "n" : false},
{"c": 4, "t": "west", "n" : false, "a" : "move w"},
{"c": 4, "t": " grottington:19 ", "n" : true},
{"d": "prompt", "t" : "|123h 123m 123v>"}
]
}
}

so you can have multiple colors in one line, add links ( like mxp does ), etc.

Socials

using a social - grin, hug, etc, causes some sort of disconnect

Summon bug

Summoning imogen produced a stack trace in immortal.py

Rooms and Exits

2 different presentations:

====================TEF which is TFE code
South Garnie Lane
+=--------------------------------------------------------------------------=+
| Lighting: Well Lit Time: Night Terrain: Field |
| Exits: NeSW Weather: Clear Room Size: Dinosaur |
+=--------------------------------------------------------------------------=+
Garnie Lane continues to both the north and south of here. Yellow
construction cones mark off both the east and west sides of the road,
drawing your attention to the new homes being built for Chiiron's good
citizens. A bustling town square can be seen to the north while to the
south a large construction site marks off the building of a new gate out
of town.

Exits Command:
<p|2067hp 1257e 301mv> Obvious Exits


North - South Garnie Lane
East - Closed wooden door
South - The South Gate of Chiiron
West - Leatherworker's Shop

what i like... lower case for closed exits. Also has a main colour for main roads and secondary colour for others... forest/water/mountains/buildings etc.

====================WD which is ROM code

5761/5761hp 7886/7886mana 763xp Hapsor> Main Street Westbridge [LAW] [NOLOOT]
This is Main Street, Westbridge, one of the most well traveled
thoroughfares in all the realms. The pavement is well worn by many
years of traffic. Gas lamp lights line either side of the street.

[Exits: north south] [Doors: west]

Exits Command:
5761/5761hp 7886/7886mana 763xp Hapsor> Obvious exits:
north - The Intersection of Main & Life
south - Main Street Westbridge

What I like... not a lot

sounds

we just had a visitor to the mud, who spoke to me, but i did not hear them because i was in another window. is an alert sound possible?

reload?

Jens tried reload and it gives a blank screen. Not sure what it should give, maybe a bit of history (is that possible?), but at the very least, there should be a forced 'look'.

Buffer size

Jens thinks we might want to limit the size of it.

maybe we need to have a save buffer option?

Issues with setup and start scripts

README seems out of date. The lampost_setup.py and lampost_mud.py both seem to have some issues relating to imports. Seems like maybe there was a refactor done and they weren't updated?

Using master branch and running either of those scripts:

Traceback (most recent call last):
  File "lampost_setup.py", line 3, in <module>
    from lampost.util import logging
ModuleNotFoundError: No module named 'lampost'

IE Focus Problem

The JQuery autofocus logic doesn't work in IE if there is a table on the page.

lampost_setup AttributeError

python lampost_setup.py -im results in an AttributeError exception being thrown.

Traceback (most recent call last):
  File "lampost_setup.py", line 28, in <module>
    newsetup.new_setup(args)
  File "/usr/lib64/python3.4/site-packages/lampost/setup/newsetup.py", line 41, in new_setup
    app.exec_bootstraps()
  File "/usr/lib64/python3.4/site-packages/lampost/di/app.py", line 29, in exec_bootstraps
    func()
  File "/home/michael/projects/Lampost-Mud/lampmud/mud/mudcore.py", line 27, in _start
    shout_channel = Channel('shout', general=True)
  File "/usr/lib64/python3.4/site-packages/lampost/server/channel.py", line 20, in __init__
    cs.register_channel(self.id, general)
AttributeError: 'Injected' object has no attribute 'register_channel'

I am able to get it to move on by simply wrapping the cs.register_channel in lampost/server/channel.py of lampost_lib

diff --git a/lampost/server/channel.py b/lampost/server/channel.py
index 7c9defa..27dae0e 100644
--- a/lampost/server/channel.py
+++ b/lampost/server/channel.py
@@ -6,7 +6,7 @@ from lampost.util.lputil import timestamp
 
 ev = Injected('dispatcher')
 db = Injected('datastore')
 cs = Injected('channel_service')
 module_inject(__name__)
 
 
@@ -17,7 +17,10 @@ class Channel():
         make_action(self, (channel_type,) + aliases, target_class='cmd_str')
         self.id = "{}_{}".format(channel_type, instance_id) if instance_id else channel_type
         self.tag = tag
-        cs.register_channel(self.id, general)
+        try:
+            cs.register_channel(self.id, general)
+        except Exception as e:
+            print("{0}".format(e)) 

works, and allows user setup, but obviously not a fix for the real issue. I poked around a bit, but I couldn't see an obvious fix as i'm not sure exactly how the Injected class works.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.