Jump to content
  • 0

Bad RequestBypassToServer: null


Question

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

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

    • If you’re juggling mixed payment methods and tricky setups, I’ve found that easing the pressure on the subscription side can make the whole flow smoother. I started using Subscription Revenue Growth for handling my own recurring payments, upgrades, and all that messy churn stuff, and it took a big weight off. Pairing something stable for subs with your gateway setup can keep cashflow from going off the rails.
    • L2Avalon launches February 20 High Five project (Salvation client) focused on classic world progression — not instance spam and not “twink” metas. What is L2Avalon? L2Avalon is built around real Lineage 2 gameplay: farming spots, open world conflict, raids, epics, economy and competition. No Kamael Reduced instanced content **Discord:** https://discord.gg/NbM2cXmAem 🌐 **Website:** https://l2avalon.net Balance & Economy Every class is tuned to be viable in PvE and PvP Off-meta classes get buffed instead of adding power-creep garbage Adena-based economy Farming matters: boosted Drop/Spoil for each stage of progression Rates & Settings Dynamic XP: 50x (Lv 1–40) → 1x (Lv 78+) Staged progression with new content unlocking weekly Adena / Drop / Spoil: 3x / 5x / 5x NPC Buffer: 2 hours (Premium: 3 hours) Box limit: 2+1 windows per PC MP potion: 1000 MP, 10s cooldown Free2Play System (earn Donate Coins by playing) You don’t have to donate to progress. Donate Coins drop in-game, so everything is achievable through playtime and activity. Where Donate Coins drop: Mobs Lv 76+, Raid Bosses Lv 70+, Epic Bosses Auto-farm (controlled) Limit: only 1 window can use auto-farm at the same time Daily time: 1 hour/day without Premium Extra tickets: purchasable with PC Bang points (earned by being online) Disabled zones: CC / IT / FOG / VARKA / KETRA Equipment Changes Reworked set bonuses Reworked SA system Enchanted set bonuses Enchanted shirt bonuses Fake Epic jewelry (weakened alternative) Skills (High Five mechanics) New skills added Old skills updated New enchant branches + updated existing ones Subclass skills Clan skills Daily Activities (solo-friendly) Events / Missions / Instances Stages Soon — stage schedule and weekly unlocks will be published February 20 — we start. **Discord:** https://discord.gg/NbM2cXmAem 🌐 **Website:** https://l2avalon.net
    • Hello MxC community, i want to buy client dev / patch maker services for the client of salvation. Im using L2jeternity multiprotocol (h5-salvation 140). I want a Patch full optimized for the h5 content. Everything that is not needed must be removed, as well as some textures like maps for example should be also adjusted to h5 content. If you know anyone that can take the job feel free to contact me here or in Discord. Only professional work.   Discord: ch4osroxas   Thank you very much!
    • Hi dude, i`m in the same way of nawaro, leaning how to edit interfaces, could u help me too?
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

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