Jump to content

Recommended Posts

Posted (edited)
2 hours ago, Elfocrash said:

Sorry for that. I thought you were on GitHub. 

 

 

Now i am worried, according to me, in the README.md file I am clear, so if you thought that, other people can think the same (sad face)

 

ea.thumb.png.2b60d2962c6565381e10f931ec889ac1.png

 

@Rootware Cause i took the "version 1" (public) and i did not use L2jFrozen 2.0 (private)... So i made my own path and in honor to the public version i called my project L2jFrozen 1.5, simple.

Edited by Dragic
Posted
2 hours ago, xFranky said:

Whoever wants to participate and help out please send me a PM. If not, I will simply abandon this idea

You should start and eventually people will join you

  • Upvote 1
Posted (edited)

Hi @xFranky,

 

You need someone like @Tryskell (or himself) to have a good understanding of the project and not to rush on committing 2 lines suggested by a random guy. Everything has to be organized in order to success. If you don't control the changes/commits, the project will end up like any other L2J fork from 2009 when everyone was having one. You really need to think it thru when doing a commit

  • what is it fixing
  • what else may that affect
  • how can you improve it
  • how can you make sure you're following a coding style
  • and testing it in every possible way

Adding customs is definitely easier. But how will this project of yours save the community?

Server owners can pay several (if not one) developers to code whatever he/she wants.

Perhaps it will only help the community if server owners would be more open minded and cooperative.

 

I'm reading every single new reply on aCis forums weekly. I'm not opening a server, but I'm very attached to the project. I'm occasionally helping people (so called "L2 buddies") with their servers, for free.

 

If I were you, I'd make a separated project, self-styled "engine" with listeners, like we/I used to be working on aCis, thanks to Seth that opened my eyes many years ago.

If you do this, you'll have one file for each feature/custom. I will c/p one example below for you.

You and your developers that wanna join you will be more satisfied with this.

Maybe you can join an existing community, such as aCis with your engine -separated categories on the forum. Try to talk to @Tryskell, @Sido and @SweeTs about it.

 

# True or false.
OlympiadSkillsSystem = False

# Skill level set to 0 will auto select max skill level.
# [classId: = skillId-skillLv];
OlympiadSkills = [101:92: = 7100-1];
public class OlympiadSkills implements EventListener
{
	private static final Logger LOG = Logger.getLogger(OlympiadSkills.class.getName());
	
	protected static final HashMap<Integer, L2Skill[]> olympiadSkills = new HashMap<>();
	
	public OlympiadSkills()
	{
		CorvusConfig config = Corax.config();
		
		String data = config.getProperty("OlympiadSkills", "");
		String[] dataHash = data.split(";");
		for (String data2 : dataHash)
		{
			String[] skillIds = data2.split("=")[1].split(",");
			L2Skill[] leIds = new L2Skill[skillIds.length];
			SkillTable table = SkillTable.getInstance();
			for (int i = 0; i < skillIds.length; i++)
			{
				String[] defs = skillIds[i].split("-");
				String skillIdValue = defs[0].replaceAll("[^\\p{L}\\p{N}]", "");
				String skillLevelValue = defs[1].replaceAll("[^\\p{L}\\p{N}]", "");
				
				int skillId = Integer.parseInt(skillIdValue);
				int level = Integer.parseInt(skillLevelValue);
				boolean max = level <= 0;
				L2Skill skill = table.getInfo(skillId, max ? table.getMaxLevel(skillId) : level);
				
				if (skill != null)
					leIds[i] = skill;
				else
					LOG.warning(getClass().getSimpleName() + ": Failed loading skill: " + skillId + " level: " + (max ? table.getMaxLevel(skillId) : level) + ". Skill dose not exist!");
			}
			
			String[] dataHash2 = data2.split("=")[0].split(":");
			for (int i = 0; i < dataHash2.length; i++)
			{
				String classIdValue = dataHash2[i].replaceAll("[^\\p{L}\\p{N}]", "");
				int classId = -1;
				if (classIdValue.isEmpty())
					continue;
				
				try
				{
					classId = Integer.parseInt(classIdValue);
					olympiadSkills.put(classId, leIds);
				}
				catch (Exception e)
				{
					e.printStackTrace();
				}
			}
		}
		
		LOG.info(getClass().getSimpleName() + ": Loaded " + olympiadSkills.size() + " balance entry(s).");
	}
	
