Jump to content

PTS + Mono ext. New AI ScriptEngine


Recommended Posts

Hello everyone. On current moment i`m develope new script engine for PTS server. Attach mono engine to the L2NPC server

 

MakerScript example

Spoiler

using System;

public class SpecialBossSpawn : MakerScript
{
	public override void onStart(MakerEvent e)
	{
		NpcMakerEx ex = e.myself;
		e.gg.SendMakerScriptEvent(ex, 1, 2, 3);
		for (int i = 0; i < ex.def_count; i++)
		{
			NpcSpawnDefineEx def = ex.GetSpawnDefine(i);
			Logger.Info($"def {def.name} {def.dbname}");
			if(def.has_dbname != 0)
				def.LoadDBNpcInfo(1010);
		}
	}

	public override void onDBNpcInfo(MakerEvent e)
	{
		Logger.Info($"Time {e.loaded_def.dbname} {e.loaded_def.respawn_rand} {e.loaded_def.respawn_time}");
		DBNpcInfo info = e.record0;
		if (info.is_alive == 0)
		{
			Logger.Info($"onDBNpcInfo dead {info.death_time}");
		}
		else
			e.loaded_def.SpawnEx(1, 0, info.x, info.y, info.z, 0, info.hp, info.mp, info.db_value);
	}

	public override void onNpcCreated(MakerEvent e)
	{
		e.gg.Announce($"onNpcCreated {e.created_def.dbname}");
	}

	public override void onNpcDeleted(MakerEvent e)
	{
		Logger.Info("onNpcDeleted ");
	}

	public override void onScriptEvent(MakerEvent e)
	{
		Logger.Info($"SciptEvent {e.script_event_arg1} {e.script_event_arg2} {e.script_event_arg3}");
	}
}

5a4af4947864a_PTSairesult.thumb.jpg.aaee24a3fa07e1125e3793d13b44e761.jpg

 

Allowed using old and new script engine.

 

Profit: 

  • Using .net frameworks
  • Easy developing. Using any program language supported mono.
  • Easy adding new features
    • add new methods
    • add new fields
    • add new script events (for some need extend l2server)
  • Better performance. Mono support JIT compilation.

 

Now i`m testing technology on PTS C4, after will be add support for GF.

In future will be work not only on l2npc.

 

Planning for sell

 

I will listen to any suggestions

Link to comment
Share on other sites

19 minutes ago, Anarchy said:

meh extra scripting engine isn't really necessary on l2npc, l2server scripting engine though that'd be where it's at, event systems and all that shit yo

Dont know

  • don`t exists full compiler
  • standard ai.obj byte code not optimized
  • Every existing compiler don`t support HLL abstraction, only: for, while, switch standard statements.
  • Can`t allocate some custom object or structure
  • Problem with variables local and globals
  • Problem with adding extra native method or events
  • Can`t add inner methods
  • ... etc

so on and so on

Link to comment
Share on other sites

yeah but literally no one cares about that man, ai functionality is good enough to do anything anyone wants to do with npcs atm, but anything else, any other kind of game functionality is 100% inaccessible to people who don't know c++ and asm...

 

want a custom bbs? tough shit

want a custom event which doesn't revolve around npcs? tough shit

want to log some statistics for your website? tough shit

want to try some kind of custom bot shit like they do on l2j (captcha etc)? tough shit

 

there's so many possibilities to open up l2off to a broader audience than just us wacko devs with a scripting engine on the l2server and if you're looking to sell this shit i can tell you right now, no one will buy a system which is basically AI+

Link to comment
Share on other sites

In fact no one don't know programming on normal level in l2 community. But when someone stop from selling shit and buy this shit?I'm proposed solution to easy developing . If someone want make better ai or bot? why not? 


If it is better solution than others

 

One or more people will be interested. Your opinion is not an axiom, but only your opinion.

Link to comment
Share on other sites

Interesting work, however

 

12 hours ago, Gttsu said:
  • don`t exists full compiler

 

Exists and you have it right under your nose - in l2npc.exe. You just need to know how to use it.

 

12 hours ago, Gttsu said:
  • standard ai.obj byte code not optimized

 

And bridging back and forth between C# and C++ will be much better...

 

12 hours ago, Gttsu said:
  • Problem with variables local and globals

 

Just extend CNPCEvent and/or GlobalObject and add whatever you want

 

12 hours ago, Gttsu said:
  • Problem with adding extra native method or events

 

Problem?

 

12 hours ago, Gttsu said:
  • Can`t add inner methods

 

Could be done in some preprocessor

 

Edited by eressea
Link to comment
Share on other sites

On 1/2/2018 at 5:11 PM, Gttsu said:

In fact no one don't know programming on normal level in l2 community. But when someone stop from selling shit and buy this shit?I'm proposed solution to easy developing . If someone want make better ai or bot? why not? 


If it is better solution than others

 

One or more people will be interested. Your opinion is not an axiom, but only your opinion.

dude you asked for opinions and said you'd listen to suggestions (read the last line of your original post) so idk why you're getting that attitude about me doing what you asked lol

 

your intention is to sell this product, as someone who derives a large part of his income from selling shit in l2 space - trust me when i tell you there is no market for your product. no one wants a c# AI, the only people who even know wtf you're talking about with what your magic system can do vs AI are already making their own extenders for functionality AI can't provide, these people will not buy your product.

 

anything you want to do with NPCs the AI can already do so a new scripting engine is useless there, the true potential for a scripting engine is on the l2server not l2npc, just look at the kind of shit they do on l2j with java scripts - you get that same kind of functionality over to l2off and your pool of buyers will explode

Link to comment
Share on other sites

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.



×
×
  • Create New...