Jump to content
  • 0

Add Agument on Weapon me Navicat


Question

Posted

Kalispera ithela na kano mia erwtisi poso mporo na valo augment sto weapon enos paixti px Str+1 me passive duel Might Duel Might

gia arxi pao sto navicat sto table characters  kai perno to charid kai meta pao sto table items kai simfona me to ownerid p exo vrei apo prin kai to item id p thelo vrisko to object id tou item p psaxno epita anoigo to table item_attributes kai ekei exo 2 stilles Item id(dld to object id)kai augAttributes p prepi ekei na valo to augument

Epita anoigo sto C:\Server\game\data\stats\augmentation\augmentation_skillmap.xml

kai ekei psaxno gia to Augment p thelo

pos ginete omos na to peraso sto navicat sto item_attributes

Xriazome to STR+1 Passive DuelMight

To Pack P Xrisimopio ine gia H5

Euxaristo

Recommended Posts

  • 0
Posted

Δεν έχω pack που να έχει τον πίνακα item_attributes για τα ls skills αλλά έκανα μια αναζήτηση στο Google και απ' ότι φαίνεται είναι εύκολο αυτό που ζητάς.

 

Στην στήλη 'itemId' βάζεις το object ID που έχεις, στην στήλη augSkillId βάζεις το ID του skill και στην στήλη augSkillLevel βάζεις το level που θες να έχει το skill. (το augAttributes άστο κενό, δεν νομίζω να χρειάζεται αλλά δεν ξέρω για σίγουρα)

 

Δεν ξέρω αν είναι αυτό που ρωτάς. Αν θες να το κάνεις με query, θα μπορούσες να εκτελέσεις αυτό εδώ το query (παρακάτω):

INSERT INTO 'item_attributes' (itemId, augSkillId, augSkillLevel) VALUES ('bale to object id edw', 'bale to id tou skill edw', 'bale to level tou skill edw');

 

  • 0
Posted

Δεν έχω pack που να έχει τον πίνακα item_attributes για τα ls skills αλλά έκανα μια αναζήτηση στο Google και απ' ότι φαίνεται είναι εύκολο αυτό που ζητάς.

 

Στην στήλη 'itemId' βάζεις το object ID που έχεις, στην στήλη augSkillId βάζεις το ID του skill και στην στήλη augSkillLevel βάζεις το level που θες να έχει το skill. (το augAttributes άστο κενό, δεν νομίζω να χρειάζεται αλλά δεν ξέρω για σίγουρα)

 

Δεν ξέρω αν είναι αυτό που ρωτάς. Αν θες να το κάνεις με query, θα μπορούσες να εκτελέσεις αυτό εδώ το query (παρακάτω):

INSERT INTO 'item_attributes' (itemId, augSkillId, augSkillLevel) VALUES ('bale to object id edw', 'bale to id tou skill edw', 'bale to level tou skill edw');

 

Oxi den to exo etsi to vrika pos na to valo to augment gia to passive duel Might ine to Augment Id apo to xml kai to kaneis *65536+SkillId p s dinei

to thema ine to STR1 pos tha to vallo

  • 0
Posted

Oxi den to exo etsi to vrika pos na to valo to augment gia to passive duel Might ine to Augment Id apo to xml kai to kaneis *65536+SkillId p s dinei

to thema ine to STR1 pos tha to vallo

Οκ, κάτσε online, θα το δω μια στιγμή τώρα και θα σου πω.

 

EDIT: Θα σου πω αύριο τελικά φίλε.

  • 0
Posted

ook

exo vrei kai ta id agumentid diaforetika t passive duel might ine 1067257003 kai tou STR+1 155 991 2571 pos ta vazo mazi omos ine to thema....

  • 0
Posted

ook

exo vrei kai ta id agumentid diaforetika t passive duel might ine 1067257003 kai tou STR+1 155 991 2571 pos ta vazo mazi omos ine to thema....

Και τόση ώρα έψαχνα για τα IDs εδώ, τέλος πάντων. Απλό είναι αυτό που ζητάς, έτσι τα βάζεις μαζί:

 

INSERT INTO 'item_attributes' (itemId, augAttributes, augSkillId, augSkillLevel) VALUES ('bale to object id edw', 'bale to id tou str edw', 'bale to id tou skill edw', 'bale to level tou skill edw');

 

