Jump to content

Recommended Posts

Posted

I have an idea - prepare everything to send the message as normally from client and just before sending it cancel friendship on second window

Posted (edited)

in gf i think is function to chechk friends. as i know in c4 such function exists

in c1 this function not exist

so i am checking by sending friend request before, if friend already - server sends message about "fiends already"

if so - friend say allowed. if no such message - cheater detected :) no friend say message sended, cheating logged

Edited by smeli
  • 2 weeks later...
Posted (edited)

Do you have a way of automating the creation of classes.txt file for split AI? Or do you just add all file names and rearrange them by hand?

 

I have a python script that joins nasc files into one big nasc file, runs compiler on it and then splits it again to individual classes and generates classes.txt file

 

http://download.l2shrine.com/makeai/ai.tar.gz

Edited by eressea
Posted

I have a python script that joins nasc files into one big nasc file, runs compiler on it and then splits it again to individual classes and generates classes.txt file

 

http://download.l2shrine.com/makeai/ai.tar.gz

 

Thank you, I'm really curious about customizing the nasc files. I'm still quite confused on how the whole AI.obj/nasc thing works. Where do the nasc files come from? When I split my ai.obj, I get a bunch of txt files in one folder.

Looking through your uploaded example, you've got all the files as nasc and a file structure that's easier to work with. How? Am I missing a tool that converts ai.obj to nasc files?

 

I've read the AI GF documentation available on this forum, and I'm able to edit and add npcs of my own. I'm still learning, thanks for your help.

Posted

Whole l2npc.exe is just a huge virtual machine running ai.obj.

 

Txt files (or ai.obj) = compiled AI

NASC files = AI sources

 

There are few "decompilers" that can convert compiled AI back to source (usually with few errors that must be fixed manually)

 

If you really want to do anything bigger with AI, you should start from sources. Editing ai.obj code is pain in the ass and also it usually prevents "decompilation" (decompilers don't use any real heuristic to analyze the code, they just know some patterns and know how to convert them back to NASC code, so if you do some manual changes in obj, decompiler probably won't be able to decompile it)

Posted (edited)

So I've been looking into the NASC files to see if I can understand their structure - and I'm honestly more inclined to work with the compiled AI (split txt) files. Is there any reason I shouldn't do this?

 

I think partly the reason I'm leaning towards the compiled ai, is because of the available documentation that explains it pretty well. Is there any information like this for the NASC files?

 

Also, when I use the splitAI method, some of the paths/names of the files exceed the windows limit. Do you think you can add the path to the ai folder as an option in the .ini file?

Edited by L2Homage
Posted

So I've been looking into the NASC files to see if I can understand their structure - and I'm honestly more inclined to work with the compiled AI (split txt) files. Is there any reason I shouldn't do this?

 

I think partly the reason I'm leaning towards the compiled ai, is because of the available documentation that explains it pretty well. Is there any information like this for the NASC files?

 

Also, when I use the splitAI method, some of the paths/names of the files exceed the windows limit. Do you think you can add the path to the ai folder as an option in the .ini file?

 

That documentation can be used for NASC as well. It's generally bad idea to edit compiled OBJ code, it's much harder to write it in OBJ code and the NASC code is really much easier to understand.

 

Just compare this:

handler 4 13	//  TALK_SELECTED
	variable_begin
		"talker"
		"myself"
		"_choiceN"
		"_code"
		"_from_choice"
	variable_end

	push_event	//  myself
	push_const 784			//ShowPage
	add
	fetch_i			//ShowPage
	push_event	//  talker
	push_const 40			//talker
	add
	fetch_i
S1. "noquest.htm"
	push_string S1
	func_call 235012165	//  func[ShowPage]
	shift_sp -2
	shift_sp -1
handler_end

and

	EventHandler TALK_SELECTED(talker)
	{
		ShowPage(talker, "noquest.htm");
	}

It's obvious that you'll make fewer mistakes in NASC. Also NCsoft wrote all the AI code in NASC (the compiler we're using is done by NCsoft itself). It's the same as if you asked me whether it's better to do something in C++ sources or in compiled EXE file. Both is possible but the latter one is much much harder.

Posted

That documentation can be used for NASC as well. It's generally bad idea to edit compiled OBJ code, it's much harder to write it in OBJ code and the NASC code is really much easier to understand.

 

Just compare this:

handler 4 13	//  TALK_SELECTED
	variable_begin
		"talker"
		"myself"
		"_choiceN"
		"_code"
		"_from_choice"
	variable_end

	push_event	//  myself
	push_const 784			//ShowPage
	add
	fetch_i			//ShowPage
	push_event	//  talker
	push_const 40			//talker
	add
	fetch_i
S1. "noquest.htm"
	push_string S1
	func_call 235012165	//  func[ShowPage]
	shift_sp -2
	shift_sp -1
handler_end

and

	EventHandler TALK_SELECTED(talker)
	{
		ShowPage(talker, "noquest.htm");
	}

It's obvious that you'll make fewer mistakes in NASC. Also NCsoft wrote all the AI code in NASC (the compiler we're using is done by NCsoft itself). It's the same as if you asked me whether it's better to do something in C++ sources or in compiled EXE file. Both is possible but the latter one is much much harder.

 

I see, thanks. I'll do my best with understanding the NASC files, it's obviously the better choice.

  • 2 months later...
Posted
2 hours ago, lordeze said:

any mini guide how to compile with VS2005x64?
or any files already compiled?

Install Visual Studio, open solution, select release & x64 and compile :)

Or you may use precompiled MyExt64.dll that's in server/ directory

Posted
On 30/9/2017 at 6:27 AM, eressea said:

Install Visual Studio, open solution, select release & x64 and compile :)

