Jump to content
  • 0

Bad RequestBypassToServer: null


Question

Posted

Hi, I'm having a problem with the phoenix event when I click on "info" in npc, it does not open the html with the information of the event and this error in GS, does anyone know how to fix it?

 

https://imgur.com/a/DTLu3

 

https://imgur.com/a/5jumZ

15 answers to this question

Recommended Posts

  • 0
Posted (edited)
6 hours ago, L2shaken said:

Hi, I'm having a problem with the phoenix event when I click on "info" in npc, it does not open the html with the information of the event and this error in GS, does anyone know how to fix it?

 

https://imgur.com/a/DTLu3

 

https://imgur.com/a/5jumZ

 

This is not enough information, noone can help you.

Add more information.

 

Edited by Not Alone
  • 0
Posted

the button Info have a bypass, this bypass is wrong. check in requestbypasstoserver the specific bypass if it handles properly the tokens you sent

  • 0
Posted

Search the error message on sources, add a e.printStackTrace() and repost once you got more details. As said higher, a bypass encountered a null value and couldn't move on since it tried to make an action on an non-existing object.

  • 0
Posted

Check you RequestBypassToServer if have .

if dont have add.

				
				String[] str = _command.substring(6).trim().split(" ", 2);
				if (str.length == 1)
					activeChar.processQuestEvent(str[0], "");
				else
					activeChar.processQuestEvent(str[0], str[1]);
			}
