Jump to content
  • 0

[Request] Klownladge


Question

Posted

Well i have seen a lot guys like acis developer tryskel ( sorry mate if i write wrong ur name :/ ) elfocrash,mattew,wayne,masterio and other guys which they are so pro on l2j developing..

 

But before they come pro "devs" they were starters and that's i am curious what u did on this stage.

 

How you start?

 

What kind of books you study? ( java but what there so many versions  )

 

Which is the best java book i have to study for a starter?

 

What you did in order to understand how  l2j works?

 

Well i am noob i want to pass to the next level which is starter but i want to learn,so any usefull suggestion i ll appriciate it..

9 answers to this question

Recommended Posts

  • 0
Posted

First of all we start with some english lessons and after that we go learn some C++ basics and after that we must understand the packages from OFF and go learn some assembly and C and finally we start learning java, the internet is filled with tutorials, feel free to search for them.

  • 0
Posted

First of all we start with some english lessons and after that we go learn some C++ basics and after that we must understand the packages from OFF and go learn some assembly and C and finally we start learning java, the internet is filled with tutorials, feel free to search for them.

mate i think you are very offencive .. 

  • 0
Posted (edited)

You probably meant "knowledge", until you made a sarcasm about "devs" being clowns :P.

 

That's a good question so far. I'm a self-taught person, on everything I do. I learnt to draw alone, I learnt to use Photoshop alone. I learnt to code alone. I personally begun to code really young, on my 1986 Amstrad, which is as old as me. You don't need to be particulary awesome, in my own case, the search of perfection is important. I try to produce "the best" of myself. When you code something, you have to tell to yourself "Was it the best approach ? Couldn't I do better ?".

 

It's exactly the same than drawing. Your first draws - notably anatomy - will probably deeply suck if you begin. But if you manage to get a critic look on your own work, (and it means eating your ego and say "Ok, I drew it like a monkey") then you can say where are your defaults and fix them.

 

About L2J itself, and Java : I never opened a single Java book. I learnt Java learning L2J organization : reading a lot of codes. I personally moved on really important Java notions for months (inheritance, etc), but then when you DISCOVER them, one day, by yourself, you feel really, really clever. That's the sort of things you can learn in a book, but you won't remember, or really bad, if you won't work on it. What you guess by yourself is stored in your brain forever.

 

If you want to learn L2J, there aren't a lot of solutions : you have to see how it is organized. If I can tell you such method can be found in such class, it's because I know the project composition. I know a summon is a L2Playable, and then a player is a L2PcInstance inheritates from L2Playable : giving that you can say than editing L2Playable would edit both summons and players behavior. That sort of logic can't be learnt, you have to explore yourself the project.

 

About Java, and developement in general, if you want some basics steps, I would say :

  • Explore as much as you can the project you use. It's 80% of the work.
  • As a self-taught person, you only need time and observation. If you haven't time, forget it.
  • Google is your friend (mySQL query, java exception ? All exist already on inet). Javadoc is also a nice tool to explain what do methods. L2J itself got its own Javadoc.
  • What you want to do already exists in another form. Try to think where, then you only have to locate it and copy what you need.
  • A lot of methods exist and can spare you a lot of coding time. The point is to know where/what they are.

 

As a real rookie, I would tell you :

  • Read tutorials about compiling && installing. Install it more than one time until you know what you do.
  • See how files are organized (data AND source).
  • Search for short codes to pass on the source.
  • Understand what you are copy-pasting, and remember WHERE. It's VITAL.
  • Try to add new ideas to the code you just successfully added. Give you HARDER goals each time.

Once you think you can pass codes and edit them without problems :

  • Think about your own custom.
  • Cut it in steps. I invite you to use a pencil and a paper and write it. The point being to cut your custom in little blocks, easy to code, if possible not impacting each others.
  • Code steps after steps, until complete custom is ok.

Another interesting point, if you got already some knowledge about the pack is to check codes of others, and rewrite it from scratch. Either with only the idea, or cleaning the code you downloaded.

 

