Jump to content
  • 0
Mikhail von Hohenheim

[Help] Monster Kill

Question

Guys,, first I dont know if I'm putting the request on the correct place,, I dont know if this would be a src request or a script request,,, but since I dont know how to use a script,, I put it in here,, So here's what I would like to know,, We all know that if you kill a monster it would give you a Base EXp and a Job Exp for you to level up,, BUT,, Is it also possible to give a status point?? or a stats itself like 0.01 something per kill?? FOR EXAMPLE: For every poring that you will kill will give you 0.01 LUK,, so if you kill 100 porings it will give you permanent 1point for LUK stat,, OR For every poring that would kill will give you 0.01 Status point,, that you can use to allocate throughout your stats,, Either of the two,, Can someone please answer this out,, thanks a lot guys

 

Edit:

 

Requests:

*statpoint per number of monster Kill : DONE,, Thanks to Ms AnnieRuru

*perma stat per number of monster kill per set of monsters: DONE,, still learning,, Thanks also to Ms AnnieRuru

Edited by Mikhail von Hohenheim

Share this post


Link to post
Share on other sites

18 answers to this question

Recommended Posts

  • 0

this is npc script, tested

//	kill 10 poring gets 1 status point-	script	kdjshfkshf	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10 ) {			StatusPoint++;			poringkill = 0;		}	}	end;}
or ...
function	script	F_ShuffleNumbers	{	deletearray getarg(2);	.@static = getarg(0);	.@range = getarg(1) +1 - .@static;	.@count = getarg(3, .@range);	if (.@range <= 0 || .@count <= 0)		return 0;	if (.@count > .@range)		.@count = .@range;	for (.@i = 0; .@i < .@range; ++.@i)		.@temparray[.@i] = .@i;	for (.@i = 0; .@i < .@count; ++.@i) {		.@[member=Rand] = rand(.@range);		set getelementofarray( getarg(2), .@i ), .@temparray[.@[member=Rand]] + .@static;		.@temparray[.@[member=Rand]] = .@temparray[--.@range];	}	return .@count;}//	kill 10 poring gets 1 random stats, if the randomly selected stat has reached maximum, then will select another one-	script	kdjshfkshf	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill >= 10 ) {			.@range = callfunc( "F_ShuffleNumbers", 0, 5, .@output );			if ( Class == Job_Kagerou || Class == Job_Oboro || Class == Job_Rebellion || Class == Job_Super_Novice_E )				.@maxstat = getbattleflag("max_extended_parameter");			else if ( eaclass() & EAJL_THIRD && eaclass() & EAJL_BABY )				.@maxstat = getbattleflag("max_baby_third_parameter");			else if ( eaclass() & EAJL_THIRD )				.@maxstat = getbattleflag("max_third_parameter");			else if ( eaclass() & EAJL_BABY )				.@maxstat = getbattleflag("max_baby_parameter");			else				.@maxstat = getbattleflag("max_parameter");			while ( readparam( .@output[.@i] + bStr ) >= .@maxstat && .@i < 6 )				.@i++;			if ( .@i < 6 )				statusup2 .@output[.@i] + bStr, 1;			poringkill = 0;		}	}	end;}
erm ... I think I have complicated the topic abit ... Edited by AnnieRuru

Share this post


Link to post
Share on other sites
  • 0

OnNPCKillEvent:

if ( killedrid == PORING ) {

poringkill++;

if ( poringkill == 100 ) {

StatusPoint++;

poringkill = 0;

}

}

 

didn't test

Share this post


Link to post
Share on other sites
  • 0

good point @@mrlongshen

yes, in order for the status point to persist after a status reset

 

your server must be pre-renewal setting (as renewal has to use statpoint table)

and set the use_statpoint_table MUST set to no to prevent bugs

// Use the contents of db/statpoint.txt when doing a stats reset and leveling up? (Note 1)

// If no, an equation will be used which preserves statpoints earned/lost

// through external means (ie: stat point buyers/sellers)

use_statpoint_table: no

Share this post


Link to post
Share on other sites
  • 0