	@Override
	public void listen(Event event, Object... params)
	{
		switch (event.eventId)
		{
			case EventKeys.Olympiad.portPlayerToArena:
			{
				Player player = (Player) params[0];
				
				L2Skill[] skills = olympiadSkills.get(player.getClassId().getId());
				if (skills != null)
				{
					for (L2Skill skill : skills)
						player.addSkill(skill, false);
				}
				else
					LOG.warning(getClass().getSimpleName() + ": Missing skill for classId: " + player.getClassId().getId());
				
				break;
			}
			case EventKeys.Olympiad.portPlayerBack:
			case EventKeys.Cleanup:
			{
				Player player = (Player) params[0];
				
				L2Skill[] skills = olympiadSkills.get(player.getClassId().getId());
				if (skills != null)
				{
					for (L2Skill skill : skills)
						player.removeSkill(skill.getId(), true);
				}
				
				break;
			}
		}
	}
}

 

Edited by Trance
  • Like 1
  • Upvote 1
Posted (edited)

Well aside from what the OP suggests we could combine our resources and open a multiversion server. If im not mistaken L2jserver and others were working on a universal login. Just get a bunch of people to develop their servers and put everything under one roof. Im sure if 20 people contribute a few eu/usd we could rent a hude dedicated server and offer cool servers without donations for everyone to enjoy. That i think is the only way to revive this community.

Edited by Porthos
Posted (edited)
10 hours ago, Porthos said:

Well aside from what the OP suggests we could combine our resources and open a multiversion server. If im not mistaken L2jserver and others were working on a universal login. Just get a bunch of people to develop their servers and put everything under one roof. Im sure if 20 people contribute a few eu/usd we could rent a hude dedicated server and offer cool servers without donations for everyone to enjoy. That i think is the only way to revive this community.

 

There's a whole world between multiversion login and multiversion server.

 

"Just get a bunch of people"... Do you know how much ppl already contributed to L2J, and you still got that feeling nothing is working correctly ?

 

Until you're a real life project manager, and got illimited human ressources, simply forget the idea. It took me 9y to put aCis where it is (bad tongues could say I didn't work for almost 3 full years, but bad tongues are unable to assure project management for as long time), and I don't even count all people who contributed.

 

So a MULTIVERSION server ? With all checks, races which are/aren't here, features to desactivate/activate, scripts rewards rates/differences/full rework on GoD ? Lol. Gl with that.

 

I don't even count human ego in the story. Who will be the leader of such thing ? And who seriously will accept it ?

Edited by Tryskell
Posted (edited)

 

13 hours ago, Porthos said:

Well aside from what the OP suggests we could combine our resources and open a multiversion server. If im not mistaken L2jserver and others were working on a universal login. Just get a bunch of people to develop their servers and put everything under one roof. Im sure if 20 people contribute a few eu/usd we could rent a hude dedicated server and offer cool servers without donations for everyone to enjoy. That i think is the only way to revive this community.

 

To ask that, you do not comprehend the changes that make each version different.

The changes between different versions are beyond idiotic level. (I call that NC level)

Take it from someone that supports 20 different branches and counting.

 

The only thing you can achive by something like that,

is make your server extensively use resources for no reason.

 

The best solution for this:

- Multiple simultaneous projects on same Eclipse environment.

- SVN for simultaneous commits and easy branch comparison using Eclipse.

- Keep code compatible between different versions.

 

See how same changes are committed between different versions

Note that C1 and C6 rarely share the same changes with the rest versions.
https://bitbucket.org/MobiusDev/l2j_mobius/src/master/

 

Edited by Mobius
Posted
36 minutes ago, Porthos said:

Cant we alternatively just have a single login server and everyone would connect their servers to it?