Δοκίμασε το και πες μου.

  • 0
Posted

Den ginete kati tetio dioti ego den exo auta ta tables exo mono to obj id kai to aug id

kai den ginete na ta vallo mazi den to pernei

  • 0
Posted

Den ginete kati tetio dioti ego den exo auta ta tables exo mono to obj id kai to aug id

kai den ginete na ta vallo mazi den to pernei

Οκ, έχω κάτι στο μυαλό μου.

 

Αν βάλεις το augment id για το STR μόνο του δουλεύει, έτσι;

  • 0
Posted

Οκ, έχω κάτι στο μυαλό μου.

 

Αν βάλεις το augment id για το STR μόνο του δουλεύει, έτσι;

Yy s dinei STR+1

Vasika auta ta noumera p s ipa prokiptoun apo to augment id p to perno apo xml *65536+skill id dld gia na vgalo to passive duel might ekana

16285(Augment ID) * 65536 +3243(Skill id Passive Duel Might) kai vgike

1067257003

pos vrika tora to STR+1

ekatsa kai to epiasa normal me to stones piga meta sto navicat kai pira etoimo to id apo to item_attributes

to id ine 1559912571 dokimasa polla pragmata alla tzifos

  • 0
Posted

Yy s dinei STR+1

Vasika auta ta noumera p s ipa prokiptoun apo to augment id p to perno apo xml *65536+skill id dld gia na vgalo to passive duel might ekana

16285(Augment ID) * 65536 +3243(Skill id Passive Duel Might) kai vgike

1067257003

pos vrika tora to STR+1

ekatsa kai to epiasa normal me to stones piga meta sto navicat kai pira etoimo to id apo to item_attributes

to id ine 1559912571 dokimasa polla pragmata alla tzifos

Χωρίς αλλαγές στον κώδικα Java, μόνο έναν τρόπο σκέφτομαι που δεν νομίζω να πετύχει αλλά μπορείς να προσπαθήσεις. (αλλιώς θα πρέπει να κάνεις αλλαγές στον κώδικα Java)

 

Να έβαζες 2 εγγραφές με το ίδιο ID αλλά με διαφορετικό augment ID. Ξέρω ότι δεν γίνεται αυτό τώρα επειδή είναι PRIMARY key αλλά μπορούμε πολύ απλά να βγάλουμε την ιδιότητα PRIMARY από το πεδίο. Αν θες να δοκιμάσεις, να πως βγαίνει η ιδιότητα PRIMARY:

 

ALTER TABLE item_attributes DROP PRIMARY KEY;

 

Πάω για ύπνο, τα λέμε.

  • 0
Posted

Χωρίς αλλαγές στον κώδικα Java, μόνο έναν τρόπο σκέφτομαι που δεν νομίζω να πετύχει αλλά μπορείς να προσπαθήσεις. (αλλιώς θα πρέπει να κάνεις αλλαγές στον κώδικα Java)

 

Να έβαζες 2 εγγραφές με το ίδιο ID αλλά με διαφορετικό augment ID. Ξέρω ότι δεν γίνεται αυτό τώρα επειδή είναι PRIMARY key αλλά μπορούμε πολύ απλά να βγάλουμε την ιδιότητα PRIMARY από το πεδίο. Αν θες να δοκιμάσεις, να πως βγαίνει η ιδιότητα PRIMARY:

 

ALTER TABLE item_attributes DROP PRIMARY KEY;

 

Πάω για ύπνο, τα λέμε.

Den petixe :S

  • 0
Posted

Το περίμενα.

 

Τότε θα πρέπει να γίνουν αλλαγές στον κώδικα.

 

oxi, prepei na katsei na vrei to STR +1 kanonika, kai meta na parei to agmId kai na to valei se weapon

  • 0
Posted

oxi, prepei na katsei na vrei to STR +1 kanonika, kai meta na parei to agmId kai na to valei se weapon

Διάβασες τα παραπάνω replies;

 

Δεν θέλει να βάλει μόνο το STR + 1 σε ένα weapon, αλλά και τα 2 μαζί. (duel might passive και το STR +1)

  • 0