been awhile since i checked my request,, 

 

This is part of npc not source

 

what do you mean?? will this be a quest??

 

 

 

good point @@mrlongshen
yes, in order for the status point to persist after a status reset

your server must be pre-renewal setting (as renewal has to use statpoint table)
and set the use_statpoint_table MUST set to no to prevent bugs

// Use the contents of db/statpoint.txt when doing a stats reset and leveling up? (Note 1)
// If no, an equation will be used which preserves statpoints earned/lost
// through external means (ie: stat point buyers/sellers)
use_statpoint_table: no

 

 

thanks for these,, but where do you place these??

Share this post


Link to post
Share on other sites
  • 0

if I move this topic from source request into script request

then you understand where to put them, right ?

 

btw, didn't I already said it ... ?

this is npc script, tested

Edited by AnnieRuru

Share this post


Link to post
Share on other sites
  • 0

 

if I move this topic from source request into script request

then you understand where to put them, right ?

 

btw, didn't I already said it ... ?

this is npc script, tested

 

sorry for the stoopid question,, yah,, i think i already got it now,, I checked my server files now, this is the first time i've checked it out,, cause I only modify my DB and src files,, never tried plugins or scripts,,

 

I'll test it up,, thanks,,,

 

:wub:

 

@@AnnieRuru is the value permanent ? what happen if player reset status ?

 

 

btw I'm not planning on putting a stat reset,, xD

 

 

this is npc script, tested

//	kill 10 poring gets 1 status point-	script	kdjshfkshf	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10 ) {			StatusPoint++;			poringkill = 0;		}	}	end;}
or ...
function	script	F_ShuffleNumbers	{	deletearray getarg(2);	.@static = getarg(0);	.@range = getarg(1) +1 - .@static;	.@count = getarg(3, .@range);	if (.@range <= 0 || .@count <= 0)		return 0;	if (.@count > .@range)		.@count = .@range;	for (.@i = 0; .@i < .@range; ++.@i)		.@temparray[.@i] = .@i;	for (.@i = 0; .@i < .@count; ++.@i) {		.@[member="Rand"] = rand(.@range);		set getelementofarray( getarg(2), .@i ), .@temparray[.@[member="Rand"]] + .@static;		.@temparray[.@[member="Rand"]] = .@temparray[--.@range];	}	return .@count;}//	kill 10 poring gets 1 random stats, if the randomly selected stat has reached maximum, then will select another one-	script	kdjshfkshf	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill >= 10 ) {			.@range = callfunc( "F_ShuffleNumbers", 0, 5, .@output );			if ( Class == Job_Kagerou || Class == Job_Oboro || Class == Job_Rebellion || Class == Job_Super_Novice_E )				.@maxstat = getbattleflag("max_extended_parameter");			else if ( eaclass() & EAJL_THIRD && eaclass() & EAJL_BABY )				.@maxstat = getbattleflag("max_baby_third_parameter");			else if ( eaclass() & EAJL_THIRD )				.@maxstat = getbattleflag("max_third_parameter");			else if ( eaclass() & EAJL_BABY )				.@maxstat = getbattleflag("max_baby_parameter");			else				.@maxstat = getbattleflag("max_parameter");			while ( readparam( .@output[.@i] + bStr ) >= .@maxstat && .@i < 6 )				.@i++;			if ( .@i < 6 )				statusup2 .@output[.@i] + bStr, 1;			poringkill = 0;		}	}	end;}
erm ... I think I have complicated the topic abit ...

 

already tested it out annie,,

 

comments,,

 

i activated both of them up,,

 

when I loaded the server,, got a notification that there's a same name in the NPC,, both of these two,, so i disregarded it out first,,

 

I tested it out using a new novice,, well after killed 10porings,, poof!! it gave 1 statpoint,, but there's no random stat,,

then later on, it seems it was randomized after the 10kills,,i think around 15th or 16th kill it gave another 1 statpoint,,

 

after around the 4th stat point,, still not getting the random stats,,

 

so I tried to do it on another class,, Runeknight,, i removed stats and stat points,,

