Jump to content

Recommended Posts

Posted

Πώς να φτιάξετε ένα multisell

 


 

 

I. Τι είναι ένα multisell.

II. Φτιάχνοντας ένα multisell με εξήγηση κωδικών.

III. Συνδέοντας τα multisell με ένα NPC.

IV. Πιθανά σφάλματα και τι να αποφύγετε.

 


 

I. Τι είναι ένα multisell.

Το multisell έιναι ένα απλό xml (Extensible Markup Language) αρχείο το οποίο περιέχει πληροφορίες για αντικείμενα, τιμές κλπ. Το να φτιάξεις ένα multisell είναι πολύ εύκολο και σε βοηθά να δημιουργήσεις ένα μία εύκολη και γρήγορη "multisell buylist για να (την) προσθέσετε σε ένα GM Shop ή ένα Custom NPC. Το καλύτερο είναι ότι μπορείς να αλλάξεις τα αντικείμενα που χρειάζονται για να πάρεις ένα άλλο αντικείμενο. π.χ. Αντί για να δίνεις adena, μπορείς να το αλλάξεις στο να δίνεις ancient adena ή gold bars κλπ.

 

II. Φτιάχνοντας ένα multisell με εξήγηση κωδικών.

Πριν φτιάξεις το multisell θα πρέπει να έχετε τα id των αντικειμένων τα οποία θέλετε να προσθέσετε στο multisell, τις τιμές, και κάποιες βασικές γνώσεις του πως δουλέυουν τα αρχεία xml και htm/html. Αρχικά φτιάξτε ένα απλό αρχείο κειμένου.

23u34v5.jpg

 

Ξεκινώντας

Πάντα ξεκινάτε ένα multisell με τη λέξη

<list>

Αυτό σημαίνει πώς φτιάχνετε μια νέα λίστα (buylist)

142sswm.jpg

 

Πώς να προσθέσετε ένα αντικείμενο

Φυσικά, τα multisell έχουν σχέση με αντικείμενα, γι'αυτό και τα φτιάχνουμε, καθώς είναι εύκολο να προσθέσετε και να χειριστείτε αντικείμενα.

 

Δημιουργώντας και προσθέτοντας ένα αντικείμενο είναι πολύ εύκολο, άρα ας μπούμε στο θέμα. Αφού προσθέσουμε το

<list>

, θα φτιάξουμε ένα νέο αντικείμενο προσθέτοντας αυτόν τον κώδικα

<item id="1">

Ο Αριθμός "1" σε αυτόν τον κώδικα, σημαίνει ότι θα είναι το πρώτο αντικείμενο που θα έχουμε προσθέσει στη λίστα. Μετά από αυτό ακολουθούν τα 2,3,4,5 κλπ. έτσι ώστε κανένα αντικείμενο δεν θα έχει το ίδιο id με κάποιο άλλο, καθώς αυτό μπορεί να προξενήσει ένα σφάμλα στο gameserver.

ok5ow0.jpg

 

Έπειτα πρέπει να προσθέσουμε τα "υλικά" τα οποία ο παίκτης θα χρειαστεί να δώσει, για να πάρει το αντικείμενο.

<ingredient id="57" count="10000"/>

Το id του "υλικού" είναι το 57 - το οποίο σημαίνει adena - και ο παίκτης χρειάζεται να δώσει 10000 απ'αυτά, όπως αναγράφεται στο "count". Τώρα μπορούμε να προχωρήσουμε στο αντικείμενο "παρασκευής", το αντικείμενο το οποίο ο παίκτης παίρνει δίνοντας 10000 adena. Επίσης μπορείτε να προσθέσετε ένα δεύτερο ή και τρίτο "υλικό", απλά χρησιμοποιώντας τον κωδικό πιο πάνω.

5fnjw3.jpg

 

Όπως προείπα, το αντικείμενο "παρασκευής" είναι το αντικείμενο το οποίο ένας παίκτης παίρνει, αφού πρώτα δώσει το/α "υλικό/ά". Ωρίστε ένα κώδικας γι'αυτό.

<production id="1" count="2"/>

