Jump to content

Elfo

Legendary Member
  • Posts

    2,009
  • Credits

  • Joined

  • Last visited

  • Days Won

    51
  • Feedback

    0%

Everything posted by Elfo

  1. See, I think this is NOT how to explain that. You basically tell him "go google that" which is not what im talking about. It is also wrong as the foreign key can be both null and duplicated in several cases. I know in this case it's not but acis doesn't use foreign keys anyway because they don't know anything about SQL other than tables and primary keys. I would give his a table creation script and explain why I'm making it this way.
  2. Well, compared to you, I have actually went out of my way to give suggestions to people about how to make their code better and I have actually refactored shares as well. @melron can attest to that and so can @Kara` when he was asking for code improvement over skype about an event engine he was making. What I'm saying is that there is a difference to: This is shit This is shit because _____ and you can make it better by _____
  3. You didn't help him to improve his own code though. You just bashed him and moved on to do something for yourself. Good for you but we, quite frankly, don't give a fuck. We care about the thumbprint you left in the forum, and what you self it just trashtalking. Help. Either with polite suggestions, code snippets or even the fixed code itself, while explaining why you did what. You don't wanna do that? They move on with your day and don't reply at all. It's simple as that.
  4. Yeah I'm very sure they won't if the question is well constructed. They don't have problem with stupid questions. They have problem with badly formed/expressed questions.
  5. StackOverflow fixed this same problem with it's code of conduct update and it was recognised as a problem for many years. Try to post like this now and you (the serious dev that's not polite) will be perma banned in a matter of minutes. They changed their "Be nice" policy which they had since 2013 to an even more stict policy to make people be polite and constructive. https://meta.stackexchange.com/conduct "Famous" stackoverflow guys will not bash you, but be constructive. I've never seen Jon Skeet bashing. People that have been bashed, and then learned how to develop, are the ones that will bash in return because they were bullied for "not being good" (like you have been in the past). So yes, you are talking pure shit, and I feel bad for you because you think that way.
  6. I never said, don't share trash code. I said, only reply with constructive feedback on what's wrong and how to fix it. At the end of the day, it's not you that's gonna add this code in your pack, and also, if their server goes to shit, it is not my business nor it is yours.
  7. I'll go straight to the point. It's very clear that the sharing boards are not a welcoming place. People are scared to share because they are afraid that they will be judged too harshly. People like xdem, me and many others sometimes, just shred these people into pieces over 100 lines of code. It's not cool and it's not fun. If that was the case back in the day when I was starting, i would have been probably bullied out of a career that I really enjoy. Comments like this are unnecessary, toxic and they help no one: https://maxcheaters.com/topic/223139-mini-trivia-engine/?do=findComment&comment=2684798 Comments like this breed discussions that make people learn how to do things better: https://maxcheaters.com/topic/223520-polymorph-monsters-after-death-spawn-new/?do=findComment&comment=2688607 I think that comments along the lines of "This is trash, go fuck yourself", "WOW this is terrible", "You don't even know how to write code" should NOT be allowed at all, and people should be penalised for saying them. If you think that something is wrong with the shared code then, IN A POLITE MANNER, you should write in detail what should change, why it should change and how it should be or even provide a solution. (Also things like what Kara does where he pops out of the blue to say something stupid and ignite an offtopic discussion should also not be allowed but that's a different story) What we really need is a Code of Conduct like the one stack overflow has to point users on how to help others. Let's fix this mess, shall we? People should not be afraid to share.
  8. Hello everyone As the title implies I'm selling the source code for https://maxcheaters.com/topic/222457-l2j-l2-battle-royale/ The project ran for a week without any technical problems but failed as expected due to low demand. I did get many messages during and after the development to sell it but I rejected them. I now feel comfortable to sell it. Just a disclaimer. The pack is a stripped out version of a gameserver and it contains no functionality other than the game engine and the relevant features. Everything else has been removed to enhance performance. The only reason you might wanna buy this pack is to extract it's features and use them for your own server. What's in the pack? The Tesla event engine The Tesla event engine was made to be a modular and easy to work with event engine to house the battle royale gameplay. However, it is not a battle royale specific engine and it is a general purpose event engine that you can use for any type of event. The engine is designed to work with a queue system which full-fills a supply and demand relationship between users and events. If there are enough users that wanna play the event then they can. It supports multiple queues and multiple team size types like solo, duo or squads where people make parties in order to play together. It is insanely easy to create a game and add a queue for it. Each game is fully instanced which makes maps reusable. The GMs have a special control panel to teleport to those instances and see the games. The games themselves are made with the idea of game stages in mind. Each game consists of at least 4 game stages. TeleportIntoLobbyStage StartGameStage n number of other stages here GameEndStage All you need to do to create a new event is to extend a class and write some minimum code. Then just add the logic you want in the stages themselves. That way you keep your Game classes lean and you have isolated reusable logic. Here is what the 10-man Duo event class looks like for L2BattleRoyale package net.sf.l2j.battleroyale.games; import net.sf.l2j.battleroyale.GameCircle; import net.sf.l2j.battleroyale.GameType; import net.sf.l2j.battleroyale.GameUtils; import net.sf.l2j.battleroyale.annotations.GameInfo; import net.sf.l2j.battleroyale.gamestages.CircleStage; import net.sf.l2j.battleroyale.gamestages.GameEndStage; import net.sf.l2j.battleroyale.gamestages.StartGameStage; import net.sf.l2j.battleroyale.gamestages.TeleportIntoLobbyStage; import net.sf.l2j.gameserver.model.location.Location; import static net.sf.l2j.battleroyale.GameUtils.getCircleInsideCircle; @GameInfo(gameName = "10-Man Duo", codeName = "tenmanduo", mapName = "Gludio Town", minimumPlayers = 4, maximumPlayers = 10, teamSize = 2, gameType = GameType.Duo) public class BattleRoyaleTenManDuo extends TeamGame { public BattleRoyaleTenManDuo() { super(); Location center = new Location(-14225, 123540, -3121); GameCircle firstBlue = new GameCircle(3000, center); GameCircle firstWhite = getCircleInsideCircle(firstBlue, 2000); GameCircle secondWhite = getCircleInsideCircle(firstWhite, 1500); GameCircle thirdWhite = getCircleInsideCircle(secondWhite, 1000); GameCircle fourthWhite = getCircleInsideCircle(thirdWhite, 200); GameCircle fifthWhite = getCircleInsideCircle(fourthWhite, 10); super.addStage(new TeleportIntoLobbyStage(this, 15)); super.addStage(new StartGameStage(this, 10)); super.addStage(new CircleStage(this, 120, firstBlue, firstWhite, 2, 2)); super.addStage(new CircleStage(this, 90, firstWhite, secondWhite, 3, 3)); super.addStage(new CircleStage(this, 90, secondWhite, thirdWhite, 4,4)); super.addStage(new CircleStage(this, 60, thirdWhite, fourthWhite, 6, 5)); super.addStage(new CircleStage(this, 60, fourthWhite, fifthWhite, 8, 6)); super.addStage(new GameEndStage(this, 10)); } @Override public int getAdenaPerKill() { return 110; } @Override protected int getAdenaOnWin() { return 200; } } As you can see, it's pretty clean, to the point where it could be extracted to an XML file pointing to the staging classes (but i didn't have the time to implement that). The game stages themselves have only 3 methods you need to implement. onStart - is called when the stage starts onUpdate - is called every second you are in this stage onTeardown - is called when the stage ends The dressing room engine The dressing room is your typical dress me system. It's on the community board and it supports buying and dressing up from the community board itself. The skins are dynamically sorted into categories which you specify and it also has dynamic pagination to make navigation easy. Here is what the skins.xml looks like. <skin itemId="8557" adena="25000" rarity="Accessory"/> <skin itemId="8558" adena="25000" rarity="Accessory"/> <skin itemId="8560" adena="25000" rarity="Accessory"/> <skin itemId="8561" adena="25000" rarity="Accessory"/> <skin itemId="8562" adena="25000" rarity="Accessory"/> <skin itemId="8563" adena="25000" rarity="Accessory"/> The title engine The title engine is another community board feature. It basically awards titles when a requirement is met. Here is what the titles.xml file looks like. <title id="28" text="The Dragonborn" description="Own the Draconic Set." color="F63C00" requirementChecker="ownDraconicSet" category="Skins" order="28"/> <title id="29" text="The Imperial" description="Own the Imperial Set." color="FFED58" requirementChecker="ownImperialSet" category="Skins" order="29"/> <title id="30" text="The Arcane" description="Own the Major Arcana Set." color="FFFAD3" requirementChecker="ownArcanaSet" category="Skins" order="30"/> <title id="31" text="Classy" description="Own the Formal Wear." color="86A49E" requirementChecker="ownFormalWear" category="Skins" order="31"/> The requirementChecker value is pointing to a method which is implemented with the logic that checks this specific requirement. Other minor features include Microbalance engine Season system Properly working API based individual vote reward More info for the server can be found on the server's topic. We can talk about the price in private. A server to test anything you need will be provided on demand.
  9. I don't know how you've implemented the API so I can only assume that you know better, but there are various ways to work around it either with a more obf friendly design or an exclusion white-list.
  10. I still don't get why lucera doesn't obfuscate the code (at least method names etc)
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock