Jump to content
  • 0

Question

Posted

Hi everyone! Im Argentinian so, sorry my bad english!

 

In one sv that i played some days i've saw a good addon!

 

Its somethink like a Newbie Tutorial, in lv 6 appears a window that offers you a buffer, at lv 10 appears another tutorial offering a teleport to Elven Ruins. Lv 20: Again a popup asking to change class, offering D set, weapon and shots AND ask if u want to teleport another farm zone.

 

Somebody know that addon? I dont want to create all theese for myself, its too much code xD

 

Here one pick:

image.jpg

 

Recommended Posts

  • 0
Posted

I don't remember such thing at the shares section. You have to create the event listener on your own. :lol:

  • 0
Posted (edited)

i think is not java. is html and system , he create a nice html and add custom icon . how to create custom icon? here -> http://www.maxcheaters.com/topic/168739-how-to-create-your-own-icon-how-to-import-it/

and teleport with sql 

Edit : i think u will need java only for the name

Edited by kris131
  • 0
Posted (edited)

Just go at the method that happen when player level up (Search it i dont even remember where it is, no even have eclipse opened),

add a void called checkSupportTutorial(player);  example

and make a simple code like:

 

int lvl = player.getLevel();

switch (lvl)

{

  case 1:

    (inside here put some html ,check other function how to send html packet to player)

   break;

 

  case 10:

    (inside here put some html ,check other function how to send html packet to player)

    break;

}

 

and the action inside html make it like bypass -h supportPlayer 1    for example

and go at RequestByPassToServer.java add it like...

 

if (event.startsWith("supportPlayer")

{
     int endOfId = _command.indexOf(' ', 13);   (13 is the size of command)

     int id  = id = _command.substring(13, endOfId);

    

     switch(id)

     case 1:

          // things that happen inside here when the button pressed, like give items or teleport or buffs or idk...

          // idk maybe player.teleToLocation(x,y,z); 

     case 2:

          // things that happen inside here when the button pressed, like give items or teleport or buffs or idk...

          // idk maybe player.teleToLocation(x,y,z); 

    case 3:

          // things that happen inside here when the button pressed, like give items or teleport or buffs or idk...

          // idk maybe player.teleToLocation(x,y,z); 

   etc

}

 

You can check your source  to see how it send a html packet to player

its simple its like

 

StringBuilder sb = new StringBuilder(200);
sb.append("<html><body>");
sb.append("Some silly things<br1>");
sb.append("More things<br1>");
sb.append("</body></html>");
final NpcHtmlMessage pck = new NpcHtmlMessage(0, 1, sb.toString());
activeChar.sendPacket(pck);
Edited by AccessDenied
  • 0
Posted

also check the case on deleveling a character and allow or dissallow him to use that feature once again

  • 0
Posted (edited)

also check the case on deleveling a character and allow or dissallow him to use that feature once again

thats easy and you dont even need to store to db its useless if it give basic gear or buffs.. 

 

just add a method at L2PcInstance.java

 

private boolean _receivedSupport;

 

public void setReceivedSupport(boolean h)

{

   _receivedSupport = h;

}

 

public boolean isReceivedSupport()

{

   return _receivedSupport;

}

Edited by AccessDenied
  • 0
Posted

thats easy and you dont even need to store to db its useless if it give basic gear or buffs.. 

 

just add a method at L2PcInstance.java

 

private boolean _receivedSupport;

 

public void setReceivedSupport(boolean h)

{

   _receivedSupport = h;

}

 

public int isReceivedSupport()

{

   return _receivedSupport;

}

What happens on re-log? :lol:

  • 0
Posted (edited)

What happens on re-log? :lol:

well as i said is not that important... i mean is basic gear and buffs.. come on..

 

in the worst case you make a map and store objectid of the player and his current state

 

and on enterworld  it check if the map contain his key and  activeChar.setReceivedSupport(true);

Edited by AccessDenied
  • 0
Posted (edited)

Please pest post more exploitable shitcode

Exquse me i dont even use eclipse to check syntax or anything but there you go..

 

static Hashtable<Integer, Integer> _hashTable = new Hashtable<Integer,Integer>(); 
public static HashMap<Integer, Integer> _StartingSupport = new HashMap(_hashTable);
 
 
public static void CheckPlayer(L2PcInstance player)
{
 if (!_StartingSupport .isEmpty() && _StartingSupport .containsKey(player.getObjectId()))
 {
      player.setReceivedSupport(true);
    // or idk what.
 }
}
 
Why no? Avoid store at db and is a  nice solution until server restart.. which again is not needed cause we speak for basic gear and basic buffs.. 
 
the 2nd integer is used to check the current state actualy  1 for the 1st window  2 for the 2nd window 3 for the rd window just to know in which window player is when he login 
Edited by AccessDenied
  • 0
Posted

well as i said is not that important... i mean is basic gear and buffs.. come on..

 

in the worst case you make a map and store objectid of the player and his current state

 

and on enterworld  it check if the map contain his key and  activeChar.setReceivedSupport(true);

Ok, what about server restart then? :D

  • 0
Posted (edited)

Ok, what about server restart then? :D

Fuck me >.>  <.<  

 

go to db then -.- and load the info if you like db con that much >.> <.<

I'm sure afterwards you gonna say

 

Ok, what about earth desctruction?  -.-

Edited by AccessDenied
  • 0
Posted

Fuck me >.>  <.<  

 

go to db then -.- and load the info if you like db con that much >.> <.<

It could be simple column like 'level_reached' in the characters table, which you can load on character login, and update on character logout. No extra performance needed. :lol:

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

    • I connected everything without any problems. Does anyone know why I'm not getting experience for killing mobs? Has anyone encountered this? I'm setting the rates to x300, but it still doesn't give experience or level for killing mobs.
    • I'm using Myext64 HF and recently tried to replicate the "br_xmas09_event" Raising Rudolph Event. Detailed event information can be found at https://legacy-lineage2.com/news/_rudolf_the_red.html After configuring .eventdata.xml and starting the server, t  server log shows: 12/02/2025 15:39:01.809, [NO_ERROR] SpawnEx2 [br_xmas2009_invisible][schuttgart20_npc2213_xs03m1] [1][0][0][0][0][346796390] 12/02/2025 15:39:02.057, DummyPacket received from L2Server 12/02/2025 15:39:02.058, server socket close 312ac(f0820224) error(997) 12/02/2025 15:39:02.058, [CallStack][tid:0][tick:2][0] Begin 12/02/2025 15:39:02.058, [CallStack][tid:0][tick:2][1][0] void __cdecl IOThreadCallback::IOThread_common(void) 12/02/2025 15:39:02.059, [CallStack][tid:0][tick:2][2][1] void IOThread_common 1 12/02/2025 15:39:02.059, [CallStack][tid:0][tick:2][3][2] void __cdecl CIOSocketEx<class CIOBufferEx<16384> >::Close(void) 12/02/2025 15:39:02.059, [CallStack][tid:0][tick:2][4][3] void __cdecl CServerSocket::OnClose(void) 12/02/2025 15:39:02.059, [CallStack][tid:0][tick:2][5] End l2server log: 12/02/2025 15:39:02.112, npc server closed(127.0.0.1) error: 64 read buffer size: (server:0 npc:0) 12/02/2025 15:39:02.112, [NO_ERROR] L2Server is under protection mode!!! 12/02/2025 15:39:02.112, [NO_ERROR] L2Server is under protection mode!!! 12/02/2025 15:39:02.112, [NO_ERROR] L2Server is under protection mode!!! 12/02/2025 15:39:02.131, dwTime[0] < 80 !!!!!!! 12/02/2025 15:39:02.131, [CallStack][tid:7][tick:1][0] Begin 12/02/2025 15:39:02.132, [CallStack][tid:7][tick:1][1][0] void __cdecl IOThreadCallback::IOThread_common(void) 12/02/2025 15:39:02.132, [CallStack][tid:7][tick:1][2][1] void IOThread_common 1 12/02/2025 15:39:02.132, [CallStack][tid:7][tick:1][4][3] void __cdecl NpcSocket::OnClose(void) 12/02/2025 15:39:02.132, [CallStack][tid:7][tick:1][3][2] void __cdecl CIOSocketEx<class CIOBufferEx<16384> >::Close(void) 12/02/2025 15:39:02.132, [CallStack][tid:7][tick:1][5] End 12/02/2025 15:39:31.767, server closed(127.0.0.1) Error: 64 Read buffer size: (server:0 npc:0) 12/02/2025 15:39:31.768, [NO_ERROR] Logout All Characters : 1   The NPC server sent a packet to the L2 server while generating the br_xmas2009_invisible game NPC server, and the NPC server subsequently crashed.     After some digging, I found a clue in a very old MXC post, but the fix was for the GF version. The whole problem is in l2server side support for NPC function CreateOnePrivateNearUser. It sends CreatePacket but Koreans made some changes in it (added instance ID) so it got broken. As Santa event is the only AI that uses this function, they probably don't know about it    So is there a way to fix this problem, specifically for Myext64 HF? I'd be happy to buy him coffee. set_compiler_opt base_event_type(@NTYPE_NPC_EVENT) class ai_br_vital_manager : default_npc { parameter: int br_vitality2010_EVENT_ID = 20108888; handler: EventHandler CREATED() { } EventHandler TALKED(talker) { ShowPage(talker, "br_vi_stevu001.htm"); super; } EventHandler GIVE_EVENT_DATA(talker, i0, i1, i2, i3, i4) { i3 = i2 / 3600; i2 = i2 - i3 * 3600; i4 = i2 / 60; i2 = i2 - i4 * 60; if (i1 == 20108888) { if (i0 == 1) { CastBuffForQuestReward(talker, @s_br_vitality_day_1); CastBuffForQuestReward(talker, @s_br_vitality_day_2); ShowPage(talker, "br_vi_stevu002.htm"); } else { ShowPage(talker, "br_vi_stevu003.htm"); } } } EventHandler MENU_SELECTED(talker, ask, reply, c0) { if (ask == 50021) { select (reply) { case 1: CanGiveEventData(talker, 20108888); break; case 2: if (talker.level <= 75) { ShowPage(talker, "br_vi_stevu005.htm"); } else if (IsInCategory(@fighter_group, talker.occupation)) { CastBuffForQuestReward(talker, @s_wind_walk_for_newbie); CastBuffForQuestReward(talker, @s_shield_for_newbie); CastBuffForQuestReward(talker, @s_magic_barrier_for_adventurer); CastBuffForQuestReward(talker, @s_bless_the_body_for_newbie); CastBuffForQuestReward(talker, @s_vampiric_rage_for_newbie); CastBuffForQuestReward(talker, @s_regeneration_for_newbie); CastBuffForQuestReward(talker, @s_haste_for_adventurer); ShowPage(talker, "br_vi_stevu006.htm"); } else if (IsInCategory(@mage_group, talker.occupation)) { CastBuffForQuestReward(talker, @s_wind_walk_for_newbie); CastBuffForQuestReward(talker, @s_shield_for_newbie); CastBuffForQuestReward(talker, @s_magic_barrier_for_adventurer); CastBuffForQuestReward(talker, @s_bless_the_soul_for_newbie); CastBuffForQuestReward(talker, @s_acumen_for_newbie); CastBuffForQuestReward(talker, @s_concentration_for_newbie); CastBuffForQuestReward(talker, @s_empower_for_newbie); ShowPage(talker, "br_vi_stevu007.htm"); } break; case 3: c0 = GetSummon(talker); if (talker.level <= 75) { ShowPage(talker, "br_vi_stevu011.htm"); } else if (IsNullCreature(c0) == 0 && IsInCategory(@summon_npc_group, c0.class_id) && IsInCategory(@pet_group, c0.class_id) == 0) { CastBuffForQuestReward(c0, @s_wind_walk_for_newbie); CastBuffForQuestReward(c0, @s_shield_for_newbie); CastBuffForQuestReward(c0, @s_magic_barrier_for_adventurer); CastBuffForQuestReward(c0, @s_bless_the_body_for_newbie); CastBuffForQuestReward(c0, @s_vampiric_rage_for_newbie); CastBuffForQuestReward(c0, @s_regeneration_for_newbie); CastBuffForQuestReward(c0, @s_bless_the_soul_for_newbie); CastBuffForQuestReward(c0, @s_acumen_for_newbie); CastBuffForQuestReward(c0, @s_concentration_for_newbie); CastBuffForQuestReward(c0, @s_empower_for_newbie); CastBuffForQuestReward(c0, @s_haste_for_adventurer); ShowPage(talker, "br_vi_stevu009.htm"); } else { ShowPage(talker, "br_vi_stevu010.htm"); } break; } } } } Another one is about the " br_vitality2010_event event".   GIVE_EVENT_DATA is likely the only one in the activity AI script that uses this handle.      
    • Offtopic, personal attacks, probably too old to use that much memes and what's YOUR actual contribution to L2J, in order I laugh aswell ?   The main poster quotes my pack so I answer accordingly, while you advertise L2JFrozen in both of your posts - discontinued since 2014 (? 1132 rev), with none taking back the open source lead while anyone could.   If you're somewhat affiliated to hopzone, you probably packed way more money than me. Packs don't make any type of money (barely 100e/month) and if you would follow me, you would know there are ways to handle it or even getting paid.   Hope I was short enough, 🧂🤡.
    • Hi guys, this is a CMS im sharing for lineage 2 servers, im tired of the crap i see on new release servers. Dont let me start on the IA developed ones lmao.   📋 Description Free and open source template to create landing pages for Lineage 2 private servers. Designed with a dark fantasy theme and modern animations. ✨ Current Features This FREE version includes: Complete Landing Page - Professional design ready to use Multi-language Support - Spanish, English, Portuguese Dark Fantasy Theme - With animated UI elements Server Information - Rates, features, and rules Olympiad Ranking - Rankings display Download Section - For game client Skins and Animations Gallery Streaming Widget - Twitch/Kick integration Fully Customizable - Via configuration files ❌ Not Included in Free Version ❌ User Registration System ❌ Online Players Counter ❌ Donation Panel 💎 Premium Integrations IntegrationPrice Registration System $50 USD Online Players Counter $50 USD Donation Panel $50 USD   📧 Contact: https://gh0tstudio.com 🛠️ Tech Stack Technology    Version    Description React              19.2.0       UI Library TypeScript       5.8.2        Static typing Vite                 6.2.0         Build tool TailwindCSS   CDNCSS    Framework Lucide React   0.554.0         Icons i18next           23.16.0       Internationalization react-i18next   15.1.0        React bindings for i18n All documentation provided for AI AGENTS to make changes on the ui texts and so on. u can have a look on the cms fully working with donation panel, online count and register via: https://crmlineage2.vercel.app/ https://github.com/6h0T/CRM-LINEAGE2-FREE If u are in the lookings to develop a unique website for ur projects, u can dm me or contact me throw my socials on my profile. all code has encrypted references so any type of rebranding, copying or selling without authorization will result in take downs
    • Hello dude, i can help u out, i reached to u via DM, my studio is https://gh0tstudio.com i have worked with almost 40 brands on developing Private Lineage and Mu online servers, dashboard for vote pages and more. I sent u some examples too
  • 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