Jump to content
  • 0

[Help] TVT/CTF/DM participation problem


Question

Posted

I can't see the Join button. I can only see this:

 

CTF Match

Current event...
... description
... reward

There are %% players blabla...

 

And no Join button...

 

P.S. I'm using l2jfree

9 answers to this question

Recommended Posts

  • 0
Posted

its don't excuse that u go over the rules ^^

 

your players won't die because they don't have 1 day no auto events...

 

so its the htm? did u chance somethings anywhere ?

  • 0
Posted

someone? :/ I'm starting to get frustrated with this problem :( Sorry about double-posting twice but this is a problem on a live server and people are starting to leave

  • 0
Posted

There is no html. It's only in java. I can paste you the html part of the script though (the whole function) :) :

 

public static void showEventHtml(L2PcInstance eventPlayer, String objectId)

{

try

{

NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

 

L2TextBuilder replyMSG = L2TextBuilder.newInstance("<html><body>");

replyMSG.append("TvT Match<br><br><br>");

replyMSG.append("Current event...<br1>");

replyMSG.append("    ... name: <font color=\"00FF00\">" + _eventName + "</font><br1>");

replyMSG.append("    ... description: <font color=\"00FF00\">" + _eventDesc + "</font><br>");

if (Config.TVT_ANNOUNCE_REWARD)

replyMSG.append("    ... reward: (" + _rewardAmount + ") " + ItemTable.getInstance().getTemplate(_rewardId).getName() + "<br>");

 

if (!_started && !_joining)

replyMSG.append("<center>Wait till the admin/gm start the participation.</center>");

else if (Config.TVT_EVEN_TEAMS.equals("SHUFFLE") && !checkMaxPlayers(_playersShuffle.size()))

{

if (!TvT._started)

{

replyMSG

.append("<font color=\"FFFF00\">The event has reached its maximum capacity.</font><br>Keep checking, someone may crit and you can steal their spot.");

}

}

else if (eventPlayer.isCursedWeaponEquipped() && !Config.TVT_JOIN_CURSED)

{

replyMSG.append("<font color=\"FFFF00\">You can't participate in this event with a cursed Weapon.</font><br>");

}

else if (!_started && _joining && eventPlayer.getLevel() >= _minlvl && eventPlayer.getLevel() < _maxlvl)

{

if (_players.contains(eventPlayer) || checkShufflePlayers(eventPlayer))

{

if (Config.TVT_EVEN_TEAMS.equals("NO") || Config.TVT_EVEN_TEAMS.equals("BALANCE"))

replyMSG.append("You are already participating in team <font color=\"LEVEL\">" + eventPlayer.as(TvTPlayerInfo.class)._teamNameTvT + "</font><br><br>");

else if (Config.TVT_EVEN_TEAMS.equals("SHUFFLE"))

replyMSG.append("You are already participating!<br><br>");

 

replyMSG.append("<table border=\"0\"><tr>");

replyMSG.append("<td width=\"200\">Wait till event start or</td>");

replyMSG.append("<td width=\"60\"><center><button value=\"remove\" action=\"bypass -h npc_" + objectId

+ "_tvt_player_leave\" width=50 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></td>");

replyMSG.append("<td width=\"100\">your participation!</td>");

replyMSG.append("</tr></table>");

}

else

{

replyMSG.append("You want to participate in the event?<br><br>");

replyMSG.append("<td width=\"200\">Your level : <font color=\"00FF00\">" + eventPlayer.getLevel() + "</font></td><br>");

replyMSG.append("<td width=\"200\">Min level : <font color=\"00FF00\">" + _minlvl + "</font></td><br>");

replyMSG.append("<td width=\"200\">Max level : <font color=\"00FF00\">" + _maxlvl + "</font></td><br><br>");

 

if (Config.TVT_EVEN_TEAMS.equals("NO") || Config.TVT_EVEN_TEAMS.equals("BALANCE"))

{

replyMSG.append("<center><table border=\"0\">");

 

for (String team : _teams)

{

replyMSG.append("<tr><td width=\"100\"><font color=\"LEVEL\">" + team + "</font> (" + teamPlayersCount(team) + " joined)</td>");

replyMSG.append("<td width=\"60\"><button value=\"Join\" action=\"bypass -h npc_" + objectId + "_tvt_player_join " + team

+ "\" width=50 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");

}

 

replyMSG.append("</table></center>");

}

else if (Config.TVT_EVEN_TEAMS.equals("SHUFFLE"))

{

replyMSG.append("<center><table border=\"0\">");

 

for (String team : _teams)

replyMSG.append("<tr><td width=\"100\"><font color=\"LEVEL\">" + team + "</font></td>");

 

replyMSG.append("</table></center><br>");

 

replyMSG.append("<button value=\"Join\" action=\"bypass -h npc_" + objectId

+ "_tvt_player_join eventShuffle\" width=50 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");

replyMSG.append("Teams will be randomly generated!");

}

}

}

else if (_started && !_joining)

replyMSG.append("<center>TvT match is in progress.</center>");

else if (eventPlayer.getLevel() < _minlvl || eventPlayer.getLevel() > _maxlvl)

{

replyMSG.append("Your level : <font color=\"00FF00\">" + eventPlayer.getLevel() + "</font><br>");

replyMSG.append("Min level : <font color=\"00FF00\">" + _minlvl + "</font><br>");

replyMSG.append("Max level : <font color=\"00FF00\">" + _maxlvl + "</font><br><br>");

replyMSG.append("<font color=\"FFFF00\">You can't participate in this event.</font><br>");

}

// Show how many players joined & how many are still needed to join

replyMSG.append("<br>There are " + _playersShuffle.size() + " player(s) participating in this event.<br>");

if (_joining)

{

if (_playersShuffle.size() < _minPlayers)

{

int playersNeeded = _minPlayers - _playersShuffle.size();

replyMSG.append("The event will not start unless " + playersNeeded + " more player(s) joins!");

}

}

replyMSG.append("</body></html>");

adminReply.setHtml(replyMSG.moveToString());

eventPlayer.sendPacket(adminReply);

 

// Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet

eventPlayer.sendPacket(ActionFailed.STATIC_PACKET);

}

catch (Exception e)

{

_log.warn("TvT Engine[showEventHtlm(" + eventPlayer.getName() + ", " + objectId + ")]: exception", e);

}

}

  • 0