Something like that.

No, each project have his own rules about Loginserver <-> gameserver.
It could be possible only if every pack adopt standard methodology

Posted

Thank each and everyone for their support, but I believe, it was a waste of time to ask people who would want to contribute in such a thing. Only a few people have responded positively, but I haven't seen anything. I will most likely start something by myself and let others just contribute, if they want, whenever they want, as I will be sharing my links to everyone.

 

The way how I will make this is, I will come to the community to ask what features they would like to see, then I will be starting it myself, and when I feel is in an "okish" standard to be released, I will share the link to the public. If anyone has to suggest any correction, this will be welcomed on my GitHub Repositories, as for each feature I will be starting to work on, it will have its own repository.

Posted
On 1/22/2020 at 12:53 PM, Tryskell said:

(bad tongues could say I didn't work for almost 3 full years,...

 

Bad tongues say you can't answer properly on fb.

  

On 1/15/2020 at 10:42 PM, Reynald0 said:

Even if is not about money, how will you pay to L2jaCis, webserver (if you will use), domain (if you will use), server to host your test server (if you will use).

 

Nowdays, if you are above 15yo, those are very cheap to cover.

 

On 1/22/2020 at 1:01 AM, Trance said:

Hi  @Sido!

 

Sup @Trance !

 

On 1/23/2020 at 2:36 AM, xFranky said:

Thank each and everyone for their support,....  anyone ... will be welcomed...

 

Web related, if you need my help, let me know :)

  • Like 1
Posted
3 hours ago, Trance said:

@xFranky, and yet, you haven't answered my reply.

Hello @Trance. I am sorry about that. Silly me!

 

On 1/21/2020 at 11:01 PM, Trance said:

Hi @xFranky,

 

You need someone like @Tryskell (or himself) to have a good understanding of the project and not to rush on committing 2 lines suggested by a random guy. Everything has to be organized in order to success. If you don't control the changes/commits, the project will end up like any other L2J fork from 2009 when everyone was having one. You really need to think it thru when doing a commit

  • what is it fixing
  • what else may that affect
  • how can you improve it
  • how can you make sure you're following a coding style
  • and testing it in every possible way

Adding customs is definitely easier. But how will this project of yours save the community?

Server owners can pay several (if not one) developers to code whatever he/she wants.

Perhaps it will only help the community if server owners would be more open minded and cooperative.

 

I'm reading every single new reply on aCis forums weekly. I'm not opening a server, but I'm very attached to the project. I'm occasionally helping people (so called "L2 buddies") with their servers, for free.

 

If I were you, I'd make a separated project, self-styled "engine" with listeners, like we/I used to be working on aCis, thanks to Seth that opened my eyes many years ago.

If you do this, you'll have one file for each feature/custom. I will c/p one example below for you.

You and your developers that wanna join you will be more satisfied with this.

Maybe you can join an existing community, such as aCis with your engine -separated categories on the forum. Try to talk to @Tryskell, @Sido and @SweeTs about it.

 

Initially, my project concept or idea was not to create a derival of aCis, but about a group of multiple but separated from one another, up-to-date and available features, which aims people that are looking for a particular feature. The advantages were to reduce the developer's time on looking for the features that are hard to be found either on MxC or Google, and they will not be out-of-date


Part of this idea for the features was to be based on aCis for creating and building up those features, and make them available for multiple L2J packs that enables an easier adaptation of the code. In order to achieve this was to make use of GitHub. GitHub has a great engine for keeping a track of all the commits and, which allows me to either approve or amend commits as I see necessary. Additionally, everyone could contribute, without been told for what to do, when they are suitable and find free time. Therefore, I will have a total control about what is going on with the repositories, where any developer at any given point of time, can see all the commits and why they are made, in order to go ahead and update their code.