Or you may use precompiled MyExt64.dll that's in server/ directory

I keep insisting without result :C

server port.jpg

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
Reply to this topic...

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




  • Posts

    • I'll stop playing, so I'll sell my (DC) Donator Coins  for cheap. Ask around; I have plenty. Here's the price list. Contact phone: +56 9 5429 4317    
    • Hi, im selling adena/items reborn signature C4   500kk  - 1kk = $2,90 ic set        pm here or discord  _flamber 
    • Want more engagement, reach, and traffic on Discord? Automate promotion of your server, members, reactions, and messages in minutes — no bots, no hassle, no overpayments. SocNet’s SMM Panel — fast launch, fair prices, real results. Use our SMM Panel to boost Facebook, Instagram, Telegram, Spotify, SoundCloud, YouTube, Reddit, Threads, Kick, Discord, LinkedIn, Likee, VK, Twitch, Kwai, Reddit, website traffic, TikTok, Trustpilot, Apple Music, TripAdvisor, Snapchat, and more digital services. Followers, likes, views, reposts, plays, viewers, reactions, comments. Get $1 bonus for your first trial order! Just open a ticket with the subject “Get Trial Bonus” on our website (Support) ➡ Go to SMM Panel (clickable) or contact our bot support How to order: ➡ SMM Panel: Click ➡ SMM Panel directly in our Telegram bot: Click (Menu ➡ SMM Panel) Our Digital Goods Store: ➡ Online Store: Click ➡ Telegram Bot: Click Regular customers get extra discounts and promo codes! Support: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also use these contacts to: — Get wholesale consultations — Discuss partnership deals (current partners: https://socnet.bgng.io/partners ) — Become our supplier SocNet — your source for digital goods and premium subscriptions
    • Price and Assortment Update: List of newly added products ➡ WhatsApp Real Account | USA (+1 phone) | High Quality Accounts | Account with age from a few days | QR-Code or Phone-Code | Price from: 3.5$ ➡ Facebook Old Italy account | Created in 2022 | FanPage created in 2022 | Advertising account created in 2022 | Farm 30 days | Friends 100+ | Mail included+active 2FA | Price from: 29$ ➡ OLD Instagram Accounts | Age: 2023-2024 | QUALITY Premium Autoregs (API FRESH) | Registered via SMS | Format: login | password | cookies (for InstAccountsManager) | IAM format | Price from: 0.45$ ➡ ChatGPT Plus Team subscription to your Own Email For 1 Month | Price from: 5$ ➡ Google Voice Accounts (GMAIL US NEW) | Age/Year: Random 2024 | Phone Verified: Yes | Price from: 13$ Prices have been reduced for the following products ➡ Discord Nitro Classic (Basic) GIFT | 1/12 MONTHS | NO NEED YOUR LOGIN AND PASSWORD FROM ACCOUNT | Warranty on full time of subscription | Price from: 3.15$ ➡ Discord Nitro FULL | 1/12 MONTHS | NO NEED YOUR LOGIN AND PASSWORD FROM ACCOUNT | Warranty on full time of subscription | Price from: 6.8$ ➡ Spotify Premium Individual Personal Plan for 1 month ON YOUR ACCOUNT | Available in all countries | Price from: 2.49$ ➡ Spotify Premium Family Account for 1 month ON YOUR ACCOUNT | Working in any countries | Price from: 3.75$ ➡ Youtube Premium Music Personal Account ON YOUR ACCOUNT | 1 month | YouTube without ads | Price from: 3.75$ ➡ Youtube Premium Music Family Account ON YOUR ACCOUNT | 1 month | YouTube without ads | Price from: 4.35$ ➡ Telegram Premium subscription for 1 month to your account | Authorization in your account is required (via TDATA or phone number) | Price from: 6$ ➡ Telegram Premium subscription for 3 months on your account | No authorization required in your account | Guarantee for the entire subscription period | Price from: 17$ ➡ Telegram Premium subscription for 6 months on your account | No authorization required in your account | Guarantee for the entire subscription period | Price from: 22$ ➡ Telegram Premium subscription for 12 months on your account | No authorization required in your account | Guarantee for the entire subscription period | Price from: 37$ ➡ Netflix Premium 1 month on your personal account for any country, renewable after expiration | Price from: 10$ ➡ Old Twitter Accounts 2010-2020 with real followers 1,000–20,000+ (followers on your choice) | Email included, Password and Token access | Refill: 30 days | Price from: 10$ And many other digital products! Full range of our online store: ➡ Accounts: Telegram, Facebook, Reddit, Twitter (X), Instagram, YouTube, TikTok, Discord, VK, LinkedIn, GitHub, Snapchat, Gmail, emails (Outlook, Firstmail, Rambler, Onet, Gazeta, GMX, Yahoo, Proton, Web.de), Google Voice, Google Ads ➡ Premium Subscriptions: Telegram Premium, Twitter Premium X, YouTube Premium, Spotify Premium, Netflix Premium, Discord Nitro, ChatGPT Plus/PRO, XBOX Game Pass ➡ Additional services: Telegram Stars, proxies (IPv4, IPv6, ISP, Mobile), VPN (Outline, WireGuard, others), VDS/RDP servers Promo code: AUGUST2025 (10% Discount) Payment: bank cards · cryptocurrency · other popular methods How to buy: ➡ Online Store: Click ➡ Telegram Bot: Click Other services: ➡ SMM Panel: Click Regular customers — additional discounts and promo codes! Support: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also contact us for: — Wholesale consultation — Partnership agreements (current partners: https://socnet.bgng.io/partners ) — Become our supplier SocNet — digital goods and premium subscriptions store
    • write me https://t.me/lin2web
  • 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