Jump to content
  • 0

How to reset Olympiad info instantly


Question

Posted (edited)

Hello! I have a custom feature to change a player's base class. So in order to not mess the olympiad, when a player changes his baseclass, a statement is executed to reset his fights/points.

The db is updated correctly, but back in game, if I restart the char and use /olympiadstat, I still have the old points/fights.

 

I saw in other servers that this info is updated instantly. 

How can I do it instantly too?

atm this is what Im running: 

 

          // Reset olympiad data for this player.

            statement = con.prepareStatement("UPDATE olympiad_nobles SET class_id=?, olympiad_points=?, competitions_done=?, competitions_won=?, competitions_lost=?, competitions_drawn=? WHERE char_Id=?");                        
            statement.setInt(1, player.getClassId().getId());
            statement.setInt(2, 18);
            statement.setInt(3, 0);
            statement.setInt(4, 0);
            statement.setInt(5, 0);
            statement.setInt(6, 0);
            statement.setInt(7, player.getObjectId());
            statement.execute();
            statement.close();

 

Any help is welcome!

Edited by tiguz

5 answers to this question

Recommended Posts

  • 0
Posted (edited)

Its because you are changing only the database and that means your new stats will be applied  only after the server restart.

In order to change it instantly you have to do some changes where the player stats are stored about olympiad.

example 

private static final Map<Integer, StatsSet> _nobles = new HashMap<>();
private static final Map<Integer, Integer> _noblesRank = new HashMap<>();

these maps (Olympiad.java) contains infos about players. you should check there if the player is inside and change/add the values

Edited by melron
  • 0
Posted
21 minutes ago, melron said:

Its because you are changing only the database and that means your new stats will be applied  only after the server restart.

In order to change it instantly you have to do some changes where the player stats are stored about olympiad.

example 


private static final Map<Integer, Integer> _noblesRank = new HashMap<>();

this map (Olympiad.java) contains infos about players. you should check there if the player is inside and change/add the values

thx for the reply Melron. but im not sure if I understood what you mean. Can you be more detailed pls?

  • 0
Posted

He can't be more detailed. You have to clear record for that specific player. If you still don't get then, for example _nobles.remove(player.getObjectId());

  • 0
Posted
2 hours ago, tiguz said:

thx for the reply Melron. but im not sure if I understood what you mean. Can you be more detailed pls?

public void removeInfo(final L2PcInstance activeChar)
{
   _noblesRank.remove(activeChar.getObjectId());
}

I can analyze it more if you want.

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

    • afto to post tha mporouse na einai kai i apopira apo kapio neo idos LLM pou thelei na kanei self training
    • Μάγκες καλησπέρα,   Παίζω Lineage 2 εδώ και χρόνια και πήρα απόφαση ότι θέλω επιτέλους να μάθω πώς δουλεύουν τα πράγματα πίσω από τις κάμερες. Δεν ψάχνομαι ούτε να ανοίξω τον επόμενο μεγάλο x5000 server ούτε να βγάλω λεφτά. Καθαρά από περιέργεια και για μένα θέλω να μάθω πώς στήνεται ένας server από το απόλυτο μηδέν. Το θέμα είναι ότι από development πλευρά είμαι τελείως άσχετος. Ξέρω τη βασική ιδέα, αλλά όταν βλέπω όλα αυτά που πρέπει να μάθω, ψιλοπελαγώνω. Από αυτά που έχω καταλάβει μέχρι στιγμής, πρέπει να μάθω πώς να στήνω το local περιβάλλον στο PC μου με Java, MySQL και κάποιο πρόγραμμα τύπου Navicat για να κουμαντάρω τη βάση δεδομένων. Μετά είναι το κομμάτι του compilation (με IntelliJ ή Eclipse), ή έστω το πώς να δουλεύω με έτοιμα datapacks και gameservers χωρίς να τα διαλύω όλα.   Εκτός από το server-side κομμάτι δηλαδή να αλλάζω stats σε items, να πειράζω spawns από NPCs, formulas για skills και custom μαγαζιά, πρέπει να μάθω και το client-side. Πράγματα όπως το να πειράζω τα .dat αρχεία με το L2FileEdit για να επικοινωνεί σωστά ο server με το παιχνίδι. Και για να είμαι ειλικρινής, το πιο ζόρικο κομμάτι θα είναι να μάθω να διαβάζω εκείνα τα τεράστια error logs όταν κρασάρει ο server, αντί να τα κοιτάω σαν χαζός. Ψάχνω λοιπόν κάποιον που να έχει μια εμπειρία και να γουστάρει να με καθοδηγήσει λίγο σαν μέντορας, ή ακόμα και κάποιον άλλον αρχάριο που θέλει να φάμε τα μούτρα μας παρέα μέχρι να το βρούμε.   Φράγκα δεν παίζουν μιας και το βλέπω καθαρά σαν χόμπι, αλλά έχω άπειρη υπομονή, δεν περιμένω από τον άλλον να κάνει τη δουλειά για μένα και είμαι διατεθειμένος να φάω ώρες για να μάθω. Απλά χρειάζομαι έναν άνθρωπο να ρωτάω μια γνώμη όταν αναπόφευκτα σκαλώνω σε κάποιο config αρχείο.   Αν βαριέστε και θέλετε να βοηθήσετε έναν παλιό παίκτη να μάθει τα βασικά, αφήστε ένα reply ή στείλτε μου PM με το Discord σας. Να 'στε καλά προκαταβολικά για οποιαδήποτε βοήθεια!
    • Hey guys 😃   I’ve been playing Lineage 2 for years, and I’ve finally decided I want to learn how the magic actually happens behind the scenes. I’m not trying to launch the next big x5000 server or make money. I literally just want to learn how to build one from absolute scratch for my own fun and curiosity. The issue is, I’m a total newbie when it comes to the dev side of things. I know the basic idea, but looking at everything I need to learn is getting pretty overwhelming. From what I've gathered so far, I need to figure out how to set up a local environment on my PC using Java, MySQL, and a tool like Navicat just to get the database running. Then there's compiling source code with IntelliJ or Eclipse, or at least figuring out how to work with a pre-compiled data pack and game server without breaking everything.   On top of the server side ike modifying item stats, editing NPC spawns, tweaking skill formulas, and setting up custom shops—I also need to learn the client-side stuff. Things like editing .dat files with L2FileEdit to make sure the server and client actually talk to each other correctly. And honestly, the scariest part is just learning how to read those massive error logs when the server crashes instead of just staring at them blankly.   I'm looking for someone who has some experience and wouldn't mind mentoring me a bit, or even another beginner who wants to team up so we can figure it out together. I can't pay anything since this is just a hobby project, but I’m super patient, I don't expect you to do the work for me, and I’m down to put in the hours to learn. I just need someone I can bounce questions off of when I inevitably mess up a config file.   If you’re bored and want to help a passionate player learn the ropes, drop a reply or shoot me a PM with your Discord. Appreciate any help I can get! ❤️
    • TG Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server!  Create your free account here
  • 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..