Jump to content

Η ιστορία ενός l2 gamer


Recommended Posts

Ναι , κάνω ποδαρικό με μία νέα ιδέα !  8)

 

Όλα ξεκίνησαν 6 χρόνια πριν , σε μικρή ηλικία . Βρισκόμουν στο αμάξι του πατέρα μου , όπου περιμέναμε την μάνα να βγει απο το σούπερ μάρκετ . Πέρασε η μάνα του κολλητού μου και σταμάτησε να μας πει γεια . Μου είπε πως τον άφησε στον νετ (2 τετράγωνα πιο κάτω) . Ξεκίνησα το πρήξιμο και μέσα σε 10 λεπτά βρισκόμουν και εγώ στο νετ . Μπήκαμε στον τότε σέρβερ "TheGame" και μάλιστα όχι στον Pvp , αλλά στον RPG! Ακόμα θυμάμαι τις πολλαπλές προσπάθειες να μπούμε λόγω του "Down" .

 

Μου άρεσε το παιχνίδι που οι μεγαλύτεροι αποκαλούσαν Lineage , εμείς το αποκαλούσαμε ως το παιχνίδι με τους τοξότες και τους πολεμιστές . Την επόμενη μέρα , καβάλησα το ποδηλατάκι και έκανα την διαδρομή για να φτάνω πιο γρήγορα , κι αυτό συνεχίστηκε . Ένα Σάββατο , δούλευαν γονείς , ο αδερφός μου έλειπε απο το σπίτι και εγώ σηκώθηκα 8:30 το πρωί . Δίχως να έχω κάτι να κάνω , κι χωρίς να φάω πρωινό , καβάλησα το ποδήλατο , ώστε να παίξω το παιχνίδι . Βρέθηκα στο νετ διασκέδασα μέχρι τις 1 και πήρα το γυρισμό . Ανεβαίνοντας τις ανηφόρες ζαλιζόμουν , κουραζόμουν και έκανα διαλύματα για ξεκούραση . Στην τελευταία ανηφόρα , είχα εξουθενωθεί και κατέβηκα απο το ποδήλατο , το "πάρκαρα" και κάθισα στο πεζοδρόμιο μπροστά απο ένα παγκάκι (Ούτε καν το είχα προσέξει) . Ζαλιζόμουν υπερβολικά πολύ . Είχε πάει 2 , ο πατέρας μου σχολούσε 3 και έφτανε σπίτι 3:30 , για κάποιο λόγω είχαν φύγει νωρίτερα εκείνη την μέρα και ανεβαίνοντας με βρήκε . Σταμάτησε και μου λέει έλα μέσα, δεν πρόλαβα να σηκωθώ και λιποθύμησα . (Δεν κάνω πλάκα) . Ακόμα , θυμάμαι το διπλανό σπίτι να τρέχουν να μου φέρουν νερό , τον πατέρα μου να με ξαπλώνει σε μία αυλή και να μου σηκώνει τα πόδια . Πήγα στο γιατρό και ανακάλυψα πως είχα πάθει ηλίαση ! Από εκείνη την μέρα δεν ξαναπάτησα στο νετ.

 

