Jump to content
  • 0

Question

Posted (edited)

paidia vazw ena npc pou deixnei ta rb an einai alive i dead kai mou vgazei kati null mesa sto npc enw to code dn exei tpt 

mporeite na help ?

 

Shot00000.png

 

/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 * 02111-1307, USA.
 *
 * http://www.gnu.org/copyleft/gpl.html
 */
package net.sf.l2j.gameserver.model.actor.instance;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;


import net.sf.l2j.L2DatabaseFactory;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.model.actor.L2Npc;
import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
import net.sf.l2j.gameserver.network.serverpackets.MyTargetSelected;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.gameserver.network.serverpackets.ValidateLocation;
import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;


public class L2RBStatsInstance extends L2Npc {


public L2RBStatsInstance(int objectId, L2NpcTemplate template) {
super(objectId, template);
// TODO Auto-generated constructor stub
}


public void onAction(L2PcInstance player) {
if (this != player.getTarget())
        {
            player.setTarget(this);
            player.sendPacket(new MyTargetSelected(getObjectId(), 0));
            player.sendPacket(new ValidateLocation(this));
        }
        else
        {
            player.sendPacket(new MyTargetSelected(getObjectId(), 0));
            player.getAI().setIntention(CtrlIntention.INTERACT, this);
            
            if (!isInsideRadius(player, 150, false, false))
                player.sendPacket(ActionFailed.STATIC_PACKET);
            else
             showHtmlWindow(player);
        }
    }


private void showHtmlWindow(L2PcInstance activeChar)
{
showChatWindow(activeChar);


activeChar.sendPacket(ActionFailed.STATIC_PACKET);
}




@Override 
public void showChatWindow(L2PcInstance player) {
NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
StringBuilder tb = new StringBuilder();
PreparedStatement statement = null;
ResultSet rset = null;
HashMap<Integer,String> raidboss = new  HashMap<Integer,String>();


raidboss.put(29001,"Queen Ant");
raidboss.put(29006,"Core");
raidboss.put(29014,"Orfen");
raidboss.put(29019,"Antharas");
raidboss.put(29020,"Baium");
raidboss.put(29022,"Zaken");
raidboss.put(29028,"Valakas");
raidboss.put(25035,"Shilen's Messenger Cabrio");
raidboss.put(25126,"Longhorn Golkonda");
raidboss.put(25054,"Kernon");
raidboss.put(25220,"Death Lord Hallate");
raidboss.put(25229,"Storm Winged Naga");
raidboss.put(25099,"Bloody Tree Vermilion");
raidboss.put(25276,"Death Lord Ipos");
raidboss.put(25255,"Gargoyle Lord Tiphon");
raidboss.put(25252,"Palibati Queen Themis");
raidboss.put(25266,"Bloody Empress Decarbia");
raidboss.put(25315,"Varka's Chief Horus");
raidboss.put(25312,"Varka's Commander Mos");
raidboss.put(25309,"Varka's Hero Shadith");
raidboss.put(25235,"Vanor Chief Kandra");
raidboss.put(25269,"Beast Lord Behemoth");
raidboss.put(25143,"Fire of Wrath Shuriel");
raidboss.put(25109,"Antharas Priest Cloe");
raidboss.put(25245,"Last Lesser Giant Glaki");
raidboss.put(25293,"Hestia Guardian Deity of the Hot Springs");
raidboss.put(25299,"Ketra's Hero Hekaton");
raidboss.put(25302,"Ketra's Commander Tayr");
raidboss.put(25305,"Ketra's Chief Brakki");
raidboss.put(25322,"Demon's Agent Falston");
raidboss.put(25328,"Eilhalder von Hellmann");
raidboss.put(25450,"Cherub Galaxia");
raidboss.put(25244,"Last Lesser Giant Olkuth");








tb.append("<html><title>Raid Boss Status</title><body><center><br>");


try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
statement = con.prepareStatement("SELECT boss_id, respawn_time FROM grandboss_data UNION SELECT boss_id, respawn_time FROM raidboss_spawnlist");


rset = statement.executeQuery();
tb.append("<table width=\"280\">");
tb.append("<tr><td>Name</td>");
tb.append("<td>Status</td></tr>");


while (rset.next())
{


tb.append("<tr><td>" + raidboss.get(rset.getInt("boss_id")) + "</td>");
if (rset.getLong("respawn_time") > 0)
tb.append("<td>" + "Dead" + "</td></tr>");
else
tb.append("<td>" + "Alive" + "</td></tr>");


}
tb.append("</table>");


rset.close();
statement.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
  
  tb.append("</center></body></html>");
  
  msg.setHtml(tb.toString());
  msg.replace("%objectId%", String.valueOf(this.getObjectId()));
  player.sendPacket(msg);
}
}
Edited by MeVsYou

Recommended Posts

  • 0
Posted

ayto bgainei giati stin sql iparxoun kapia rb pou den mpikan sto hashmap

 

edw diladi


HashMap<Integer,String> raidboss = new  HashMap<Integer,String>();

raidboss.put(29001,"Queen Ant");

