Jump to content

Recommended Posts

Posted (edited)

What is this?
 
This is an open source project for Interlude written in C#.
What i wanna do with this is to eventually get it to the same level of aCis feature wise while using the latest technologies
and getting the performance benefits of the latest C# version and .NET Framework 4.6.
 
The project won't be usable for a while but feel free to do your own pull requests and give me a hand on this one.
 

Progress
 

  • Downgrade most of the packets to C6
  • Implement basic known object functionality
  • Refactor the code for the crappy java-like structure to proper C#
  • Refactor LoginService to use the new Packet structure
  • Creating loading and saving players
  • Creating loading and saving items
  • Refactor GameService to use the new Packet structure
  • Rework the movement alorithm

 

 

"Cmon Elfo, you gonna abandon this in 1 week"
 
Well no and there is a reason for this. The reason why i abandoned the other project is because
firstly, it was java and my career is c# based and secondly that I did not work on Interlude.
I did wanna work on IL. With this one i am still doing interlude and i am coding in the framework i enjoy.
If i abandon this then it means i hate what i am doing (which i am not).
 
Website link:
http://elfocrash.github.io/L2dotNET
 
Github link:
https://github.com/Elfocrash/L2dotNET
 
Current stage
 
Working on movement related stuff.
 
License
 
L2dotNET is under the Mozilla Public License, version 2.0.
 
A full version of it can be found here: https://github.com/Elfocrash/L2dotNET/blob/master/LICENSE
 
A TL;DR version is here:
f73ee971f1.png

Edited by .Elfocrash
  • Like 1
  • Upvote 4
Posted

Good luck with that, but indeed, most of people will think/say  :dat:

 

"Cmon Elfo, you gonna abandon this in 1 week"

 

Prove them wrong.

Posted

Good luck with that, but indeed, most of people will think/say  :dat:

Prove them wrong.

I know that's why i said it myself.

 

Really curious to see how this goes and too much to do as it was based on .net 3.5 and now i upgraded to 4.6.

Some really cool stuff to be done.

 

BTW guys i won't make a forum and shit. I wouldn't even make this post tbh but just in case someone likes C# and l2 and wants to combine them he can give me a hand

cuz thats the case for me.

Posted

Maybe remove 'Lineage' word from git readme, they may take you down :D

Yeah i removed it from the short desc, forgot the other one.

 

However if you see they only targeted l2j projects.

I did have another C# l2 project when i was testing networking with C# and they did not take it down.

Anyway yeah good idea.

Posted

May I ask why are you using C#?

Sure.

 

I am a professional ASP.NET MVC/Webforms/Web API developer in my everyday life and i am working in an environment surrounded by many senior people in the industry.

I do use the language, framework and patterns in my everyday life and i have a good code base to get examples for this project too.

 

If you want me to compare it to java, i won't do it just because there is no point even though there are advantages (and disadvantages)

 

I think people should work with whatever they are familiar with and with whatever they feel comfortable coding on.

Posted

Did you even notice that maybe, if you want to proceed with it, you might consider going back to square one ?

 

Maybe keep networking, and a few shit, but the coding style / execuration / ... is plain shit, and it lacks like ... 80% of proper logic ?

 

When you notice all that I don't you doing anything else but drop, specially if you stay alone.

 

Maybe not a week, but a month ?

Posted

Did you even notice that maybe, if you want to proceed with it, you might consider going back to square one ?

 

Maybe keep networking, and a few shit, but the coding style / execuration / ... is plain shit, and it lacks like ... 80% of proper logic ?

 

When you notice all that I don't you doing anything else but drop, specially if you stay alone.

 

Maybe not a week, but a month ?

Mate the whole thing will be reworked anyway. There are tables referenced in the code that are not even in the database structure.

The code will be totally reworked eventually but i do need the networking bit. The code for the rest will be dropped and reworked piece by piece.

And yeah the coding style is pure shit. That's what i mentioned in my short description.

 

That we start from here cuz i found someone semi working and we get somewhere.

 

For example with aCis as guidance the project will eventually use the exact same database structure.