Δεν πέρασε καλά καλά λίγος καιρός και βάλαμε internet σπίτι . Αγόρασα και ένα CD με το όνομα Lineage 2 C5 . Το εγκατέστησα κι πήγα να μπώ , μόνο που δεν έμπαινε . Ο αδερφός μου , μου εξήγησε για τους σέρβερ κτλπ . Κατέβασε ένα σέρβερ (L2 Rez) και μου τον έδειξε . Ήταν x10 . Μπήκα και έφτιαξα τοξότη Elf . Ήθελα να τον ονομάσω Legolas , αλλά το είχε άλλος . Έτσι διάλεξα το όνομα FlyBoy (Ακόμα δεν μπορώ να καταλάβω από που το είχα βρει) . Πέρασα 5 μήνες εκεί μέσα , γνώρισα πολλά άτομα , μου εξήγησαν το παιχνίδι , με βοήθησαν στα craft κτλπ . Νιώθω πραγματικά τυχερός που ξεκίνησα απο τέτοιο σέρβερ και έμαθα τα πάντα . (Dyes +1 -1 κτλπ , craft , recipes , wars , quests κ.α) . Μετά απο 5 μήνες λοιπόν , ο αδερφός μου μπαίνει σε ένα σέρβερ με τους φίλους του . Ο Rez έχει αρχίσει να αδειάζει μιας και εμφάνιζεται σιγά σιγά κλαν φουλ donators και αποφασίζω και εγώ να μπω με τους φίλους μου σε αυτόν τον σέρβερ . Το όνομα του ? L2 Archon . Μπορώ να πω πως ήταν από τις καλύτερες εμπειρίες που είχα , μιας και έπαιζα με παρέα . Το όνομα του παίχτη? Μια φορά ακόμα κάτι unique που διαβάζονταν "SpellPavlaras"  8) . Μην τα πολυλογώ , έφυγα και απο τον Archon μετά απο μήνες , και εκεί ξεκινάει η solo καριέρα χωρίς φίλους κτλπ . Παιρνόντας απο server με μικρά διαστήματα (Ξέρεται 10 μέρες , 20 μέρες) , κατέληξα σε ένα high rate που λεγόταν L2Enjoy . Είχα μπει για πλάκα και μου βγήκε σε τρομερό σερβερ , εκεί είχε ήδη ανακαλυφθεί το Fuma , συγκεκριμένα λεγόμουν DjFuMa και ήμουν ένα ρεμάλι Orc . Ο server είχε 200 άτομα όνλινε , και στην ολυμπιάδα ήμουν συνεχώς δεύτερος . Στην συνέχεια έμαθα πως ο πρώτος ήταν Gm Char , αλλά πλέον ήταν αργά . Πέρασε καιρός , ώσπου πριν 2 χρόνια να σταματήσω σε ένα server με το όνομα L2 Extreme , Πολωνικός x10 . Main class Bishop , λέβελ 76 με subclass Spellsinger , σε Clan Ελληνική , με Ventrillo και όλα τα συναφή . Τρέλα!

Εκείνος ήταν και ο τελευταίος σοβαρός σέρβερ που έπαιξα . Από εκεί και πέρα έμπαινα ανά 2 μήνες σε ένα σέρβερ για 2 μέρες να περνάω την ώρα μου .

 

Υ.Γ. Έπαιξα και για πολύ καιρό L2Forever , απλά βαριέμαι να γράφω άλλο , και άλλους χίλους δυο σέρβερ

 

Υ.Γ.2 Πριν 5 χρόνια , την χρονιά που πέθανε και ένας φίλος μου , έπαιζα Mafia , όταν δεν είχε donate :3 ..

 

Υ.Γ.3 Αν μπορούσα να βάλω σε μια σειρά που πέρασα καλύτερα?

 

1. L2 Rez

2. L2 Extreme

3. L2 Archon

4. L2 Enjoy

5. L2 Forever

 

---

 

Έχω να μπω l2 ένα χρόνο τώρα . :P . Τώρα έχει μόνο βόλτες και παρέες κι κανά ματσάκι Λολ όταν βαριέμαι .

Link to comment
Share on other sites

OMAGAD!!!! Eleos!!!!!!!! LMAO! kai auto vasizetai se pragmatikh istoria etsi???? Dld dn pisteuw na einai kamia fake??..... :O

 

Όχι , δεν έχω λόγω να γράψω fake πράγματα . Είχα βγάλει σε σημείο , όταν έπαιζα L2Rez να ηχογραφήσω το λέβελ (Όταν πήγα 75) γιατί δεν το άκουγα και συχνά , και να το ακούω μόνος μου .

Link to comment
Share on other sites

Όχι , δεν έχω λόγω να γράψω fake πράγματα . Είχα βγάλει σε σημείο , όταν έπαιζα L2Rez να ηχογραφήσω το λέβελ (Όταν πήγα 75) γιατί δεν το άκουγα και συχνά , και να το ακούω μόνος μου .

 

OMG! Eleino re file.. Aporw pws antekses pantws :P :P :P, Egw stin thesi sou den tha ta pernousa ola auta :P :P

Link to comment
Share on other sites

Όχι , δεν έχω λόγω να γράψω fake πράγματα . Είχα βγάλει σε σημείο , όταν έπαιζα L2Rez να ηχογραφήσω το λέβελ (Όταν πήγα 75) γιατί δεν το άκουγα και συχνά , και να το ακούω μόνος μου .

aaaaaaaaaaaaahahahahahaha
Link to comment
Share on other sites

 

Υ.Γ.2 Πριν 5 χρόνια , την χρονιά που πέθανε και ένας φίλος μου , έπαιζα Mafia , όταν δεν είχε donate :3 ..

Millas gia to pedi pou eixe pnigi sthn thalassa ? Pote perasan 5 xronia krima pantos :/
Link to comment
Share on other sites