+			else if (_command.startsWith("eventvote")) 
+				EventManager.getInstance().addVote(activeChar, Integer.parseInt(_command.substring(10))); 
+		 	else if (_command.startsWith("eventstats")) 
+		 	{
+		 		try
+		 		{
+		 	        EventStats.getInstance().showHtml(Integer.parseInt(_command.substring(11)),activeChar);
+		 		}
+		 		catch (Exception e)
+		 		{
+		 			activeChar.sendMessage("Currently there are no statistics to show.");
+		 		}
+		 	}
+		 	else if (_command.startsWith("eventstats_show")) 
+	 			EventStats.getInstance().showPlayerStats(Integer.parseInt(_command.substring(16)),activeChar); 
+		 	else if (_command.equals("eventbuffershow")) 
+		 		EventBuffer.getInstance().showHtml(activeChar); 
+		 	else if (_command.startsWith("eventbuffer")) 
+		 	{ 
+				EventBuffer.getInstance().changeList(activeChar, Integer.parseInt(_command.substring(12,_command.length()-2)), (Integer.parseInt(_command.substring(_command.length()-1)) == 0 ? false : true)); 
+				EventBuffer.getInstance().showHtml(activeChar); 
+		 	}
+		 	else if (_command.startsWith("eventinfo "))
+			{
+				int eventId = Integer.valueOf(_command.substring(10));
+				
+				NpcHtmlMessage html = new NpcHtmlMessage(0);
+				html.setFile("data/html/eventinfo/"+eventId+".htm");
+				activeChar.sendPacket(html);
+				activeChar.sendPacket(ActionFailed.STATIC_PACKET);
+			}
			else if (_command.startsWith("_match"))
			{

Thanks.

  • 0
Posted
7 hours ago, Tryskell said:

Search the error message on sources, add a e.printStackTrace() and repost once you got more details. As said higher, a bypass encountered a null value and couldn't move on since it tried to make an action on an non-existing object.


I've tried everything, apparently everything is correct, I do not understand this error.

  • 0
Posted
10 hours ago, Reborn12 said:

Missing requestbypasstoserver.java part if im not wrong


I added everything.

 

   Index: aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java


            else if (_command.startsWith("eventvote ")) 
			{
				EventManager.getInstance().addVote(activeChar, Integer.parseInt(_command.substring(10)));
			}
			else if (_command.startsWith("eventstats "))
			{
				try
				{
					EventStats.getInstance().showHtml(Integer.parseInt(_command.substring(11)),activeChar);
				}
				catch (Exception e)
				{
					activeChar.sendMessage("Currently there are no statistics to show.");
				}
			}
			else if (_command.startsWith("eventstats_show "))
			{
				EventStats.getInstance().showPlayerStats(Integer.parseInt(_command.substring(16)),activeChar);
			}
			else if (_command.equals("eventbuffershow"))
			{
				EventBuffer.getInstance().showHtml(activeChar);
			}
			else if (_command.startsWith("eventbuffer "))
			{
				EventBuffer.getInstance().changeList(activeChar, Integer.parseInt(_command.substring(12,_command.length()-2)), (Integer.parseInt(_command.substring(_command.length()-1)) == 0 ? false : true)); 
				EventBuffer.getInstance().showHtml(activeChar);
			}
			else if (_command.startsWith("eventinfo "))
		    {
				int eventId = Integer.valueOf(_command.substring(10));
		        
		        NpcHtmlMessage html = new NpcHtmlMessage(0);
		        html.setFile("data/html-" + activeChar.getPlayerLanguage() + "/mods/eventinfo/" + eventId + ".htm");
		        html.replace("%amount%", String.valueOf(EventManager.getInstance().getInt(eventId, "rewardAmmount")));
		        html.replace("%item%", ItemTable.getInstance().createDummyItem(EventManager.getInstance().getInt(eventId, "rewardId")).getItemName());
		        html.replace("%minlvl%", String.valueOf(EventManager.getInstance().getInt(eventId, "minLvl")));
		        html.replace("%maxlvl%", String.valueOf(EventManager.getInstance().getInt(eventId, "maxLvl")));
		        html.replace("%time%", String.valueOf(EventManager.getInstance().getInt(eventId, "matchTime") / 60));
		        html.replace("%players%", String.valueOf(EventManager.getInstance().getInt(eventId, "minPlayers")));
		        html.replace("%url%", EventManager.getInstance().getString("siteUrl"));
		        html.replace("%buffs%", EventManager.getInstance().getBoolean(eventId, "removeBuffs") ? "Self" : "Full");
		        activeChar.sendPacket(html);
		        activeChar.sendPacket(ActionFailed.STATIC_PACKET);
		    }

 

  Index: aCis_gameserver/java/net/sf/l2j/gameserver/events/EventManager.java

 

Responsible for displaying html from NPC:

public void showFirstHtml(L2PcInstance player, int obj)
	{
		NpcHtmlMessage html = new NpcHtmlMessage(obj);
		StringBuilder sb = new StringBuilder();
		int count = 0;
		
		sb.append("<html><body><center><table width=270><tr><td width=145>Event Engine</td><td width=75>" + (getBoolean("eventBufferEnabled") ? "<a action=\"bypass -h eventbuffershow\">Buffer</a>" : "") + "</td><td width=50><a action=\"bypass -h eventstats 1\">Statistics</a></td></tr></table></center><br>");
		
		if (getStatus() == State.VOTING)
		{
			sb.append("<center><table width=270 bgcolor=5A5A5A><tr><td width=90>Events</td><td width=140><center>Time left: " + cdtask.getTime() + "</center></td><td width=40><center>Votes</center></td></tr></table></center><br>");
			
			for (Map.Entry<Integer, Event> event : events.entrySet())
			{
				count++;
				sb.append("<center><table width=270 " + (count % 2 == 1 ? "" : "bgcolor=5A5A5A") + "><tr><td width=180>" + event.getValue().getString("eventName") + "</td><td width=30><a action=\"bypass -h eventinfo " + event.getKey() + "\">Info</a></td><td width=30><center>" + getVoteCount(event.getKey()) + "</td></tr></table></center>");
			}
			
			sb.append("</body></html>");
			html.setHtml(sb.toString());
			player.sendPacket(html);
		}
		else if (getStatus() == State.REGISTERING)
		{
			sb.append("<center><table width=270 bgcolor=5A5A5A><tr><td width=70>");
			
			if (players.contains(player))
				sb.append("<a action=\"bypass -h npc_" + obj + "_unreg\">Unregister</a>");
			else
				sb.append("<a action=\"bypass -h npc_" + obj + "_reg\">Register</a>");
			
			sb.append("</td><td width=130><center><a action=\"bypass -h eventinfo " + getCurrentEvent().getInt("ids") + "\">" + getCurrentEvent().getString("eventName") + "</a></td><td width=70>Time: " + cdtask.getTime() + "</td></tr></table><br>");
			
			for (L2PcInstance p : EventManager.getInstance().players)
			{
				count++;
				sb.append("<center><table width=270 " + (count % 2 == 1 ? "" : "bgcolor=5A5A5A") + "><tr><td width=120>" + p.getName() + "</td><td width=40>lvl " + p.getLevel() + "</td><td width=110>" + p.getTemplate().getClassName() + "</td></tr></table>");
			}
			
			sb.append("</body></html>");
			html.setHtml(sb.toString());
			player.sendPacket(html);
		}
		else if (getStatus() == State.RUNNING)
			getCurrentEvent().showHtml(player, obj);
	}
	

 

  • 0
Posted (edited)
14 minutes ago, tazerman2 said:

 

 

public void showFirstHtml(L2PcInstance player, int obj)

 

Show me that part of your code in EventManager.java for me to compare. is possible ?

Edited by L2shaken
  • 0
Posted (edited)

your showfirsthtml is differet from my and i can't give you my code because i have change html's and i sell my phoenix.

try add from this maybe you find problem.

http://www.mediafire.com/file/ww4b3u0efs58t8q/Phoenix+Event+Engine+aCis.rar

Edited by tazerman2
  • 0
Posted
17 minutes ago, tazerman2 said:

 

 

html.replace("%item%", ItemTable.getInstance().createDummyItem(EventManager.getInstance().getInt(eventId, "rewardId")).getItemName());

 


I found the error, it is in this line, I isolated it and it worked normally.

  • 0
Posted (edited)

Why would you create a dummy item for ? Simply use ItemTable to retrieve item name, based on the itemId.

 

And put a damn null check if the item doesn't exist (case you write an invalid itemId, or don't write it at all).

Edited by Tryskell

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
Answer this question...

×   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.

×
×
  • Create New...