I hope my answer would help you. Finally, as aCis main dev, I help anyone who is ready to help my project, explaining concepts, but I invite you to pass already the rank of "real rookie" first, because some things can't be learnt the conventional way.

 

Your biggest enemies are TIME and YOURSELF.

 

Tk.

Edited by Tryskell
  • 0
Posted

you mean by dontating??

it's not dontating and he mean with coding offer his "knowledge" and much more so this message was not for you i think :)

  • 0
Posted (edited)

Tryskell thank you so much for the time you spend in order to give me that answer you have really oriented me " WHERE " i have to <start> and to pass the rookie level... ty so much that god bring you in this world :) i really appreciate your help :D thank you so much !!!! also this answer should be sticked really

Edited by andon19
  • 0
Posted

Afff, no god involved around. Eventually Gran Kain and Einheisad :P.

 

And others people can reply (Matim, Wyatt, Sethek,...). It also could be interesting to know what answers would make L2J team developers aswell, so feel free to make a similar post on their forums. I don't own the "Truth", only a part of it. What works with me can't work with many others. More answers are needed to make a choice, and follow the way you find the most legit.

 

-------------------

 

About the donating question, no, lol. I help people who are ready to code for my project. For example scripts folder (even if that exemple becomes more and more rare, as we almost ended scripts). People try to convert Jython > Java, they share on forums. People who already fixed scripts in the past speak about issues, the author corrects it until we judge there's nothing more to correct. Then I test, fix (if still needed) and commit. If commited and after few shares, people eventually join IC group and can see the final result, what I await on the next script, etc.

 

Some people who couldn't make a single script are now able to make scripts from A to Z and correct work of others.

 

But we also have a zone dedicated for Customers, if that was your question. But I don't give "private lesson" if you donate. If I give a solution, I prefer it stays on a public support.

  • 0
Posted (edited)

@Tryskell

I guess that my answer is not even interesting. Because I never had any java class/lesson/teacher or whatever... I never read a book of java...

I just started as all wannabes... trying to add patches... then sometimes getting errors... trying to know why those errors were happening, c/p some methods from l2jserver source and debugging to see what was going on there...

I was improving a little bit each time... and so. Well, I had an assignature of my career that was about creating a videogame with Flash that helped me to understand some basic structures of java, but not more.

Edited by ^Wyatt
  • 0
Guest Elfocrash
Posted

@Tryskell

I guess my answer is not even interesting. Because I never had any java class/lesson/teacher or whatever... I never read a book of java...

I just started as all wannabes... trying to add patches... then sometimes getting errors... trying to know why those errors were happening, c/p some methods from l2jserver source and debugging to see what was going on there..

Yeah pretty much same here. I never really opened a java book until some days ago when i started reading a book in general programming by Robert C. Martin - Clean Code, - A Handbook of Agile Software Craftsmansmith. 

Before i was able to code complex stuff i just read the l2j code, tried to do something similar to what i just read, then add a DB connection on it, then understand how stuff like taksmanagers and threadpoolmanager works etc. 

After that my uni came so i did some C# and later C++ Objective C and Oracle SQL. All of these just assisted on thinking as a programmer/developer but i never had pure java lessons. However i can tell you that Java is a really simple language that you can learn just by reading it.

 

Also you will find the F3 button in Eclipse magical as it will help you chain things a lot.

 