Όχι , δεν έχω λόγω να γράψω fake πράγματα . Είχα βγάλει σε σημείο , όταν έπαιζα L2Rez να ηχογραφήσω το λέβελ (Όταν πήγα 75) γιατί δεν το άκουγα και συχνά , και να το ακούω μόνος μου .

Κορυφαίο...

Και εγώ κάπως έτσι ξεκίνησα... έκτη δημοτικού και σήμερα β λυκείου πάλι παίζω καμία φορά

Link to comment
Share on other sites

Ναι , κάνω ποδαρικό με μία νέα ιδέα !  8)

 

Όλα ξεκίνησαν 6 χρόνια πριν , σε μικρή ηλικία . Βρισκόμουν στο αμάξι του πατέρα μου , όπου περιμέναμε την μάνα να βγει απο το σούπερ μάρκετ . Πέρασε η μάνα του κολλητού μου και σταμάτησε να μας πει γεια . Μου είπε πως τον άφησε στον νετ (2 τετράγωνα πιο κάτω) . Ξεκίνησα το πρήξιμο και μέσα σε 10 λεπτά βρισκόμουν και εγώ στο νετ . Μπήκαμε στον τότε σέρβερ "TheGame" και μάλιστα όχι στον Pvp , αλλά στον RPG! Ακόμα θυμάμαι τις πολλαπλές προσπάθειες να μπούμε λόγω του "Down" .

 

Μου άρεσε το παιχνίδι που οι μεγαλύτεροι αποκαλούσαν Lineage , εμείς το αποκαλούσαμε ως το παιχνίδι με τους τοξότες και τους πολεμιστές . Την επόμενη μέρα , καβάλησα το ποδηλατάκι και έκανα την διαδρομή για να φτάνω πιο γρήγορα , κι αυτό συνεχίστηκε . Ένα Σάββατο , δούλευαν γονείς , ο αδερφός μου έλειπε απο το σπίτι και εγώ σηκώθηκα 8:30 το πρωί . Δίχως να έχω κάτι να κάνω , κι χωρίς να φάω πρωινό , καβάλησα το ποδήλατο , ώστε να παίξω το παιχνίδι . Βρέθηκα στο νετ διασκέδασα μέχρι τις 1 και πήρα το γυρισμό . Ανεβαίνοντας τις ανηφόρες ζαλιζόμουν , κουραζόμουν και έκανα διαλύματα για ξεκούραση . Στην τελευταία ανηφόρα , είχα εξουθενωθεί και κατέβηκα απο το ποδήλατο , το "πάρκαρα" και κάθισα στο πεζοδρόμιο μπροστά απο ένα παγκάκι (Ούτε καν το είχα προσέξει) . Ζαλιζόμουν υπερβολικά πολύ . Είχε πάει 2 , ο πατέρας μου σχολούσε 3 και έφτανε σπίτι 3:30 , για κάποιο λόγω είχαν φύγει νωρίτερα εκείνη την μέρα και ανεβαίνοντας με βρήκε . Σταμάτησε και μου λέει έλα μέσα, δεν πρόλαβα να σηκωθώ και λιποθύμησα . (Δεν κάνω πλάκα) . Ακόμα , θυμάμαι το διπλανό σπίτι να τρέχουν να μου φέρουν νερό , τον πατέρα μου να με ξαπλώνει σε μία αυλή και να μου σηκώνει τα πόδια . Πήγα στο γιατρό και ανακάλυψα πως είχα πάθει ηλίαση ! Από εκείνη την μέρα δεν ξαναπάτησα στο νετ.

 