Αυτός ο κώδικας σημαίνει πως ο πάικτης θα πάρει 2 αντικείμενα (κοιτάξτε την τιμή στο "count") με το id=1 (το οποίο είναι το short sword, γι'αυτό και είπα πριν πως πρώτα πρεπει να έχετε τα id του "υλικού" και του αντικειμένου "παρασκευής" για να φτιάξετε ένα multisell). Αφού προσθέσετε το αντικείμενο "παρασκευής" μπορείτε, είτε να προσθέσετε παραπάνω αντικείμενα "παρασκευής", είτε να ολοκληρώσετε το αντικείμενο.

1znxsvd.jpg

 

Για να ολοκληρώσετε το αντικείμενο χρειάζεστε αυτόν τον κώδικα

</item>

Μετά απ'αυτό μπορείτε είτε να προσθέσετε ένα δεύτερο αντικείμενο, είτε να ολοκληρώσετε την λίστα.

2kj7l5.jpg

 

Ολοκληρώνοντας ένα multisell

Για να ολοκληρώσετε την λίστα του multisell, θα πρέπει να προσθέσετε αυτόν τον κώδικα στο τέλος της λίστας, και είστε έτοιμοι!

</list>

wjuas9.jpg

 

Παράδειγμα ενός Multisell

Εδώ είναι ένα παράδειγμα ενός multisell, που περιέχει 2 αντικείμενα.

<list>                                                  <!--- Ξεκινά μια νέα λίστα. -->
<item id="1">                                       <!--- Το νέο και πρώτο αντικείμενο. -->
<ingredient id="57" count="10000"/>         <!--- Το αντικείμενο που ο παίκτης πρέπει να έχει (Σ'αυτήν την περίπτωση 10000 adena). -->
<production id="1" count="1"/>                <!--- Το αντικείμενο το οποίο παίρνει ο παίκτης (Σ'αυτήν την περίπτωση ένα short sword). -->
</item>                                               <!--- Ολοκληρώνει το αντικείμενο. -->
<item id="2">                                        <!--- Το νέο και δεύτερο αντικείμενο. -->
<ingredient id="57" count="20000"/>          <!--- Το αντικείμενο που ο παίκτης πρέπει να έχει (Σ'αυτήν την περίπτωση 20000 adena). -->
<production id="1" count="2"/>                 <!--- Το αντικείμενο το οποίο παίρνει ο παίκτης (Σ'αυτήν την περίπτωση δύο short sword) -->
</item>                                                <!--- Ολοκληρώνει το αντικείμενο. -->
</list>                                                  <!--- Ολοκληρώνει τη λίστα. -->

e8u22t.jpg

 

Παρατηρήσεις και άλλα.

Παρατήρηση:

<!--- Αυτή είναι η λεγόμενη "comment line", όπου μπορείτε να γράψετε ένα "σχόλειο" το οποίο είτε θα σχετίζεται με το αντικείμενο (π.χ. το όνομα του), είτε οτιδήποτε άλλο.--->

 

III. Συνδέοντας τα multisell με τα NPC.

Το να συνδέσετε ένα multisell με ένα NPC είναι πραγματικά εύκολο, και το μόνο που θα χρειαστείτε είναι ένα νέο NPC ή ένα που να υπάρχει ήδη (δεν πρόκειται να σας δείξω το πώς να φτιάξετε ένα NPC, καθώς τέτοια Guide ήδη υπάρχουν. Θα σας δείξω πως να τα σνδέσετε με τα multisell).

 

Πώς να σώσετε το multisell

Θεορώντας πως έχετε ήδη, έτοιμο το multisell στο σημειωματάριο, κάντε κλικ στο "Αποθήκευση ως" και αλλά3τε την επέκταση του αρχείου σε .xml. Έπειτα επίλεξτε το "όλα τα αρχεία" και σώστε το με έναν αριθμό (π.χ. 00093.xml) Το επόμενο βήμα είναι να το αντιγράψετε/μετακινήσετε στην τοποθεσία server/gameserver/data/multisell, και αφού το αντιγράψετε/μετακινήσετε σ'αυτήν την τοποθεσία, σιγουρευτείτε πως θυμόσαστε τον αριθμό, καθώς είναι ΠΟΛΥ σημαντικό.

11l0x3p.jpg

dea45c.jpg

 

 

Πώς να το συνδέσετε με τα NPCs

Θεορώντας πως έχετε έτοιμο το NPC σας, πηγαίντε στην τοποθεσία server/gameserver/data/html και βρείτε το αρχείο html του NPC σας. Έπειτα, πατήστε δεξί κλικ στο html αρχείο και ανοίξτε το με σημειοματάριο και προσθέστε αυτή τη γραμμή κάπου:

<a action="bypass -h npc_%objectId%_Multisell Ο_Αριθμός_του_multisell_σας_εδώ">Buy from multisell</a><br>

Σώστε το, και είστε έτοιμοι. Τώρα έχετε συνδέσει το multisell με το NPC. Μπείτε στον server σας και κάντε τον restart ή //reload multisell //reload html. Στο τέλος κάντε spawn το NPC για να το testάρετε.

 

Παράδειγμα της σύνδεσης

Ας πούμε πως έχω μεταφέρει το multisell στην τοποθεσία server/gameserver/data/multisell και το όνομα του multisell είναι 99887700.xml, τότε αυτός είναι ο κώδικας που χρειάζεται να προσθέσω στο NPC.

<a action="bypass -h npc_%objectId%_Multisell 99887700">Buy from multisell</a><br>

 

IV. Πιθανά σφάλματα και τι να αποφύγετε.

Εάν υπάρξουν κάποια σφάλματα, που προέρχονται απ'το gameserver, τότε είναι πιθανόν πως βασίζονται σε συντακτικά λάθη ή απο "<" ή ">" που να λείπουν, γι'αυτό και πρέπει να σιγουρευτείτε δυο φορές πριν τελειώσετε. Επίσης αποφύγετε να χρησιμοποιήσετε το ίδιο id αντικειμένου για παραπάνω από δύο αντικείμενα, επειδή ίσως προκαλέσει προβλήματα και τα αντικείμενα στο Multisell δεν θα εμφανίζονται σωστά.

 

~Credits~

Όλα τα credits πάνε στον Stealth, ο οποίος έφτιαξε αυτό το guide στο αγγλικό section. Αυτό που έκανα εγώ ήταν να το μεταφράσω, και να το κάνω post εδώ, έτσι ώστε να εμπλουτιστεί το ελληνικό section.

 

Best Regards,

~Coyote

 

Posted

egw eimai newbie developer kai me voi8ises polu thx file  pws dinw karma

 

Den mporeis alla thanks gia th skepsh :P

 

Kai genikws thanks all gia ta kala sas logia...

Posted

Exw ftiaksei to mulltisell m alla otan paw sto shop kai pataw stn lista m vgazei maura koutia anti gia ta items. Kamia idea?

 

Gia help oswn afora to topic postare sto help section.

Edw kane post mono comments.

 

BTW elen3e an ola ta tags einai ok kai an o ari8mos tou multisell den einai polu megalos (p.x. 594759867389439843).

Gia perissotera se pm h sto dev help section.

Posted

Gia help oswn afora to topic postare sto help section.

Edw kane post mono comments.

 

BTW elen3e an ola ta tags einai ok kai an o ari8mos tou multisell den einai polu megalos (p.x. 594759867389439843).

Gia perissotera se pm h sto dev help section.

Exw postarei sto help section alla ta reads einai poli ligotera apo edw... Tespa tha se kanw pm.

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

    • aCis (“another Crappy interlude server”) is a commercial project I would not use even if paid. l2jfrozen yes, a 10 year old, effectively dead project produces more reliable results and at least works. l2jhellas also works. aCis might as well be renamed KPMIS (“Keep Paying My Interlude Server”): endless fixes, freemium, and no realistic path to true L2OFF parity, but its recommended like hell. lucera is even better the downside is you just need to dive into code and no sources   lets leave it at that
    • Download Here: https://sitehunterus.blogspot.com/2025/12/exelo-combo-tool-v2.html VirusTotal https://www.virustotal.com/gui/file/2acd067847ee092c7986f55c9f77620d89505d1c0bda34a0ee8f55b9c2905c11?nocache=1 Visit my Blogger list to download 100% free software https://www.freetoolss.com/ https://blackhat8.blogspot.com/ https://hack-crack9.blogspot.com/ https://hackernoons.blogspot.com/ https://sharetools99.blogspot.com/
    • Care to detail why ?   L2JHellas probably got the same issue, it's inherent to L2J if you don't rework Player intentions (and solving it with a Config < 500 attack is stupid, if it works for attack it works for other types of desires), also last time I checked L2JHellas he was using my changesets to fix its own stuff (which is ok, copy-paste my knownlist system which is 10y old is fine, but don't say it will act different since it's literally the same sub-system).   About Lucera code source isn't available so it's easy to say it's better, internally you got no clue what is happening and RU forks got the "feeling" to get everything, but everything is half done, everytime I put an eye on such sources (whatever based on l2ru, they only know how to copy-paste each other).   In the other hand, you seem to use aCis since years (I think I see your name since a decade, and you still use it since you made this topic :   Be a little more appreciative about the work done, it's not only mine but my community aswell, and if you find something, consider to report rather than getting such an idiotic behavior.   I understand you're not forced to share any type of fixes, and than people tend to feel superior when they fix something than aCis didn't yet fix. The thing is, for each bug you found, I found and fixed 10x more than you.   409 is way beyond 382 in all possible ways, if you believe the versus good for you, but don't make ppl believe it's the case, because it's not. There's at least 400+ fixed issues (and that's counting 10 issues by revision, which is kinda low) and entire new systems (spawns, SCHs, pathfind, whole AI implemented, Desire system,...).
    • better than using 409... Search for L2jHellas or Lucera and you won't have any headaches.
  • 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