Announcing the Modern Distro!

Discussion about the development of POL's official distribution scripts.

Moderators: POL Developer, Distro Developer

Post Reply
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Announcing the Modern Distro!

Post by Yukiko »

Yes. It is finally here!

After about a year's work on this project here it is.

Features:
A new unified crafting system.
A new combat system.
A new storage areas management system.
A new timed scripts for buffs and "curses". Yes it should display buff icons.
A new smelting system.
A new web interface for server management.
A plethora of new items.
A new deeds system.
Elemental damages and resistances have been added to ingots, scales, and wood types that require them. More about this in the limitations section.
There are other features but frankly I cannot remember them.

Now a disclaimer: None of this is "new" in the sense that I scripted it. I borrowed from many, well four actually, sources. The crafting, combat, timed, storage area management system, and server management scripts came from Austin's and MuadDib's work on the 098 Distro. The "plethora" of new items and the new deeds packages were contributed by ThisIsMe. Some of those systems I listed may have had some modifications done by Edwards and ThisIsMe because some were not taken directly from the 098 Distro but came via ThisIsMe's, as yet unfinished, shard which he based on Edwards uncompleted "distro" which was *takes a deep breath* based on the 098 Distro.

I should also give credit to Edwards. For some reason I could not get Austin's version of the attributes system to give proper skill gains. I will assume the blame here for not fully grasping the many settings in that system. I assume I just did not set something correctly and based on that assumption gains were, to use a technical term, wonky. So upon the advice of ThisIsMe I dropped in Edwards' attributes system, which is a modified version of Austin's. After removing his class system and security references the gains are now working as they should.

So you see many hands have had a part in building this Modern Distro.

Obviously, or maybe not so obvious, it was no small matter integrating those pieces into the existing Distro. That is what I have been doing this past year. Some of these new features required modifications by me or ThisIsMe to make them functional and/or work properly.

This, in keeping with the POL tradition of Distro releases, is not intended to provide or mimic OSI's full functionality. It is however a good and working starting place for shard developers. It is fully functional except for some limitations which I will list below. So if you want a shard with, mostly, all of the skills available that you can open-up to players or friends then there is no need to do anything and this is the Distro for you. If you want a good starting place to build upon then this is also the Distro for you. You can use it and open it for game play whilst adding features because it is a working Distro. That was how I started back in 2003. I opened my shard with the current Distro at that time and added features that I wanted and that were suggested by players.

Now for the limitations:
The following skills are not implemented, snooping, stealing, chivalry, imbuing, mysticism, spellweaving, and throwing. Some of these skills cannot be implemented properly without some work on the Core.
Necromancy is implemented but needs some work. It does not yet use the new timedScripts package.
Elemental damage types, ie. physical, fire, cold, poison, and energy, are not yet implemented. I thought they were because the damage package does elemental resistance checks but the hitscripts do not check for the various elemental damage properties.
Many of the regular magic spells do not yet use the new timedScripts package.
Galleon support is not yet in this Distro.

I think that covers the major limitations.

Due to the addition of many new items and the new storage system this version cannot be dropped into an existing shard. It will require a fresh start, or item and character wipe. I apologize for the inconvenience.

I will warn you that there will be bugs. I could be more positive and say "there might be bugs" but that would be dishonest and foolish. Anything as complicated as this is going to have mistakes. So if you find a bug please report it by posting it on the forums!. Bugs reported to me in chat are easily forgotten. This means they most probably will not get my attention. Posts on the forums, barring a data loss, cannot easily be forgotten. If you find a bug and fix it report the bug and post the fix. You can submit bug fixes as a "pull request" to the Modern Distro repository on GitHub. I, or someone on the Distro team, will review pull requests for addition to the repository.

Due to circumstances within my control it went live a little bit too early. There are some major bugs I have to fix in the spell scripts. If you get it before those are fixed then check back with this thread to see an update.

You can get it here.
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

I may have overstated the seriousness of the spell script bugs. They are not buggy in the sense that they do not work, well most of them anyway. The issues are that they do not currently use the timedScripts package for buffs and curses. So the buff icons will not display for the spells that do stat modifications. Those spells should work though. You just won't see the icons.

Also magic trap and magic untrap do not currently use the traps package for setting and unsetting traps. Those 2 spells may not work.

It is going to require more time to bring these spell scripts up to par with newer systems in the Modern Distro.

Other than those and the limitations I listed in the announcement this is a functioning set of scripts. I will first work on the "trap" spells because those may not work as they are. If someone would like to test and report back if they work I would appreciate it.
gh0sterZA
Neophyte Poster
Posts: 35
Joined: Thu Nov 19, 2015 11:36 am
Location: Cape Town

Re: Announcing the Modern Distro!

Post by gh0sterZA »

Thanks Yukiko

2 small case issues for compiling on linux

/pkg/tools/control/commands/seer/control.src
include ":gumps:yesNo";


/pkg/tools/control/initializer/cmdbarmenus.src
include ":gumps:gumpPrompt";

will play around more when I get time :)

Another case sensitive change:
pkg/items/debris/debris/onCreate.src > existing file is all lowercase

regards
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

Darn Linux :D
OK. I will fix those. I wish all bugs were that easy to fix.
DevGIB
Grandmaster Poster
Posts: 248
Joined: Mon Feb 06, 2006 6:12 am

Re: Announcing the Modern Distro!

Post by DevGIB »

Will the modern distro replace the distro at some point and then the distro be moved to legacy distros?
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