That's pretty much it from me. However it needs time and a really strong will as you might get dissapointed fast.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • cRazy??? If i just say good job its not even fair....
    • τι εκανες εκει παλι ρε τρελάρα; 🤣   welcome back mate, happy seeing you online again, well thats beyond l2 needs for sure and It’s rare to see anyone pushing Interlude this far technically anymore without trying to monetize it. definitely interested in seeing the source whenever you're ready to share it! keep it up!
    • your only choice brother cmon https://www.l2jsunrise.com/
    • Hello everyone  How are you all doing? I'd like to share with the community an open-source project I've been working on intensely: the **L2 Phantom AI Manager**. Tired of those static bots that just stand still in the city or sink into the map because of Geodata? Me too! That's why I developed a modular Phantom system with real Artificial Intelligence, initially designed for **L2J Mobius Essence (RoseVain)**, but which can be adapted to other chronicles. Main Features Modular architecture: the system is split into focused files such as PhantomAI, PhantomEngine, PhantomFactory, PhantomEquipment, PhantomHuntingSpots, PhantomGeo, PhantomMenu, and more. Automatic creation: create 10 or 50 phantoms from the menu or commands. XML persistence: automatically created phantoms are saved into PhantomPlayers.xml, so they keep loading after server restarts. Batch startup: .pstart and Start 10 load only 10 phantoms at a time. Batch disconnect: disconnect 10 active phantoms without shutting down the whole system. Origin towns: new phantoms spawn using PlayerTemplate.getCreationPoint(), respecting race and class. Geodata-safe spawning: spawn points use NPC-like coordinate validation to avoid under-map or floating characters. Real datapack spots: reads data/stats/npcs and data/spawns to build level-based hunting locations. Bad target filtering: ignores Training Dummy, tutorial objects, chests, and fake farm targets. Smart relocation: if a phantom cannot find useful mobs, it relocates to another spot for its level. Level goals: phantoms receive leveling goals, return to town, recover resources, and go back to farming. Mage MP rest mode: mages rest until MP is recovered; in PvP they try to escape when out of mana. Skills and buffs: phantoms try to use offensive skills and self buffs such as Might, Shield, Focus, Haste, Empower, Acumen, Wind Walk, Chant, Song, and Dance. Varied gear packs: gear packs by grade for mages and fighters, with multiple variants to avoid visual clones. Automatic shots: randomized Soulshot and Spiritshot restocking by class and grade. Inventory cleanup: unnecessary items are removed automatically while preserving Adena, shots, and equipped gear. PvP and PK behavior: some phantoms are aggressive, may become PK, and attacked phantoms try to defend themselves. Optional AI chat: optional Google Gemini integration for short social replies. TXT logs: the menu displays log state and can enable/disable logging. GM Menu Use .pmenu to open the control panel. Current options: Start 10 Disconnect 10 Create 10 Create 50 Reload XML Stop All Enable Log / Disable Log The menu also shows: active phantom count; XML ID count; current TXT log state. Commands .pmenu - opens the control panel. .pstart - starts 10 phantoms from XML. .pstop - removes all active phantoms. .pstop10 - disconnects 10 active phantoms. .pload - reloads PhantomPlayers.xml. .pcreate 10 - creates, starts, and saves 10 phantoms to XML. .pcreate 50 - creates, starts, and saves 50 phantoms to XML. .pm Name Message - sends a private message to a phantom. .pdebug - toggles TXT logging. Logs Logs are created in the GameServer log/ folder: log/PhantomManager.txt - global historical log. log/PhantomManager-yyyyMMdd-HHmmss.txt - separate log for each session. Useful logged events include: new level goals; travel to hunting spots; town rest; mob attacks; PvP defense; shot restocking; inventory cleanup; AI exceptions with stacktrace. Main Files PhantomManager.java - commands, logs, and bootstrap. PhantomEngine.java - start, stop, spawn, respawn, batches, and AI loop. PhantomAI.java - farm, PvP, PK, rest, targeting, and movement decisions. PhantomConfig.java - routes, gear, shots, and XML persistence. PhantomFactory.java - automatic character creation. PhantomEquipment.java - buffs, progression, shots, and inventory cleanup. PhantomHuntingSpots.java - real datapack NPC/spawn loader. PhantomGeo.java - geodata-safe coordinate handling. PhantomState.java - temporary phantom memory. PhantomMenu.java - GM HTML panel. PhantomBypass.java - menu button handling. PhantomChat.java - messages and optional Gemini integration. Copy custom/PhantomManager into: dist/game/data/scripts/custom/PhantomManager/ Place PhantomPlayers.xml in: game/config/Custom/PhantomPlayers.xml Compile scripts or restart the GameServer. Use .pmenu to create, start, and manage phantoms. https://github.com/miacodeweb/L2-Phantom-AI
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..