Posted

Διάβασες τα παραπάνω replies;

 

Δεν θέλει να βάλει μόνο το STR + 1 σε ένα weapon, αλλά και τα 2 μαζί. (duel might passive και το STR +1)

 

afto file oute se oniro, ta augment fevgoun pros client se packets writeD(item.getAgmId) kai ston client ola einai static, akoma kai AN kataferei na valei kai STR + 1 kai duel might 9a vlepei ena apo ta dio sto client

  • 0
Posted

afto file oute se oniro, ta augment fevgoun pros client se packets writeD(item.getAgmId) kai ston client ola einai static, akoma kai AN kataferei na valei kai STR + 1 kai duel might 9a vlepei ena apo ta dio sto client

Δεν ξέρω αν θέλει να φαίνονται και τα 2 στο client.

 

Όσο για αυτό που είπες, δεν το έχω ψάξει και για αυτόν τον λόγο δεν μπορώ να πω κάτι πάνω σε αυτό. (αλλά πιστεύω ότι τις πιο πολλές φορές υπάρχουν work-arounds στον προγραμματισμό)

Guest
This topic is now closed to further replies.


  • Posts

    • hello, i want to wtt my charracter in l2elmorelab 1x harbor for 1.5kkk adena in l2reborn 10x new. Or if you interested tell me your offer. :)) Clean Mail 30 lvl Cleric Naked   Updated.
    • package ai.npc.NFWalker; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import l2r.gameserver.enums.CtrlIntention; import l2r.gameserver.model.Location; import l2r.gameserver.model.actor.L2Npc; import l2r.gameserver.model.quest.Quest; import l2r.gameserver.network.clientpackets.Say2; import l2r.gameserver.network.serverpackets.NpcSay; public class NFWalkerAI extends Quest { private static final int WALKER_NPC_ID = 20116; private final Map<String, Route> routes = new HashMap<>(); private final Map<Integer, Integer> npcIndexes = new HashMap<>(); private final Map<Integer, Boolean> npcReverse = new HashMap<>(); private final Map<Integer, String> npcCurrentRoute = new HashMap<>(); public NFWalkerAI() { super(-1, NFWalkerAI.class.getSimpleName(), "ai/npc/NFWalker"); loadRoutes(); addSpawnId(WALKER_NPC_ID); } private void loadRoutes() { // Route 1 Data Route route1 = new Route("route1"); route1.addPoint(new RoutePoint(0, 149363, 172341, -941, 0, false, "")); route1.addPoint(new RoutePoint(1, 148568, 172328, -980, 5, true, "Puff")); route1.addPoint(new RoutePoint(2, 148536, 172792, -980, 0, false, "")); // Route 2 Data Route route2 = new Route("route2"); route2.addPoint(new RoutePoint(0, 149363, 172341, -941, 0, false, "")); route2.addPoint(new RoutePoint(1, 150248, 172328, -980, 5, true, "Rise my children! Bring me the servants of the god! Let them be offered to our god Bifrons!")); route2.addPoint(new RoutePoint(2, 150248, 172776, -980, 0, false, "")); // Add routes to the map routes.put("route1", route1); routes.put("route2", route2); } @Override public String onSpawn(L2Npc npc) { if (npc.getId() == WALKER_NPC_ID) { selectInitialRouteForNpc(npc); } return super.onSpawn(npc); } @Override public String onAdvEvent(String event, L2Npc npc, l2r.gameserver.model.actor.instance.L2PcInstance player) { if (event.equalsIgnoreCase("move")) { moveNpc(npc); } else if (event.equalsIgnoreCase("check_reached")) { checkIfReached(npc); } return null; } private void moveNpc(L2Npc npc) { String routeName = npcCurrentRoute.get(npc.getObjectId()); Route route = routes.get(routeName); Integer pointIndex = npcIndexes.get(npc.getObjectId()); if (route != null && pointIndex != null) { RoutePoint point = route.getPoints().get(pointIndex); if (point.isRun()) { npc.setRunning(); } else { npc.setWalking(); } if (!point.getChat().isEmpty()) { npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), point.getChat())); } npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(point.getX(), point.getY(), point.getZ())); // Log movement intention System.out.println("NPC " + npc.getObjectId() + " moving to " + point.getX() + ", " + point.getY() + ", " + point.getZ()); // Schedule a check to see if the NPC has reached its destination startQuestTimer("check_reached", 1000, npc, null); } } private void checkIfReached(L2Npc npc) { String routeName = npcCurrentRoute.get(npc.getObjectId()); Route route = routes.get(routeName); Integer pointIndex = npcIndexes.get(npc.getObjectId()); if (route != null && pointIndex != null) { RoutePoint point = route.getPoints().get(pointIndex); Location currentLocation = npc.getLocation(); Location targetLocation = new Location(point.getX(), point.getY(), point.getZ()); // Check if the NPC has reached the target location if (currentLocation.equals(targetLocation)) { // Log that the NPC has reached the target System.out.println("NPC " + npc.getObjectId() + " reached target " + targetLocation); // Schedule the next movement startQuestTimer("move", point.getDelay() * 1000, npc, null); if (!npcReverse.get(npc.getObjectId())) { pointIndex++; if (pointIndex >= route.getPoints().size()) { npcReverse.put(npc.getObjectId(), true); pointIndex = route.getPoints().size() - 1; } } else { pointIndex--; if (pointIndex < 0) { npcReverse.put(npc.getObjectId(), false); pointIndex = 0; // Choose a new route after completing the current one in both directions switchRouteForNpc(npc); return; } } npcIndexes.put(npc.getObjectId(), pointIndex); } else { // Check again after 1 second startQuestTimer("check_reached", 1000, npc, null); } } } private void selectInitialRouteForNpc(L2Npc npc) { // Randomly select either route1 or route2 String selectedRouteName = "route" + (new Random().nextInt(2) + 1); npcCurrentRoute.put(npc.getObjectId(), selectedRouteName); npcIndexes.put(npc.getObjectId(), 0); npcReverse.put(npc.getObjectId(), false); startQuestTimer("move", 5000, npc, null); // Log initial route selection System.out.println("NPC " + npc.getObjectId() + " selected initial route " + selectedRouteName); } private void switchRouteForNpc(L2Npc npc) { String currentRoute = npcCurrentRoute.get(npc.getObjectId()); String newRoute = currentRoute.equals("route1") ? "route2" : "route1"; npcCurrentRoute.put(npc.getObjectId(), newRoute); npcIndexes.put(npc.getObjectId(), 0); npcReverse.put(npc.getObjectId(), false); startQuestTimer("move", 5000, npc, null); // Log route switching System.out.println("NPC " + npc.getObjectId() + " switched to route " + newRoute); } private static class Route { private List<RoutePoint> points = new ArrayList<>(); public Route(String name) { } public void addPoint(RoutePoint point) { points.add(point); } public List<RoutePoint> getPoints() { return points; } } private static class RoutePoint { private int id; private int x, y, z, delay; private boolean run; private String chat; public RoutePoint(int id, int x, int y, int z, int delay, boolean run, String chat) { this.id = id; this.x = x; this.y = y; this.z = z; this.delay = delay; this.run = run; this.chat = chat; } public int getId() { return id; } public int getX() { return x; } public int getY() { return y; } public int getZ() { return z; } public int getDelay() { return delay; } public boolean isRun() { return run; } public String getChat() { return chat; } } } I looking for help, with this, the npc not start to move. Im trying to create, an NPC wich have multiple walk routes basic logic is  random pick a route complite the route  like Route 1 start form zero (0 -> 1 -> 2(or more) -> 1 -> 0) When the npc return to 0, the script should pic the other route and start again.  And if there is a message like point 1 here     "route1.addPoint(new RoutePoint(1, 148568, 172328, -980, 5, true, "Puff"));" The npc should display the chat message. Currently my problem is the npc not moving, but if I manage it to start moving its randomly move between the route 1 and 2 set of coordinates. Currently for me its  a nightmare. I hope anyone can help somhow.
    • We are certainly not an ambulance, but we will definitely cure you of blacklists and empty pockets. Live freely with SX! Each of you will receive a trial version of SX to familiarize yourself with the product, all you have to do is post in this thread
    • qual e o valor pra atualizar o java da soucer ?
  • Topics

×
×
  • Create New...