Δεν πέρασε καλά καλά λίγος καιρός και βάλαμε internet σπίτι . Αγόρασα και ένα CD με το όνομα Lineage 2 C5 . Το εγκατέστησα κι πήγα να μπώ , μόνο που δεν έμπαινε . Ο αδερφός μου , μου εξήγησε για τους σέρβερ κτλπ . Κατέβασε ένα σέρβερ (L2 Rez) και μου τον έδειξε . Ήταν x10 . Μπήκα και έφτιαξα τοξότη Elf . Ήθελα να τον ονομάσω Legolas , αλλά το είχε άλλος . Έτσι διάλεξα το όνομα FlyBoy (Ακόμα δεν μπορώ να καταλάβω από που το είχα βρει) . Πέρασα 5 μήνες εκεί μέσα , γνώρισα πολλά άτομα , μου εξήγησαν το παιχνίδι , με βοήθησαν στα craft κτλπ . Νιώθω πραγματικά τυχερός που ξεκίνησα απο τέτοιο σέρβερ και έμαθα τα πάντα . (Dyes +1 -1 κτλπ , craft , recipes , wars , quests κ.α) . Μετά απο 5 μήνες λοιπόν , ο αδερφός μου μπαίνει σε ένα σέρβερ με τους φίλους του . Ο Rez έχει αρχίσει να αδειάζει μιας και εμφάνιζεται σιγά σιγά κλαν φουλ donators και αποφασίζω και εγώ να μπω με τους φίλους μου σε αυτόν τον σέρβερ . Το όνομα του ? L2 Archon . Μπορώ να πω πως ήταν από τις καλύτερες εμπειρίες που είχα , μιας και έπαιζα με παρέα . Το όνομα του παίχτη? Μια φορά ακόμα κάτι unique που διαβάζονταν "SpellPavlaras"  8) . Μην τα πολυλογώ , έφυγα και απο τον Archon μετά απο μήνες , και εκεί ξεκινάει η solo καριέρα χωρίς φίλους κτλπ . Παιρνόντας απο server με μικρά διαστήματα (Ξέρεται 10 μέρες , 20 μέρες) , κατέληξα σε ένα high rate που λεγόταν L2Enjoy . Είχα μπει για πλάκα και μου βγήκε σε τρομερό σερβερ , εκεί είχε ήδη ανακαλυφθεί το Fuma , συγκεκριμένα λεγόμουν DjFuMa και ήμουν ένα ρεμάλι Orc . Ο server είχε 200 άτομα όνλινε , και στην ολυμπιάδα ήμουν συνεχώς δεύτερος . Στην συνέχεια έμαθα πως ο πρώτος ήταν Gm Char , αλλά πλέον ήταν αργά . Πέρασε καιρός , ώσπου πριν 2 χρόνια να σταματήσω σε ένα server με το όνομα L2 Extreme , Πολωνικός x10 . Main class Bishop , λέβελ 76 με subclass Spellsinger , σε Clan Ελληνική , με Ventrillo και όλα τα συναφή . Τρέλα!

Εκείνος ήταν και ο τελευταίος σοβαρός σέρβερ που έπαιξα . Από εκεί και πέρα έμπαινα ανά 2 μήνες σε ένα σέρβερ για 2 μέρες να περνάω την ώρα μου .

 

Υ.Γ. Έπαιξα και για πολύ καιρό L2Forever , απλά βαριέμαι να γράφω άλλο , και άλλους χίλους δυο σέρβερ

 

Υ.Γ.2 Πριν 5 χρόνια , την χρονιά που πέθανε και ένας φίλος μου , έπαιζα Mafia , όταν δεν είχε donate :3 ..

 

Υ.Γ.3 Αν μπορούσα να βάλω σε μια σειρά που πέρασα καλύτερα?

 

1. L2 Rez

2. L2 Extreme

3. L2 Archon

4. L2 Enjoy

5. L2 Forever

 

---

 

Έχω να μπω l2 ένα χρόνο τώρα . :P . Τώρα έχει μόνο βόλτες και παρέες κι κανά ματσάκι Λολ όταν βαριέμαι .

copy paste αυτό και κόβω το πουλί μου και το τρώω κιόλας ε
Link to comment
Share on other sites

copy paste αυτό και κόβω το πουλί μου και το τρώω κιόλας ε

 

Κόψτω ..

 

Millas gia to pedi pou eixe pnigi sthn thalassa ? Pote perasan 5 xronia krima pantos :/

 

