Jump to content
Panallox

r15982: Script Engine Update

Recommended Posts

Yeah, great news!, I don't know why, but this made me very happy, it always annoyed me having to use set.

Link to comment
Share on other sites

I think in line 1092 of script.c there is a mistake.

You're correct good sir. Thanks for pointing that out, wouldn't have seen it otherwise.

Link to comment
Share on other sites

You should keep the values returned by search_str("set"), search_str("callfunc") and search_str("getelementofarray") into global variables to avoid searching for them at every occurrence of assignment statements and user-defined function calls.

Link to comment
Share on other sites

You should keep the values returned by search_str("set"), search_str("callfunc") and search_str("getelementofarray") into global variables to avoid searching for them at every occurrence of assignment statements and user-defined function calls.

Indeed, this was something I brought up in the staff channel on IRC. I've been trying to collect a list of additional changes that need committing, and this is on the list. You have a keen eye, great minds think alike :)

Link to comment
Share on other sites

Thanks! that will make our lives more easier.

P.S If you are not busy, try adding abs() also. So the unidentified groupranditem() will be reverted to its normal :) Ya know what has been broken down there.

Link to comment
Share on other sites

Update

It's important to note that r15998 appears to fix a long-standing issue that appears to have been present in rAthena for an extended period of time. For whatever reason, the instance variable storage system was not being initialised (thus instance variables were not being saved or recorded.) If anyone has any reports prior to r15998 of instance variables not working, please let me know. It baffled our team temporarily as to why this was the case in the source.

Thanks.

Link to comment
Share on other sites

Nice!

I always enjoyed this new-old way of scripting (More Like-C) from that mod-released in the old ea. Good job ...

Link to comment
Share on other sites

Great ! :)

But how to call a function without using "callfunc", I have not found how to do it.

It does not work like that :

- script Test_Call_Function  -1,{

OnInit:
Test("Hello !");
end;
}

function script Test {

 announce getarg(0),bc_all;
 return;
}

Thank you for your help ! :P

Link to comment
Share on other sites

@Swadon: The function needs to be loaded before it's called, so either move it before the script or place it in another script file altogether.

  • Upvote 1
Link to comment
Share on other sites

Test("Hello !");

To call functions like that, you have to define the function within the npc object, not as a separate object. There's an example in trunk/doc/script_commands.txt

prontera,150,150,0	script	TestNPC	123,{
function MyAdd;

mes "Enter two numbers.";
next;
input [email protected];
input [email protected];
mes [email protected]+" + "[email protected]+" = "+MyAdd([email protected],[email protected];
close;

function MyAdd
{
	return getarg(0)+getarg(1);
}
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.