For now i have to change all the freya packets to IL up until the point that nothing really breaks and then steadily add tests and features, while scrapping the old code.

 

Is it a challenge? Yeah ofc it is but i am at a point that if there is no challenge i get bored and stop developing like i did with other projects.

This thing however spawns a whole new concept that that's why i don't abandon it.

 

It might never see a live server based on it and i am ok with it, but i hope to get it at a point that someone might consider it.

Posted

I would not use any base, but start over.

That would let me set standard on my own, no shit no protocol downgrade issues and stuff to deal with

I do not have to reinvent the wheel. There is not much other than basic functionality anyway and there are packets missing and extra ones.

 

I would start over and that's what i was doing but i found this and i got it to a point where is it reworkable and i will stick with it.

Posted

I doubt it's a good move, there are no c# community, no shares, and for the moment, no projects to refer about.

 

I agree than fixing can be longer than simply rewrite, but it's not that much longer, and you have to rewrite absolutely everything. I hope you're as motivated as I was for scripts.

 

As said UnAfraid, if you don't edit the whole organization it will be simply a L2J copy written in C#, which offers no benefits compared to mother project. And all your time will be dedicated to move from one technology to another.

 

Anyway, gl.

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.




  • Posts

    • You always find a way to lower the bar. Consistency matters. I admire your dedication to being completely unaware of how little you matter.     at least you are not entirely useless you can always serve as a bad example
    • hahahahahahahahahahahaha this says more about MaxCheaters than about me xD
    • I already finished my panel for change name and gender, anyway need restart, im used schema  $stmt = $conn->prepare("EXEC lin_ChangeCharacterName2 ?, ?, ?"); for change name... also for change gender i used if ($race == 5) // Kamael race ID; modify this value as per your database { $error = "Gender change is not allowed for Kamael race characters."; } else { $stmt = $conn->prepare(" UPDATE user_data SET gender = ?, face_index = 0, hair_shape_index = 0, hair_color_index = 0 WHERE char_id = ? AND account_name = ? "); Sorry no idea how to add cached update in myext64 about, not have any  solution for this yet compatible to myext64 code. This is my panel make in php http://177.73.143.43:8080/account/ Cool panel for me, without experience in any code. Without help from any people here 🙄
    • Don't listen to that idiot @Nightw0lf — he doesn't know or understand anything... he just talks nonsense. Here's the solution, just to prove that they're the useless ones giving you meaningless and useless answers.   function disableCharacter($charId){ $buf = pack("cVV", 0x14, $charId, 1); return $this->Send($buf); } function enableCharacter($charId, $accountId){ $buf = pack("cVV", 0x15, $charId, $accountId); return $this->Send($buf); } function kickCharacter($charId) { $buf = pack("cV", 0x05, $charId); $tmp = $this->Send($buf); sleep(2); return $tmp; } //-------------------------------------------------------------------------------- if ($func==7)//DESHABILITAR PERSONAJE { $char_id = $var1; $CACHED->kickCharacter($char_id); $respuesta = $CACHED->disableCharacter($char_id); RegistrarActividad("disableCharacter",$respuesta,GetCharNameByCharId($char_id)."(".$char_id.")",0,0,0,0); } else if ($func==8)//HABILITAR PERSONAJE { $char_id = $var1; $account_id = $var2; $CACHED->kickCharacter($char_id); $respuesta = $CACHED->enableCharacter($char_id,$account_id); RegistrarActividad("enableCharacter",$respuesta,GetCharNameByCharId($char_id)."(".$char_id.")",$account_id,0,0,0); } //-------------------------------------------------------------------------------- $CACHED->disableCharacter($char_id); $tabla = sqlsrv_query($conexion_lin2world, "UPDATE user_data SET xxxxxxxxxxxx WHERE char_id=".$char_id.""); $CACHED->enableCharacter($char_id,$account_id); Now just compare the stupidity said by that imbecile @Nightw0lf with the answer I gave you... Thanks to people like this, MaxCheaters is in the state it's in... They keep following useless people who are good for nothing 😉  
    • A new template is available: Mystical-World - Responsive HTML Template    
  • Topics

×
×
  • 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