Πως το ξέρεις , πάντως ναι πέρασαν , μας λείπει ο Μητσάρας . Το πω πνίγηκε και που ήταν τραγικό . Τελευταία μέρα δημοτικού κανονίζουμε με την "κυρία" να πάμε για μπάνιο σε 2 μερες (Ήταν δευτέρα , να πηγαίναμε Τετάρτη) . Βασικά σε ένα καφέ που είναι δίπλα και μετά για μπάνιο . Αυτή μας είχε τα 4 απο τα 6 χρόνια στο δημοτικό γι αυτό . Ε πάμε μαζί με γονείς κτλπ . Πίνουμε την σοκολάτα και μετά βουτάμε όλοι στην θάλασσα , ο Μήτσος έλεγε πως ζαλίζεται λίγο , αλλά δεν έβγαινε , τον χάσαμε απο τα μάτια μας για λίγο , κι ένα παιδί περάστικος (1 χρόνο μικρότερος) μας φώναξε το παιδί έχει το κεφάλι στη θάλασσα (ή κάτι τέτοιο , δεν θυμάμαι ακριβώς) . Γυρίσαμε και τον είδαμε με το κεφάλι μέσα στην θάλασσα , αρχικά νομίζαμε πως έκανε πλάκα . Τον σκουντήξαμε και τίποτα , τότε καταλάβαμε πως κάτι δεν πάει καλά , τον τραβήξαμε έξω , κι ένα παιδί έτρεξε να πει τους γονείς .Η μάνα του το κατάλαβε κατευθείαν , αφού ήξερε πως το παιδί έχει επιληψία και δεν είχε ενημερώσει ΑΠΟΛΥΤΩΣ κανέναν όλα αυτά τα χρόνια . Ο ιδιοκτήτης της καφετέριας ήρθε , του έδωσε τις πρώτες βοήθειες , καθώς εμείς ενημερώναμε το ασθενοφόρο . Το ασθενοφόρο ήρθε κι μάθαμε πως απεβίωσε μέσα σε αυτό. Επίσης μάθαμε πως πριν ξεψυχήσει άνοιξε τα μάτια και χαμογέλασε στη μάνα του . Το περιστατικό έγινε στις 6:30 . Μάθαμε πως πέθανε στις 9 κι δεν μπορείτε να φανταστείτε τι κλήμα επικρατούσε . Την επόμενη μέρα στην κηδεία του , βρέθηκε περίπου 1.000 κόσμος (Από τα 8.000-10.000) που έχει η περιοχή .

 

ΜΗΤΣΑΡΑ ΖΕΙΣ