same thing happened,, no random stats,,

 

 

So I edited the 2nd script I added "2" on the name,, then reloaded the server,, no notifiaction or anything this time,,

 

I tested it out on the RK again,, this time,, the random stat worked after the 10th poring,, then seems random again afterwards,,

then tested also on the novice it worked also,,

 

so my question now are:

 

*will it be possible for both of them to work??

*how to have a set of monsters for this to kick in,, instead of copying this per monster,,

* for the 1st script, would it be possible to put level requirements?? like this would only kick in if the monster is within 10level difference,,

*for the 1st script,, to work on ALL monsters??

*for second script,, how to remove the random stat?? like give str stat for set of monsters,,

* for the 2nd script,, would it be possible to put stat limitation other than "max parameter"?? like for example,, would only get stats from set of monsters until stat reached 20,,

 

 

 

thanks a LOT!!!! good script really,,

Share this post


Link to post
Share on other sites
  • 0

I tested it out using a new novice,, well after killed 10porings,, poof!! it gave 1 statpoint,, but there's no random stat,,

then later on, it seems it was randomized after the 10kills,,i think around 15th or 16th kill it gave another 1 statpoint,,

I just tested by summon 100 porings

it gives 1 status point per 10 poring, and gives total 10 status point when I kill all

I have no idea how you can get it on 15th or 16th

.

*will it be possible for both of them to work??

why not ? the word impossible doesn't even exist in my dictionary

.

*how to have a set of monsters for this to kick in,, instead of copying this per monster,,

then use setarray

.

* for the 1st script, would it be possible to put level requirements?? like this would only kick in if the monster is within 10level difference,,