Case issues fixed. The onCreate one was fun. :P
Because it is a file name I had to remove the file, commit, and then add the file back in with the case change because Windows sees oncreate.src and onCreate.src as the same file and does not see any change even though the case changed in the name.
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

A special thanks to gh0sterZA for submitting fixes for several bugs.
I am going to have to remember to read the logs. :P
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

I have no doubt at some point we will move the Distro to the legacy distros but for now I think it is still relevant.
DevGIB
Grandmaster Poster
Posts: 248
Joined: Mon Feb 06, 2006 6:12 am

Re: Announcing the Modern Distro!

Post by DevGIB »

No problems.
Just thinking along the lines of if there isn't likely to be any further work done to the "Classic" distro.
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

I think mostly bug fixes but there could be some minor feature additions.
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

I have added buff icon support to the Modern Distro. After some testing it seems to work. Currently it uses a special packet for displaying the icons. I will switch to the methods built-in to POL after I get buff icon support added to the spell scripts. For now circle 01 spells have this.
gh0sterZA
Neophyte Poster
Posts: 35
Joined: Thu Nov 19, 2015 11:36 am
Location: Cape Town

Re: Announcing the Modern Distro!

Post by gh0sterZA »

housing.inc refers to a missing buildlocs.cfg file.
Housing is listed as needing to be fixed to work with the new keys package, but also missing config file.

houseDeed.src

Code: Select all

  if(!CanBuildHere(who)&& !who.cmdlevel)
      SendSysMessage(who, "You are not authorized to build a house here.", color := 33);
      return 0;
  endif
/pkg/systems/housing/include/housing.inc:170:

Code: Select all

function CanBuildHere(who)

  var element, rect;
  var cfgfile := ReadConfigFile("::buildlocs");
  var entries := GetConfigStringKeys(cfgfile);
  foreach listing in entries
    element :=  cfgfile[listing];
    rect := element.rect;
    rect := SplitWords(rect);
    if((who.x >= CInt(rect[1])) && (who.x <= CInt(rect[3])) && (who.y >= CInt(rect[2])) && (who.y <= CInt(rect[4])))
      return 1;
      break;
    endif
  endforeach
  return 0;

endfunction 
Not sure if anyone else is playing round with the distro scripts, but it might be a good idea to clean out the "Distro bug reports" sub-forum and start fresh for the Modern Distro.
regards
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

Thank you for reporting this. I will look into it. The buildlocs file is a file that allows shard admins to define areas where multi houses can be placed. I am not sure what happened to the file:P

Good idea about the bugs forum. I have to check with Nando for approval. :)
gh0sterZA
Neophyte Poster
Posts: 35
Joined: Thu Nov 19, 2015 11:36 am
Location: Cape Town

Re: Announcing the Modern Distro!

Post by gh0sterZA »

Thanks Yukiko

still on the housing system.

houseDeed.src about line 140
I'm guessing you been testing with cmdlevel on your char.
CreateMultiAtLocation only has the flag for the cmdlevel char. With a "player" you cannot place the house as you get an invalid parameter type (expected Int, got Str)
Quickest solution is to add flags=0 in all the IF statements.

Code: Select all

CreateMultiAtLocation(x, y, z, housetype, 0, map)

Code: Select all

	var house;
	if( character.cmdlevel > 2)
		house := CreateMultiAtLocation(x, y, z, housetype, CRMULTI_IGNORE_ALL, map);
	else		
		house := CreateMultiAtLocation(x, y, z, housetype, map);
	endif
	if( !house)
		house :=CreateMultiAtLocation(x + 10, y, z, housetype, map);
	endif
	if( !house)
		house :=CreateMultiAtLocation(x, y+10, z, housetype, map);
	endif
	if( !house)
		house :=CreateMultiAtLocation(x - 10, y, z, housetype, map);
	endif
	if( !house)
		house :=CreateMultiAtLocation(x, y - 10, z, housetype, map);
	endif
	if( !house)
		house :=CreateMultiAtLocation(x + 10, y+10, z, housetype, map);
	endif
	if( !house)
		house :=CreateMultiAtLocation(x - 10, y - 10, z, housetype, map);
	endif
regards
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

Thank you. To be honest I never used the multi houses on my shard and so they never were properly tested. The Distro housing system is pretty much the one from my server :/

I will have a look at it.
Yukiko
Distro Developer
Posts: 2825
Joined: Thu Feb 02, 2006 1:41 pm
Location: San Antonio, Texas
Contact:

Re: Announcing the Modern Distro!

Post by Yukiko »

Just a couple of things:
I removed the check for "legal" placing of multis. I plan to put it back in later but it will have a setting in a settings file so shard devs can, if they so choose, enable restricted multi placement. I will do this as soon as I finish with the spell scripts rewtite/upgrade.

I also fixed the missing parameter for CreateMultiAtLocation function calls.

I apologize for the premature release of the Modern Distro. I should have looked at the spell scripts more closely before releasing it. The good news is that the Modern Distro is getting better. The upgrade allowed me to finally put in and debug the buff icon stuff and to debug the spell sound function.

I think I warned everyone that there would be bugs. :)

So check out the repository regularly. If you have a Github account I would recommend cloning the repo and checking for updates regularly. If you want to contribute to bug fixes feel free to submit pull requests or post bugs, and fixes if you have them, on the Distro bugs forum. I will try to get Nando to create a new bugs forum for the Modern Distro and to rename the current bugs forum to Classic Distro Bugs.
Post Reply