Posted

if (!_started && !_joining)
            replyMSG.append("<center>Wait till the admin/gm start the participation.</center>");

 

It's not obvious for you to think you have to start manually the thing ?

 

There are players level checks too (min and max).

 

----

 

Made me laugh (devs are bitches lol).

 

Keep checking, someone may crit and you can steal their spot.

Guest
This topic is now closed to further replies.


  • Posts

    • Yes, I have no problem going that route either. I've already done business with a couple of people and always paid. Thank you for your concern and for protecting the community from scammers. cheers. K
    • For many Elden Ring players, especially those short on time or seeking a specific build, buying items online has become a practical and time-saving solution. However, as someone who’s made that choice multiple times, I know firsthand that not all sellers are legitimate—and the risk of losing your money, or worse, getting banned, is real. Through trial and error, and countless hours in the community, I’ve discovered five proven methods to help players like you find authentic Elden Ring items to buy—safely, efficiently, and without risking your account. Here’s how to make sure you’re getting exactly what you need, the right way. 1. Choose Platforms That Guarantee Elden Ring Items Without Ban The number one concern when you buy Elden Ring items is avoiding account penalties. I've personally used platforms that explicitly promote delivery methods aligned with FromSoftware’s guidelines—like safe in-game drops, no cheats, and no modded content. Look for sellers or marketplaces that guarantee you’ll receive elden ring items without ban risk. If that promise isn’t clear or backed by community trust, move on. One time, I made the mistake of buying from an unverified Discord seller—within a week, I saw strange behavior on my account and had to delete my save file. Lesson learned: stick with professional services that know what they’re doing. 2. Rely on Established Marketplaces with Verified Reviews Always look for buyer feedback and real user ratings. Reputable platforms will have a track record of successful transactions and transparent customer experiences. I tend to avoid any site or seller that hides feedback or has a generic, incomplete website. The platforms I trust most let users post detailed reviews and show proof of item delivery—usually with timestamps and screenshots. That added layer of transparency gave me peace of mind the first time I placed an order, and it’s been part of my decision-making ever since. 3. Start with a Small Order to Test Reliability If you’re uncertain, try a small purchase first. This was my approach when I first decided to buy Elden Ring items. I ordered just a few smithing stones to upgrade a secondary weapon and see how the process worked. The seller delivered in under 10 minutes, and the transaction went smoothly. That small step helped build trust, and I gradually scaled up future purchases for full armor sets and talismans. It’s the smartest way to gauge service quality without taking a big risk up front.  [url=https://www.u4gm.com/elden-ring-items][img]https://i.pinimg.com/736x/9d/7d/d4/9d7dd41fc381c64fe9b93e5c11584513.jpg [/img][/url]   4. Confirm Safe Delivery Methods (No Bots or Cheats) Authentic sellers will provide clear instructions on how the item delivery will happen—usually through password-protected multiplayer sessions where they drop items directly to your character. That’s how I’ve received every safe delivery so far. If a seller talks about instant “mailing,” bots, or strange back-end tools, that’s a red flag. Those methods are often tied to bans or corrupted saves. Look for sellers who mention manual delivery, cooperative drops, or private session coordination—these methods are the standard for getting elden ring items without ban issues. 5. Ask for Live Support or Communication Options Good sellers are responsive, offer live chat, or message confirmations. I once had a situation where I accidentally gave the wrong character name for delivery. Thanks to a quick reply from customer support, they corrected it instantly. If a seller isn’t responsive or has no support at all, that’s a sign they may disappear after you’ve paid. A platform with clear customer service builds trust and shows professionalism—especially helpful if you’re new to the process.   There’s nothing wrong with wanting to buy Elden Ring items to save time or explore new builds. I’ve done it several times, and when done correctly, it can genuinely enhance the game without ruining the experience. But your safety comes first. By following these five proven methods, you can make sure the items you receive are legitimate, safe, and won’t get your account flagged. Always prioritize platforms that clearly offer elden ring items without ban risk, and when in doubt—start small, ask questions, and trust your instincts. How to Earn Fast: Buy Elden Ring Items Safely – No Risk of Ban
  • 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