if ( getmonsterinfo .. mob_level < BaseLevel ...

.

*for the 1st script,, to work on ALL monsters??

just remove the killedrid ...

.

*for second script,, how to remove the random stat?? like give str stat for set of monsters,,

remove the shuffle algorithm and use array ..

.

* for the 2nd script,, would it be possible to put stat limitation other than "max parameter"?? like for example,, would only get stats from set of monsters until stat reached 20,,

I hope you can understand a little bit about scripting ....

.

-	script	kdjshfkshf	FAKE_NPC,{OnInit:	setarray .poring, // configure your mobs to trigger random stats		PORING, DROPS, POPORING, MARIN, GOLDPORING, METALING, MAGMARING, POURING, MASTERING, ANGELING, GHOSTRING, ARCHANGELING, DEVILING, JEJELING, LITTLE_PORING;	.poringracesize = getarraysize( .poring );	end;OnNPCKillEvent:	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 10 ) { // if level difference below 10		mobkill++; // any mob kill increase the count		if ( mobkill >= 10 ) { // if kill any monster more than 10			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( readparam(bStr) < 20 ) { // if str is lower than 20		while ( killedrid != .poring[.@i] && .@i < .poringracesize ) .@i++;		if ( .@i < .poringracesize ) {			statusup2 bStr, 1;		}	}	end;}

Share this post


Link to post
Share on other sites
  • 0

sorry took awhile,, i fell asleep while doing other mods,,

 

anyway,,

thanks a lot for answering all of my queries,, I'll try to do this out first,, and experiment on it,, i have a lot in mind on this script,, 

 

xD

 

:wub:

 

btw,, regarding the script:

-	script	kdjshfkshf	FAKE_NPC,{OnInit:	setarray .poring, // configure your mobs to trigger random stats		PORING, DROPS, POPORING, MARIN, GOLDPORING, METALING, MAGMARING, POURING, MASTERING, ANGELING, GHOSTRING, ARCHANGELING, DEVILING, JEJELING, LITTLE_PORING;	.poringracesize = getarraysize( .poring );	end;OnNPCKillEvent:	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 10 ) { // if level difference below 10		mobkill++; // any mob kill increase the count		if ( mobkill >= 10 ) { // if kill any monster more than 10			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( readparam(bStr) < 20 ) { // if str is lower than 20		while ( killedrid != .poring[.@i] && .@i < .poringracesize ) .@i++;		if ( .@i < .poringracesize ) {			statusup2 bStr, 1;		}	}	end;}

"kdjshfkshf" is the name of the script right?? is this required?? or its ok to change it?? 

Share this post


Link to post
Share on other sites
  • 0

its common sense to change the npc coordinate, npc name and npc sprite when you want to use in your live server

and ... Read The F***ing Manual

https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt

 

sorry seems like i'm pissing you off already,,

:unsure:

 

 

uhm,, but still need some help,, PLEASE bear with me,,

 

I already check it out,, its absolutely working,,

 

uhm,,

 

I cannot actually understand scripting fully,, But I can get some sense on it,, and I cannot actually "talk" or "write" scripting,,

 

but please check this out,,

 

-	script	monsterkill	FAKE_NPC,{OnInit:	setarray .str, // configure your mobs to trigger random stats		PICKY;//PORING, DROPS, POPORING, MARIN, GOLDPORING, METALING, MAGMARING, POURING, MASTERING, ANGELING, GHOSTRING, ARCHANGELING, DEVILING, JEJELING, LITTLE_PORING;	.strracesize = getarraysize( .str );	setarray .agi, // configure your mobs to trigger random stats		THIEF_BUG, CONDOR, POPORING;	.agiracesize = getarraysize( .agi );	setarray .vit, // configure your mobs to trigger random stats		SPORE, POPORING;	.vitracesize = getarraysize( .vit );	setarray .int, // configure your mobs to trigger random stats		RODA_FROG, WILOW, POPORING;	.intracesize = getarraysize( .int );	setarray .dex, // configure your mobs to trigger random stats		DROPS, POPORING;	.dexracesize = getarraysize( .dex );	setarray .luk, // configure your mobs to trigger random stats		PORING, DROPS, POPORING, LITTLE_PORING;	.lukracesize = getarraysize( .luk );	end;OnNPCKillEvent:	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 90 ) { // if level difference below 90		mobkill++; // any mob kill increase the count		if ( mobkill >= 90 ) { // if kill any monster more than 90			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 80 ) { // if level difference below 80		mobkill++; // any mob kill increase the count		if ( mobkill >= 80 ) { // if kill any monster more than 80			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 70 ) { // if level difference below 70		mobkill++; // any mob kill increase the count		if ( mobkill >= 70 ) { // if kill any monster more than 70			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 60 ) { // if level difference below 60		mobkill++; // any mob kill increase the count		if ( mobkill >= 60 ) { // if kill any monster more than 60			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 50 ) { // if level difference below 50		mobkill++; // any mob kill increase the count		if ( mobkill >= 50 ) { // if kill any monster more than 50			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 40 ) { // if level difference below 40		mobkill++; // any mob kill increase the count		if ( mobkill >= 40 ) { // if kill any monster more than 40			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 30 ) { // if level difference below 30		mobkill++; // any mob kill increase the count		if ( mobkill >= 30 ) { // if kill any monster more than 30			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 20 ) { // if level difference below 20		mobkill++; // any mob kill increase the count		if ( mobkill >= 20 ) { // if kill any monster more than 20			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 10 ) { // if level difference below 10		mobkill++; // any mob kill increase the count		if ( mobkill >= 10 ) { // if kill any monster more than 10			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}	if ( readparam(bStr) < 10 ) { // if str is lower than 20		while ( killedrid != .str[.@i] && .@i < .strracesize ) .@i++;		if ( .@i < .strracesize ) {			statusup2 bStr, 1;		}	}	if ( readparam(bAgi) < 10 ) { // if str is lower than 20		while ( killedrid != .agi[.@i] && .@i < .agiracesize ) .@i++;		if ( .@i < .agiracesize ) {			statusup2 bAgi, 1;		}	}	if ( readparam(bVit) < 10 ) { // if str is lower than 20		while ( killedrid != .vit[.@i] && .@i < .vitracesize ) .@i++;		if ( .@i < .vitracesize ) {			statusup2 bVit, 1;		}	}	if ( readparam(bInt) < 10 ) { // if str is lower than 20		while ( killedrid != .int[.@i] && .@i < .intracesize ) .@i++;		if ( .@i < .intracesize ) {			statusup2 bInt, 1;		}	}	if ( readparam(bDex) < 10 ) { // if str is lower than 20		while ( killedrid != .dex[.@i] && .@i < .dexracesize ) .@i++;		if ( .@i < .dexracesize ) {			statusup2 bDex, 1;		}	}	if ( readparam(bLuk) < 10 ) { // if str is lower than 20		while ( killedrid != .luk[.@i] && .@i < .lukracesize ) .@i++;		if ( .@i < .lukracesize ) {			statusup2 bLuk, 1;		}	}	end;}

i tried to make out something from what you provided me,,

 

the statpoint script worked perfectly,, I also added other level requirement out of it,,

so far it worked good,,

 

but the stat parameter script,, i'm having some issue,,

 

killing picky,, condor,, are giving the stats per kill,,

poporing while testing gave out agi, int , luk,, but others didnt

VIT and Dex monsters did not gave any at all,,

 

also how can I insert the need to kill 10 of each monsters in the script??

 

:unsure:

 

just a little more please,, thanks a lot also,, 

Share this post


Link to post
Share on other sites
  • 0

I think you did wrong ...

don't really understand why you have those 90,80,70 level difference

 

the level difference means if a player lvl 30, and poring lvl1, the level difference is 29

or a player level 1, and poporing level 30, the level difference also 29

 

and how do you define that level requirement

 

and ... better just repost again what is your request specifically

seems like you always change your request from post to post

Share this post


Link to post
Share on other sites
  • 0

I think you did wrong ...

don't really understand why you have those 90,80,70 level difference

 

the level difference means if a player lvl 30, and poring lvl1, the level difference is 29

or a player level 1, and poporing level 30, the level difference also 29

 

and how do you define that level requirement

 

and ... better just repost again what is your request specifically

seems like you always change your request from post to post

 

for the level difference,, uhm,, for example,, character is already level 90,, he will not be able to get the +1 stat point,, from killing 10 poring (lvl1),,

 

but using this

 

	if ( sqrt(pow( getmonsterinfo( killedrid, MOB_LV ) - BaseLevel, 2)) <= 60 ) { // if level difference below 60		mobkill++; // any mob kill increase the count		if ( mobkill >= 60 ) { // if kill any monster more than 60			StatusPoint++; // increase status point by 1			mobkill = 0;		}	}

a level 90 char will be able to get +1 stat point for killing 60 poporings (level 30)

 

correct me if i got it wrong, master,

 

uhm,,

 

regarding the reposting,, uhm,, its just more specific info about the 2nd script(stats per number of kills)

 

will I need,, to create another topic?? seems relevant still to the topic name,, but anyway,, i'll create if you insist master,,,

 

btw,, 

 

I think i was able to isolate something from tests,,

 

seems like the monsters that give stats,, are only those that do not have parallel w/ it,,

 

example,,

 

OnInit:	setarray .str, // configure your mobs to trigger random stats		PICKY[first, gives stat];//PORING, DROPS, POPORING, MARIN, GOLDPORING, METALING, MAGMARING, POURING, MASTERING, ANGELING, GHOSTRING, ARCHANGELING, DEVILING, JEJELING, LITTLE_PORING;	.strracesize = getarraysize( .str );	setarray .agi, // configure your mobs to trigger random stats		THIEF_BUG[doesnot give stat], CONDOR[2nd, gives stat], POPORING[3rd, gives stat];	.agiracesize = getarraysize( .agi );	setarray .vit, // configure your mobs to trigger random stats		SPORE[does not give stat], POPORING[2nd, does not give stat];	.vitracesize = getarraysize( .vit );	setarray .int, // configure your mobs to trigger random stats		RODA_FROG[does not give stat], WILOW[2nd,does not give stat], POPORING[3rd, gives stat];	.intracesize = getarraysize( .int );	setarray .dex, // configure your mobs to trigger random stats		DROPS[does not give stat], POPORING[2nd, does not give stat];	.dexracesize = getarraysize( .dex );	setarray .luk, // configure your mobs to trigger random stats		PORING[does not give stat], DROPS[2nd, does not give stat], POPORING[3rd, gives stat], LITTLE_PORING;	.lukracesize = getarraysize( .luk );	end;

 

it seems like it would read the setarray .str; first,, but after that,, the next stats would not give a damn to the other setarray monsters unless they have more lists w/ them,, 

 

is there a script command to like separate each setarray as if each is a different array??

 

i've been checking the script commands that you gave me, master,

 

but i was not able to get any of it,,

 

i also tried enclosing each of them w/ "[ & ] " but im getting errors when loading,,

Share this post


Link to post
Share on other sites
  • 0

@@AnnieRuru is the value permanent ? what happen if player reset status ?

you can use another variable to store the total extra status point given.

 

when reset npc do a status reset, just add the total extra status point given.

 

resetstatus;StatusPoint += EXTRA_STATUS_POINTS;end;

Share this post


Link to post
Share on other sites
  • 0

 

this is npc script, tested

//	kill 10 poring gets 1 status point-	script	kdjshfkshf	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill == 10 ) {			StatusPoint++;			poringkill = 0;		}	}	end;}
or ...
function	script	F_ShuffleNumbers	{	deletearray getarg(2);	.@static = getarg(0);	.@range = getarg(1) +1 - .@static;	.@count = getarg(3, .@range);	if (.@range <= 0 || .@count <= 0)		return 0;	if (.@count > .@range)		.@count = .@range;	for (.@i = 0; .@i < .@range; ++.@i)		.@temparray[.@i] = .@i;	for (.@i = 0; .@i < .@count; ++.@i) {		.@[member="Rand"] = rand(.@range);		set getelementofarray( getarg(2), .@i ), .@temparray[.@[member="Rand"]] + .@static;		.@temparray[.@[member="Rand"]] = .@temparray[--.@range];	}	return .@count;}//	kill 10 poring gets 1 random stats, if the randomly selected stat has reached maximum, then will select another one-	script	kdjshfkshf	FAKE_NPC,{OnNPCKillEvent:	if ( killedrid == PORING ) {		poringkill++;		if ( poringkill >= 10 ) {			.@range = callfunc( "F_ShuffleNumbers", 0, 5, .@output );			if ( Class == Job_Kagerou || Class == Job_Oboro || Class == Job_Rebellion || Class == Job_Super_Novice_E )				.@maxstat = getbattleflag("max_extended_parameter");			else if ( eaclass() & EAJL_THIRD && eaclass() & EAJL_BABY )				.@maxstat = getbattleflag("max_baby_third_parameter");			else if ( eaclass() & EAJL_THIRD )				.@maxstat = getbattleflag("max_third_parameter");			else if ( eaclass() & EAJL_BABY )				.@maxstat = getbattleflag("max_baby_parameter");			else				.@maxstat = getbattleflag("max_parameter");			while ( readparam( .@output[.@i] + bStr ) >= .@maxstat && .@i < 6 )				.@i++;			if ( .@i < 6 )				statusup2 .@output[.@i] + bStr, 1;			poringkill = 0;		}	}	end;}
erm ... I think I have complicated the topic abit ...

 

 

LEARN A LOT FROM THIS,,

 

was able to figure it out somehow,,

 

But it seems needs to script PER MOBID that you would like to give stats,,

 

THANKS a LOT especially @@AnnieRuru

Share this post


Link to post
Share on other sites
  • 0

when reset npc do a status reset, just add the total extra status point given.

 

 

resetstatus;StatusPoint += EXTRA_STATUS_POINTS;end;

 

 

honestly I think this should be done in the source code

maybe pc->setreg( ..EXTRA_STATUS_POINTS..) in the plugin hook pc->setparam and pc->resetstate

then there is no hassle about forgetting to add EXTRA_STATUS_POINTS variable every time in every single script

 

ok also add this in my to do list

Edited by AnnieRuru

Share this post


Link to post
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.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  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.

Loading...

×
×
  • Create New...

Important Information

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