Link to comment
Share on other sites

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

    • adapt for 409 version wtih old config/sql/html's only the core update!   package net.sf.l2j.gameserver.model.actor.instance; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import net.sf.l2j.commons.lang.StringUtil; import net.sf.l2j.commons.math.MathUtil; import net.sf.l2j.Config; import net.sf.l2j.gameserver.data.SkillTable; import net.sf.l2j.gameserver.data.manager.BufferManager; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.model.actor.Summon; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.network.serverpackets.ItemList; import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.skills.L2Skill; public class SchemmerBuffer extends Folk { private static final int PAGE_LIMIT = 6; public SchemmerBuffer(int objectId, NpcTemplate template) { super(objectId, template); } private void showMainWindow(Player activeChar) { final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(getHtmlPath(getNpcId(), 0)); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%name%", activeChar.getName()); html.replace("%buffcount%", "You have " + activeChar.getBuffCount() + "/" + activeChar.getMaxBuffCount() + " buffs."); activeChar.sendPacket(html); } @Override public void onBypassFeedback(Player player, String command) { if (player.getPvpFlag() > 0 && Config.PRESTRICT_USE_BUFFER_ON_PVPFLAG) { player.sendMessage("You can't use buffer when you are pvp flagged."); return; } if (player.isInCombat() && Config.PRESTRICT_USE_BUFFER_IN_COMBAT) { player.sendMessage("You can't use buffer when you are in combat."); return; } if (player.isDead()) return; StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); if (actualCommand.startsWith("bufflist")) { autoBuffFunction(player, st.nextToken()); } else if (actualCommand.startsWith("restore")) { String noble = st.nextToken(); player.getStatus().setMaxCpHpMp(); if (noble.equals("true")) { SkillTable.getInstance().getInfo(1323, 1).getEffects(player, player); player.broadcastPacket(new MagicSkillUse(this, player, 1323, 1, 850, 0)); } final Summon summon = player.getSummon(); if (summon != null) summon.getStatus().setMaxHpMp(); showMainWindow(player); } else if (actualCommand.startsWith("cancellation")) { L2Skill buff; buff = SkillTable.getInstance().getInfo(1056, 1); buff.getEffects(this, player); player.stopAllEffectsExceptThoseThatLastThroughDeath(); player.broadcastPacket(new MagicSkillUse(this, player, 1056, 1, 850, 0)); player.stopAllEffects(); final Summon summon = player.getSummon(); if (summon != null) summon.stopAllEffects(); showMainWindow(player); } else if (actualCommand.startsWith("openlist")) { String category = st.nextToken(); String htmfile = st.nextToken(); NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); if (category.startsWith("null")) { html.setFile("data/html/mods/buffer/" + htmfile + ".htm"); // First Page if (htmfile.equals("index")) { html.replace("%name%", player.getName()); html.replace("%buffcount%", "You have " + player.getBuffCount() + "/" + player.getMaxBuffCount() + " buffs."); } } else html.setFile("data/html/mods/buffer/" + category + "/" + htmfile + ".htm"); html.replace("%objectId%", String.valueOf(getObjectId())); player.sendPacket(html); } else if (actualCommand.startsWith("dobuff")) { int buffid = Integer.valueOf(st.nextToken()); int bufflevel = Integer.valueOf(st.nextToken()); String category = st.nextToken(); String windowhtml = st.nextToken(); String votebuff = null; if (st.hasMoreTokens()) votebuff = st.nextToken(); if (windowhtml.equals("malaria")) { if (player.getInventory().getItemCount(Config.PVOTE_BUFF_ITEM_ID, 0) >= 1) { player.getInventory().destroyItemByItemId("VoteCoins", Config.PVOTE_BUFF_ITEM_ID, 1, player, null); player.sendPacket(new ItemList(player, true)); player.sendMessage(1 + " Vote eye destroyed."); } else { player.sendMessage("You dont have enough (" + 1 + ") vote item for buff."); return; } } if (votebuff != null) { if (player.getInventory().getItemCount(Config.PVOTE_BUFF_ITEM_ID, 0) >= Config.PVOTE_BUFF_ITEM_COUNT) { player.getInventory().destroyItemByItemId("VoteCoins", Config.PVOTE_BUFF_ITEM_ID, Config.PVOTE_BUFF_ITEM_COUNT, player, null); player.sendPacket(new ItemList(player, true)); player.sendMessage(Config.PVOTE_BUFF_ITEM_COUNT + " vote stone destroyed."); } else { player.sendMessage("You dont have enough (" + Config.PVOTE_BUFF_ITEM_COUNT + ") vote item for buff."); return; } } Creature target = player; if (category.startsWith("pet")) { if (player.getSummon() == null) { player.sendMessage("Incorrect Pet"); showMainWindow(player); return; } target = player.getSummon(); } MagicSkillUse mgc = new MagicSkillUse(this, target, buffid, bufflevel, 1150, 0); player.sendPacket(mgc); player.broadcastPacket(mgc); SkillTable.getInstance().getInfo(buffid, bufflevel).getEffects(this, target); NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/mods/buffer/" + category + "/" + windowhtml + ".htm"); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%name%", player.getName()); player.sendPacket(html); } else if (actualCommand.startsWith("getbuff")) { int buffid = Integer.valueOf(st.nextToken()); int bufflevel = Integer.valueOf(st.nextToken()); if (buffid != 0) { SkillTable.getInstance().getInfo(buffid, bufflevel).getEffects(this, player); broadcastPacket(new MagicSkillUse(this, player, buffid, bufflevel, 450, 0)); showMainWindow(player); } } else if (actualCommand.startsWith("support")) { showGiveBuffsWindow(player); } else if (actualCommand.startsWith("givebuffs")) { final String schemeName = st.nextToken(); final int cost = Integer.parseInt(st.nextToken()); Creature target = null; if (st.hasMoreTokens()) { final String targetType = st.nextToken(); if (targetType != null && targetType.equalsIgnoreCase("pet")) target = player.getSummon(); } else target = player; if (target == null) player.sendMessage("You don't have a pet."); else if (cost == 0 || player.reduceAdena("NPC Buffer", cost, this, true)) BufferManager.getInstance().applySchemeEffects(this, target, player.getObjectId(), schemeName); } else if (actualCommand.startsWith("editschemes")) { showEditSchemeWindow(player, st.nextToken(), st.nextToken(), Integer.parseInt(st.nextToken())); } else if (actualCommand.startsWith("skill")) { final String groupType = st.nextToken(); final String schemeName = st.nextToken(); final int skillId = Integer.parseInt(st.nextToken()); final int page = Integer.parseInt(st.nextToken()); final List<Integer> skills = BufferManager.getInstance().getScheme(player.getObjectId(), schemeName); if (actualCommand.startsWith("skillselect") && !schemeName.equalsIgnoreCase("none")) { if (skills.size() < player.getMaxBuffCount()) skills.add(skillId); else player.sendMessage("This scheme has reached the maximum amount of buffs."); } else if (actualCommand.startsWith("skillunselect")) skills.remove(Integer.valueOf(skillId)); showEditSchemeWindow(player, groupType, schemeName, page); } else if (actualCommand.startsWith("createscheme")) { try { final String schemeName = st.nextToken(); if (schemeName.length() > 14) { player.sendMessage("Scheme's name must contain up to 14 chars. Spaces are trimmed."); return; } final Map<String, ArrayList<Integer>> schemes = BufferManager.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes != null) { if (schemes.size() == Config.PBUFFER_MAX_SCHEMES) { player.sendMessage("Maximum schemes amount is already reached."); return; } if (schemes.containsKey(schemeName)) { player.sendMessage("The scheme name already exists."); return; } } BufferManager.getInstance().setScheme(player.getObjectId(), schemeName.trim(), new ArrayList<>()); showGiveBuffsWindow(player); } catch (Exception e) { player.sendMessage("Scheme's name must contain up to 14 chars. Spaces are trimmed."); } } else if (actualCommand.startsWith("deletescheme")) { try { final String schemeName = st.nextToken(); final Map<String, ArrayList<Integer>> schemes = BufferManager.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes != null && schemes.containsKey(schemeName)) schemes.remove(schemeName); } catch (Exception e) { player.sendMessage("This scheme name is invalid."); } showGiveBuffsWindow(player); } super.onBypassFeedback(player, command); } @Override public String getHtmlPath(int npcId, int val) { String filename = ""; if (val == 0) filename = "" + npcId; else filename = npcId + "-" + val; return "data/html/mods/buffer/" + filename + ".htm"; } /** * Send an html packet to the {@link Player} set a parameter with Give Buffs menu info for player and pet, depending on targetType parameter {player, pet}. * @param player : The {@link Player} to make checks on. */ private void showGiveBuffsWindow(Player player) { final StringBuilder sb = new StringBuilder(200); final Map<String, ArrayList<Integer>> schemes = BufferManager.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) sb.append("<font color=\"LEVEL\">You haven't defined any scheme.</font>"); else { for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) { final int cost = getFee(scheme.getValue()); StringUtil.append(sb, "<font color=\"LEVEL\">", scheme.getKey(), " [", scheme.getValue().size(), " / ", player.getMaxBuffCount(), "]", ((cost > 0) ? " - cost: " + StringUtil.formatNumber(cost) : ""), "</font><br1>"); StringUtil.append(sb, "<a action=\"bypass npc_%objectId%_givebuffs ", scheme.getKey(), " ", cost, "\">Use on Me</a>&nbsp;|&nbsp;"); StringUtil.append(sb, "<a action=\"bypass npc_%objectId%_givebuffs ", scheme.getKey(), " ", cost, " pet\">Use on Pet</a>&nbsp;|&nbsp;"); StringUtil.append(sb, "<a action=\"bypass npc_%objectId%_editschemes Buffs ", scheme.getKey(), " 1\">Edit</a>&nbsp;|&nbsp;"); StringUtil.append(sb, "<a action=\"bypass npc_%objectId%_deletescheme ", scheme.getKey(), "\">Delete</a><br>"); } } final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(getHtmlPath(getNpcId(), 1)); html.replace("%schemes%", sb.toString()); html.replace("%max_schemes%", Config.PBUFFER_MAX_SCHEMES); html.replace("%objectId%", getObjectId()); player.sendPacket(html); } /** * Send an html packet to the {@link Player} set as parameter with Edit Scheme Menu info. This allows the {@link Player} to edit each created scheme (add/delete skills) * @param player : The {@link Player} to make checks on. * @param groupType : The group of skills to select. * @param schemeName : The scheme to make check. * @param page : The current checked page. */ private void showEditSchemeWindow(Player player, String groupType, String schemeName, int page) { final NpcHtmlMessage html = new NpcHtmlMessage(0); final List<Integer> schemeSkills = BufferManager.getInstance().getScheme(player.getObjectId(), schemeName); html.setFile(getHtmlPath(getNpcId(), 2)); html.replace("%schemename%", schemeName); html.replace("%count%", schemeSkills.size() + " / " + player.getMaxBuffCount()); html.replace("%typesframe%", getTypesFrame(groupType, schemeName)); html.replace("%skilllistframe%", getGroupSkillList(player, groupType, schemeName, page)); html.replace("%objectId%", getObjectId()); player.sendPacket(html); } /** * @param player : The {@link Player} to make checks on. * @param groupType : The group of skills to select. * @param schemeName : The scheme to make check. * @param page : The current checked page. * @return A {@link String} representing skills available for selection for a given groupType. */ private String getGroupSkillList(Player player, String groupType, String schemeName, int page) { // Retrieve the entire skills list based on group type. List<Integer> skills = BufferManager.getInstance().getSkillsIdsByType(groupType); if (skills.isEmpty()) return "That group doesn't contain any skills."; // Calculate page number. final int max = MathUtil.countPagesNumber(skills.size(), PAGE_LIMIT); if (page > max) page = max; // Cut skills list up to page number. skills = skills.subList((page - 1) * PAGE_LIMIT, Math.min(page * PAGE_LIMIT, skills.size())); final List<Integer> schemeSkills = BufferManager.getInstance().getScheme(player.getObjectId(), schemeName); final StringBuilder sb = new StringBuilder(skills.size() * 150); int row = 0; for (int skillId : skills) { final String icon = (skillId < 100) ? "icon.skill00" + skillId : (skillId < 1000) ? "icon.skill0" + skillId : "icon.skill" + skillId; sb.append(((row % 2) == 0 ? "<table width=\"280\" bgcolor=\"000000\"><tr>" : "<table width=\"280\"><tr>")); if (schemeSkills.contains(skillId)) StringUtil.append(sb, "<td height=40 width=40><img src=\"", icon, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillunselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomout2\" fore=\"L2UI_CH3.mapbutton_zoomout1\"></td>"); else StringUtil.append(sb, "<td height=40 width=40><img src=\"", icon, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomin2\" fore=\"L2UI_CH3.mapbutton_zoomin1\"></td>"); sb.append("</tr></table><img src=\"L2UI.SquareGray\" width=277 height=1>"); row++; } for (int i = PAGE_LIMIT; i > row; i--) StringUtil.append(sb, "<img height=41>"); // Build page footer. sb.append("<br><img src=\"L2UI.SquareGray\" width=277 height=1><table width=\"100%\" bgcolor=000000><tr>"); if (page > 1) StringUtil.append(sb, "<td align=left width=70><a action=\"bypass npc_" + getObjectId() + "_editschemes ", groupType, " ", schemeName, " ", page - 1, "\">Previous</a></td>"); else StringUtil.append(sb, "<td align=left width=70>Previous</td>"); StringUtil.append(sb, "<td align=center width=100>Page ", page, "</td>"); if (page < max) StringUtil.append(sb, "<td align=right width=70><a action=\"bypass npc_" + getObjectId() + "_editschemes ", groupType, " ", schemeName, " ", page + 1, "\">Next</a></td>"); else StringUtil.append(sb, "<td align=right width=70>Next</td>"); sb.append("</tr></table><img src=\"L2UI.SquareGray\" width=277 height=1>"); return sb.toString(); } /** * @param groupType : The group of skills to select. * @param schemeName : The scheme to make check. * @return A {@link String} representing all groupTypes available. The group currently on selection isn't linkable. */ private static String getTypesFrame(String groupType, String schemeName) { final StringBuilder sb = new StringBuilder(500); sb.append("<table>"); int count = 0; for (String type : BufferManager.getInstance().getSkillTypes()) { if (count == 0) sb.append("<tr>"); if (groupType.equalsIgnoreCase(type)) StringUtil.append(sb, "<td width=65>", type, "</td>"); else StringUtil.append(sb, "<td width=65><a action=\"bypass npc_%objectId%_editschemes ", type, " ", schemeName, " 1\">", type, "</a></td>"); count++; if (count == 4) { sb.append("</tr>"); count = 0; } } if (!sb.toString().endsWith("</tr>")) sb.append("</tr>"); sb.append("</table>"); return sb.toString(); } /** * @param list : A {@link List} of skill ids. * @return a global fee for all skills contained in the {@link List}. */ private static int getFee(ArrayList<Integer> list) { if (Config.PBUFFER_STATIC_BUFF_COST > 0) return list.size() * Config.PBUFFER_STATIC_BUFF_COST; int fee = 0; for (int sk : list) fee += BufferManager.getInstance().getAvailableBuff(sk).getPrice(); return fee; } private void autoBuffFunction(Player player, String bufflist) { ArrayList<L2Skill> skills_to_buff = new ArrayList<>(); List<Integer> list = null; if (bufflist.equalsIgnoreCase("fighter")) list = Config.PFIGHTER_SKILL_LIST; else if (bufflist.equalsIgnoreCase("mage")) list = Config.PMAGE_SKILL_LIST; if (list != null) { for (int skillId : list) { L2Skill skill = SkillTable.getInstance().getInfo(skillId, SkillTable.getInstance().getMaxLevel(skillId)); if (skill != null) skills_to_buff.add(skill); } for (L2Skill sk : skills_to_buff) sk.getEffects(player, player); player.updateEffectIcons(); list = null; } skills_to_buff.clear(); showMainWindow(player); } }  
    • L2 OPIUM - AUTO FARM HTML    
    • json_extract does not exist. -> wrong mysql server version.
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt  
  • Topics

×
×
  • Create New...