Jump to content

L2Homage

Members
  • Posts

    11
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by L2Homage

  1. 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. 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?

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

  4. Thanks eressea!

     

    I missed a fix for the missing class in ai.obj, thanks for pointing that out. I already fixed a few, but I forgot that one.

     

    If I fix the missing classes, are the rest of the messages just warnings? I thought it would mean that the npc couldn't spawn? I'm not basing this on anything other than a guess though!

     

    EDIT: I guess I should stop assuming. I just fixed the class error and went to check on one of the npcs that spawned with a warning. He was there just fine.

  5. I'm looking for some better data for my server. HAuthD, CacheD and L2Server is working flawlessly, but L2NPC is throwing a lot of errors.

     

    I've tried data from the pack linked in this thread, AdvExt (both final and epilogue), euro and base server pack. All of them give me a variety of the same errors. I'm only assuming this is caused by the data I used, I'm open to other suggestions.

     

    I'm using your extender eressea, and it's been great. Could you help me figure out the cause of these errors? It happens every time I start the server, so I figure it can't be the cache.

     

    Thanks.

     

    My log is here: https://pastebin.com/wtbjjJi3

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