[/code

 

pane des pia loipoun 

kai bale aytes tis grames

 

raidboss.put(<to id tou boss p lipei>,"<to onoma tou boss p lipei>");

 

(an kai tha eprepe na ginei allios to code ayto einai ena hotfix)

  • 0
Posted
  On 11/26/2014 at 11:08 PM, xTakegawa said:

ma den 8elw na upoarxoun sto npc mou auta pou leipoun

wraia pare kai svise tis grammes pou den thes 

 

raidboss.put(25220,"Death Lord Hallate");

 

ayto px leei oti einai to death lord hallate pare kai svise olo to lane ap ta npc pou den thes. prosexe omws min sviseis kanena ;  katalathos kai sou vgazei error

  • 0
Posted

tpt pali ta idia 

egw to ekana anti gia retsi raidboss.put(25220,"Death Lord Hallate");

etsi   raidboss.put(25220,"");

i mipos ennoeis kati allo ?

  • 0
Posted
  On 11/27/2014 at 12:16 PM, xTakegawa said:

tpt pali ta idia 

egw to ekana anti gia retsi raidboss.put(25220,"Death Lord Hallate");

etsi   raidboss.put(25220,"");

i mipos ennoeis kati allo ?

svise oli ti grammi..kanto etsi diladi:

 

raidboss.put(29001,"Queen Ant");

raidboss.put(29006,"Core");

raidboss.put(29014,"Orfen");

raidboss.put(29019,"Antharas");

raidboss.put(29020,"Baium");

raidboss.put(29022,"Zaken");

raidboss.put(29028,"Valakas");

raidboss.put(25035,"Shilen's Messenger Cabrio");

raidboss.put(25126,"Longhorn Golkonda");

raidboss.put(25054,"Kernon");

raidboss.put(25229,"Storm Winged Naga");

raidboss.put(25099,"Bloody Tree Vermilion");

raidboss.put(25276,"Death Lord Ipos");

raidboss.put(25255,"Gargoyle Lord Tiphon");

raidboss.put(25252,"Palibati Queen Themis");

raidboss.put(25266,"Bloody Empress Decarbia");

raidboss.put(25315,"Varka's Chief Horus");

raidboss.put(25312,"Varka's Commander Mos");

raidboss.put(25309,"Varka's Hero Shadith");

raidboss.put(25235,"Vanor Chief Kandra");

raidboss.put(25269,"Beast Lord Behemoth");

raidboss.put(25143,"Fire of Wrath Shuriel");

raidboss.put(25109,"Antharas Priest Cloe");

raidboss.put(25245,"Last Lesser Giant Glaki");

raidboss.put(25293,"Hestia Guardian Deity of the Hot Springs");

raidboss.put(25299,"Ketra's Hero Hekaton");

raidboss.put(25302,"Ketra's Commander Tayr");

raidboss.put(25305,"Ketra's Chief Brakki");

raidboss.put(25322,"Demon's Agent Falston");

raidboss.put(25328,"Eilhalder von Hellmann");

raidboss.put(25450,"Cherub Galaxia");

raidboss.put(25244,"Last Lesser Giant Olkuth");

  • 0
Posted

mou vgazei episis sto console auto edw:

 

SpawnTable: Could not store spawn in the DB:com.mysql.jdbc.MysqlDataTruncation:
Data truncation: Out of range value for column 'npc_templateid' at row 1
  • 0
Posted
  On 11/27/2014 at 9:30 PM, xTakegawa said:

 

mou vgazei episis sto console auto edw:

 

SpawnTable: Could not store spawn in the DB:com.mysql.jdbc.MysqlDataTruncation:
Data truncation: Out of range value for column 'npc_templateid' at row 1

 

exei xexwrista html ayto to npc?

  • 0
Posted (edited)
  On 11/27/2014 at 9:30 PM, xTakegawa said:

 

mou vgazei episis sto console auto edw:

 

SpawnTable: Could not store spawn in the DB:com.mysql.jdbc.MysqlDataTruncation:
Data truncation: Out of range value for column 'npc_templateid' at row 1

 

SPAWNTABLE(spawnlist) 

COLUMN  'npc_templateid' 

OUT OF RANGE VALUE

Mipos evales kanena trelo noumero ekei?? :P

Edited by Dante44®
  • 0
Posted
  On 11/27/2014 at 10:59 PM, Dante44® said:

SPAWNTABLE(spawnlist) 

COLUMN  'npc_templateid' 

OUT OF RANGE VALUE

Mipos evales kanena trelo noumero ekei?? :P

oxi dn to peiraksa kan :/

  • 0
Posted
  On 11/27/2014 at 11:41 PM, xTakegawa said:

nai exei ksexwrista 

afou exei xexwrista tote apo kei tha ta sviseis nomiza to html einai grammeno sto script. tha vreis to html pou leei to raidboss pou thes na sviseis kai tha sviseis ti grammi pou thes. an den xereis pws kanto post edw na se voithisoume

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 ?
    • qual e o valor pra atualizar o java ?
  • Topics

×
×
  • Create New...