The idea of "saving the community" was because I remember myself when I started l2 developing, while I had no knowledge of coding. I was able to search the forum to find what I was looking for and simply figure out how to make simple changes without harming anything else. The majority of the code was available to the public, and it gave me the opportunity of learning code. Nowadays, this has been reduced, and in order to get a feature, as simple as a PvP and PK colour (I just gave an example to justify what I mean as simple code) you have to pay someone between 20€ to 100€, even though it is just 20 max lines of code. I just wanted to encourage developers to be more open minded, and give away simple things, since they could earn the trust of the community, create a good reputation, potentially increase of their customers, improve their code and coding style as they will be getting suggestions of how they could improve in the future and helping the L2 development community to grow up again. This can give them a nice feeling for contributing and helping hundreds of people.


When it comes to the engine which you mention, which is a great example, is easy and possible to be done. I just needed ideas and motivation, which are gone since a few days ago 
for something that have happened to me, so I am waiting them to come back and recover. I might have to take some time off from coding and drink a lot of Vodka. Idk. 


Nevertheless, I could just start by myself and if anyone wanted to commit, they would be more than welcome including yourself. However, there is an issue which I learned recently. We are not allowed to have any aCis source code and pack shared on MxC, after the request of @Tryskell to Maxtor, which forces me to respect his decision, therefore this idea with the GitHub is not possible, since I have to share the link of the repository, in order for the whole idea to work. I could alternatively have diff files available but the whole concept would be corrupted. If I had the "Ok" from either @Tryskell, @SweeTs or @Sido to share a link of their source files to the public, with the promise of keeping all the repositories up-to-date with the latest free available sources, this concept can revive again! However, it is unlikely to happen and therefore I might just discontinue this idea.


Anyway, I like your idea and I will keep it in mind along with the advices you have given me on your post. I am thankful for that and for the time you have spent.

Posted (edited)
46 minutes ago, xFranky said:

Nevertheless, I could just start by myself and if anyone wanted to commit, they would be more than welcome including yourself. However, there is an issue which I learned recently. We are not allowed to have any aCis source code and pack shared on MxC, after the request of @Tryskell to Maxtor, which forces me to respect his decision, therefore this idea with the GitHub is not possible, since I have to share the link of the repository, in order for the whole idea to work. I could alternatively have diff files available but the whole concept would be corrupted. If I had the "Ok" from either @Tryskell, @SweeTs or @Sido to share a link of their source files to the public, with the promise of keeping all the repositories up-to-date with the latest free available sources, this concept can revive again! However, it is unlikely to happen and therefore I might just discontinue this idea.

 

@xFranky You can use L2jFrozen 1.5, we have kind of engine letting you integrate customs without modifying too much the main project (L2jFrozen 1.5).

You can create a script to download the last commit made in my SVN repository every 5 minutes and upload to your repository at the same time. So you can become a L2jFrozen 1.5  mirror with your work or work from others.

I only ask you to put in your README.md the link of the real repository in SourceForge.

Edited by Reynald0
  • Upvote 1
Posted (edited)
14 hours ago, xFranky said:

The idea of "saving the community" was because I remember myself when I started l2 developing, while I had no knowledge of coding. I was able to search the forum to find what I was looking for and simply figure out how to make simple changes without harming anything else. The majority of the code was available to the public, and it gave me the opportunity of learning code. Nowadays, this has been reduced, and in order to get a feature, as simple as a PvP and PK colour (I just gave an example to justify what I mean as simple code) you have to pay someone between 20€ to 100€, even though it is just 20 max lines of code. I just wanted to encourage developers to be more open minded, and give away simple things, since they could earn the trust of the community, create a good reputation, potentially increase of their customers, improve their code and coding style as they will be getting suggestions of how they could improve in the future and helping the L2 development community to grow up again. This can give them a nice feeling for contributing and helping hundreds of people.

 

That may be a bit off-topic but I request that you reconsider your choice. The problem is actually those dozens of private servers being around. Those greedy of admins have already drained enough of free material for more than a decade now, especially from l2j community, and the majority of them still failed to develop a decent project. This proves 'that majority' consists of immature and irresponsible people nowadays. Private servers have to be reduced and only those worth of managing such projects should start one.

 

If you wish to start something, don't let it be for free or it's gonna be wasted.

Edited by DnR

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...