Fight Your Clone

AnnieRuru

~~Cute~Cute~Scripter~~
Messages
1,677
Points
0
Location
your next door ~
Discord
AnnieRuru#1609
Github
AnnieRuru
Emulator
Client Version
2019-05-30aRagexeRE
some people are using the one inside bug tracker ... no ...

that is actually just a sample script

and this is the one that is fully capable of using in live server

Download: 2.0

script

plugin

ohh ... original topic

http://rathena.org/board/topic/72691-evil-clone-on-map-enter/

1.0

fight_your_clone_1.0.txt

nochangeequip.diff

1.1

fight_your_clone_1.1.txt

nochangeequip_20140908.diff

--- squueze 2 query_sql into 1 when player top up their high score

--- fix the infamous 'immediately kick back to town' bug, finally ...

2.0

script

- add pvp mapflag, don't have to /ns

- remove the OnPCDieEvent, use queue iterator

- add timeleft__ function

- add deny entry in 30 mins, configurable

- add full heal upon entering ...

plugin

- nochangeequip diff into plugin

- fix a rare bug inside a nochangeequip map, and a GM #delitem, the item still show in the equipment window
 

Attachments

Last edited by a moderator:
 
I dunno why some people are using the one inside bug tracker,
that is actually just a sample script
and this is the one that is fully capable of using in live server

Download:
script
attachicon.gif
 fight_your_clone_1.0.txt
patch for nochangeequip mapflag
attachicon.gif
 nochangeequip.diff


ohh ... original topic
http://rathena.org/board/topic/72691-evil-clone-on-map-enter/
map.c: In function 'map_load_defaults':map.c:5561: warning: implicit declaration of function 'status_defaults' 
any Idea?

 
Last edited by a moderator:
 
I dunno why some people are using the one inside bug tracker,

that is actually just a sample script

and this is the one that is fully capable of using in live server

Download:

script

attachicon.gif
 fight_your_clone_1.0.txt

patch for nochangeequip mapflag

attachicon.gif
 nochangeequip.diff

ohh ... original topic

http://rathena.org/board/topic/72691-evil-clone-on-map-enter/
map.c: In function 'map_load_defaults':map.c:5561: warning: implicit declaration of function 'status_defaults' 
any Idea?
??

I can't confirm this, it's work fine.

No errors in building. I am using last svn. 13963.

 
ok

 
I dunno why some people are using the one inside bug tracker,
that is actually just a sample script
and this is the one that is fully capable of using in live server

Download:
script
attachicon.gif
 fight_your_clone_1.0.txt
patch for nochangeequip mapflag
attachicon.gif
 nochangeequip.diff


ohh ... original topic
http://rathena.org/board/topic/72691-evil-clone-on-map-enter/
map.c: In function 'map_load_defaults':map.c:5561: warning: implicit declaration of function 'status_defaults' 
any Idea?
??

I can't confirm this, it's work fine.

No errors in building. I am using last svn. 13963.
OK.

but it works fine in game lol.

 
map.c ?

if you can read the patch, this patch doesn't alter anything to the map.c file

you went off-topic I think

 
map.c ?

if you can read the patch, this patch doesn't alter anything to the map.c file

you went off-topic I think
yes, I am just wondering why.

when I check the map.c nothing is there lol.

anyways.

The script work great. how about some customization in the prize?

Like the Default is 1 kill = 1 RED POTION

But if u already have 100 kills

it is now Potion + White PoTion per kill?

 
Last edited by a moderator:
Its causing map crash when there are already to many CLONES in the MAP.


Map crash attempting to save all the characters 

Code:
[Error]: timer_do_delete error : function mismatch 0x81f4b10(skill_castend_pos) != 0x81f54f0(skill_castend_id)[Error]: delete timer error -2 : skill 0 (UNKNOWN_SKILL)[Error]: skill_castend_pos: Timer mismatch -1!=609[Error]: timer_do_delete error : function mismatch 0x81f4b10(skill_castend_pos) != 0x81f54f0(skill_castend_id)[Error]: delete timer error -2 : skill 0 (UNKNOWN_SKILL)[Error]: skill_castend_pos: Timer mismatch -1!=1219[Error]: timer_do_delete error : function mismatch 0x81f4b10(skill_castend_pos) != 0x81f54f0(skill_castend_id)[Error]: delete timer error -2 : skill 0 (UNKNOWN_SKILL)[Error]: skill_castend_pos: Timer mismatch -1!=67 
 
I make some funny in it.

mn..  Tranlate  to English by google translation.

Content includes:

  • Set a deley. 3 times a day
  • Reword another event ticket
  • Some announce
  • An ending event

Have a fun.

dbquest_db.txt

//Other61402,64800,0,0,0,0,0,0,"Fighting Yourself" 

dataquestid2display.txt (ClientSide)

61402#Fighting Yourself CD#SG_FEEL#QUE_NOIMAGE#You need to rest to recover. #18 hours after entering #

npcmapflagzone.txt

// Fighting Yourselfguild_vs4 mapflag zone Fighting

dbremap_zone_db.conf

dbremap_zone_db.conf{ name: "Fighting" disabled_items: { Token_Of_Siegfried: true } mapflags: ( "nocashshop", "nochangeequip", )},

main_scripts

Code:
prontera,149,192,0	script	Challenge	4_M_FROZEN_GC,{//	dispbottom has_instance2( "guild_vs4") +" ~!~ "+ has_instance("guild_vs4");	if ( has_instance2("guild_vs4") != -1 ) {		mes "A copy of the current mode of the challenges has been cleared.";		instance_destroy has_instance2("guild_vs4");		close;	}	if(checkquest(61402)) {		set .@fyc_time,checkquest(61402,PLAYTIME); //18 Horas			if (.@fyc_time == 1) {				mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";				mes "-----------------------------";				mes "^ff0000Within 18 hours you can not enter again.^000000";				close;			}			else if (.@fyc_time == 2) {				erasequest 61402;				set .evilfyc,0;				end;			}	}	mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";	mes "-----------------------------";	mes "See yourself yet?"; 	mes "Sometimes you need to go beyond not others,"; 	mes "is actually your own!";	next;	mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";	mes "-----------------------------";	mes "^ FF0000 Note:"; 	mes "On the map, you can not change the equipment ^ 000000!"; 	mes "(Equipment and cards will be locked)"; 	mes "Can not use props resurrection!";	next;	mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";	mes "-----------------------------";	mes "Want to try it in the end how strong their own? ";	next;	select "- Of Course!";	if ( ( .@ins = instance_create( "Challenge Yourself", getcharid(3), IOT_CHAR ) ) < 0 ) {		mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";		mes "-----------------------------";		mes "Venue is not generated, please try again later : "+ .@ins;		close;	}	if ( instance_attachmap( "guild_vs4", .@ins, 1, getcharid(3)+"FYC" ) == "" ) {		mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";		mes "-----------------------------";		mes "Since it is a Challenge yourself, then you can only own one approach!";		close;	}	.evilfyc++;	if ( .evilfyc > 3 ) {		mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";		mes "-----------------------------";		mes "You already tired today, take a break come back tomorrow!";		close;	}	if ( .evilfyc == 3 ) {		mes "- ^ cc6600 Challenge Yourself ^ 000000 - ^ ccccccPvP Athletics ^ 000000";		mes "-----------------------------";		mes "You already tired today, take a break come back tomorrow!";		setquest 61402;		close;	}	specialeffect2 EF_HEAL;	percentheal 100,100;	instance_set_timeout 0, 60, .@ins;	instance_init .@ins;	instance_attach .@ins;	warp has_instance("guild_vs4"), 0,0;	clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;	'evil_clone_killed = 0;	end;	OnPCDieEvent:	if ( strcharinfo(3) == has_instance("guild_vs4") ) {		instance_attach has_instance2( "guild_vs4" );		if ( 'evil_clone_killed == 0 ){			announce "< Challenge Yourself System > : "+ strcharinfo(0) +" has taken the road of self-challenge, and " + (Sex?"He":"She") + " still can not go beyond!", bc_map;			}		if ( 'evil_clone_killed > 0 ){			announce "< Challenge Yourself System > : "+ strcharinfo(0) +"'s Challenges Transcripts, Total killed "+ 'evil_clone_killed +" Clones!", bc_map;			}		if ( 'evil_clone_killed > 10 ){			getitem 7028,1;			}		if ( 'evil_clone_killed > 20 ){			announce "< Challenge Yourself System > : "+ strcharinfo(0) +" has been successful beyond " + (Sex?"himself":"herself") + "!", 0;			getitem 7028,('evil_clone_killed - 20);			}	}	end;}guild_vs4,0,0,0	script	FYC_instance_npc	-1,{	OnFightSelf:	dispbottom "< Challenge Yourself System > : Kills -> Challenge ID : "+ instance_id() +" / "+ has_instance2( "guild_vs4" ) +" | MAP : "+ has_instance("guild_vs4");	'evil_clone_killed++;	switch('evil_clone_killed) {		case 1:				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				break;					case 2:				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				break;					case 3:				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				break;					case 4:				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				break;					case 5:				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				clone has_instance("guild_vs4"), 49,49, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;				break;				}	if(('evil_clone_killed > 5)&&('evil_clone_killed < 10)){		announce "< Challenge Yourself System > : "+ strcharinfo(0) +" on the road to challenge (Sex?"him":"her") self, Total killed "+ 'evil_clone_killed +" Clones!", bc_all;	}	if(('evil_clone_killed > 10)&&('evil_clone_killed < 15)){		announce "< Challenge Yourself System > : Powerful "+ strcharinfo(0) +" on the road to challenge (Sex?"him":"her") self, Total killed "+ 'evil_clone_killed +" Clones!", bc_all;	}	if(('evil_clone_killed > 15)&&('evil_clone_killed < 21)){		announce "< Challenge Yourself System > : Powerful "+ strcharinfo(0) +" on the road to challenge (Sex?"him":"her") self, Total killed "+ 'evil_clone_killed +" Clones! " + (Sex?"He":"She") + "Has been very close to success. Blessing" + (Sex?"him":"her") + "!", bc_all;	}	if('evil_clone_killed == 21){		announce "< Challenge Yourself System > : Powerful "+ strcharinfo(0) +" 已经成功超越自己, Total killed "+ 'evil_clone_killed +" Clones! " + (Sex?"He":"She") + "Qualify for the ultimate challenge MvP Throne. Congratulation to" + (Sex?"him":"her") + "!", bc_all;		announce "< Challenge Yourself System > : "+ strcharinfo(0) +" next is spared from war mode, Every kill will get an additional Entry Ticket!",bc_self, 0x00FFFF,FW_NORMAL,16;		announce "< Challenge Yourself System > : You have 20 seconds of rest, then will enter spared mode!",bc_self, 0x00FFFF,FW_NORMAL,16;		getitem 7028,5;		sleep2 15000;		announce "< Challenge Yourself System > : 5",bc_self, 0x00FFFF,FW_NORMAL,16;		sleep2 1000;		announce "< Challenge Yourself System > : 4",bc_self, 0x00FFFF,FW_NORMAL,16;		sleep2 1000;		announce "< Challenge Yourself System > : 3",bc_self, 0x00FFFF,FW_NORMAL,16;		sleep2 1000;		announce "< Challenge Yourself System > : 2",bc_self, 0x00FFFF,FW_NORMAL,16;		sleep2 1000;		announce "< Challenge Yourself System > : 1",bc_self, 0x00FFFF,FW_NORMAL,16;		sleep2 1000;		announce "< Challenge Yourself System > : Begin!",bc_self, 0x00FFFF,FW_NORMAL,16;		sleep2 1000;		set .@map$, instance_mapname("guild_vs4");		warp .@map$,49,49;		sleep2 1000;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;		clone has_instance("guild_vs4"), 0,0, instance_npcname( "FYC_instance_npc" )+"::OnFightSelf", getcharid(0), 0, 0x8D;	}	announce "< Challenge Yourself System > : "+ strcharinfo(0) +" on the road to challenge (Sex?"him":"her") self, Total killed "+ 'evil_clone_killed +" Clones!", bc_map;	end;OnPCLoadMapEvent:	if(( strcharinfo(3) == has_instance("guild_vs4")) && ( strcharinfo(3) == "guild_vs4" )){		dispbottom "< Challenge Yourself System > : Enter the challenge maps, locking the role of equipment.";		end;	}	OnPCDieEvent:	if(( strcharinfo(3) == has_instance("guild_vs4")) && ( strcharinfo(3) == "guild_vs4" )){		dispbottom "< Challenge Yourself System > : Role of death, the role of equipment will be unlocked after leaving the challenge maps.";		end;	}}guild_vs4	mapflag	nosave	SavePointguild_vs4	mapflag	nowarpguild_vs4	mapflag	nowarptoguild_vs4	mapflag	noteleportguild_vs4	mapflag	nomemoguild_vs4	mapflag	nopenaltyguild_vs4	mapflag	nobranchguild_vs4	mapflag	noicewallguild_vs4	mapflag	nochangeequip
 
Last edited by a moderator:
Its causing map crash when there are already to many CLONES in the MAP.

Map crash attempting to save all the characters 

[Error]: timer_do_delete error : function mismatch 0x81f4b10(skill_castend_pos) != 0x81f54f0(skill_castend_id)[Error]: delete timer error -2 : skill 0 (UNKNOWN_SKILL)[Error]: skill_castend_pos: Timer mismatch -1!=609[Error]: timer_do_delete error : function mismatch 0x81f4b10(skill_castend_pos) != 0x81f54f0(skill_castend_id)[Error]: delete timer error -2 : skill 0 (UNKNOWN_SKILL)[Error]: skill_castend_pos: Timer mismatch -1!=1219[Error]: timer_do_delete error : function mismatch 0x81f4b10(skill_castend_pos) != 0x81f54f0(skill_castend_id)[Error]: delete timer error -2 : skill 0 (UNKNOWN_SKILL)[Error]: skill_castend_pos: Timer mismatch -1!=67 
Which job?

Gene with HomunculuS ?

 
@安赫尔

1. OnPCDieEvent cannot put inside the instance map npc

because the *instance_init command will make the copy of all the npc inside the maps

means, if there are 2 copy of the instance map has copied (2 different players playing in separate instance maps),

OnPCDieEvent will be trigger twice

2. your OnPCLoadMapEvent probably doesn't work because you don't have loadevent mapflag

but rather than using OnPCLoadMapEvent, try use OnInstanceInit label instead

the problem ? there is no player attached

@karazu

I think your problem is probably made from skills

for example I tested this script with wizard

the wizard clone can make fire pillar

when the instance time out, the fire pillar should be deleted

and I cannot reproduce your problem

your server instance system kinda screw up, and its only you ...

 
There are times when you can not enter the event, when players enter the map are immediately teleported out of the event.

Is there any condition for which you can use?

This does not always happen.
Sometimes if you let them play and sometimes just map them out.

 
There are times when you can not enter the event, when players enter the map are immediately teleported out of the event.

Is there any condition for which you can use?

This does not always happen.

Sometimes if you let them play and sometimes just map them out.

same problem.

 
Last edited by a moderator:
so anni could you fix what @安赫尔 posted so it works but also that options would be freaking cool
default_biggrin.png


 
There are times when you can not enter the event, when players enter the map are immediately teleported out of the event.
same problem.
fixed in version 1.1
@Zratinel

sorry this script is an instance script, not an event script

though, I think somebody should make another one something like,

announce the event start, everyone come in the map, then when it start it clones all the participants in the map...

well lame idea actually, to me ...

 
2.0

http://upaste.me/0acf22299e09596b4

- add pvp mapflag, don't have to /ns

- remove the OnPCDieEvent, use queue iterator

- add timeleft__ function

- add deny entry in 30 mins, configurable

- add full heal upon entering ...

http://upaste.me/898c22300e72f6281

- nochangeequip diff into plugin

- fix a rare bug inside a nochangeequip map, and a GM #delitem, the item still show in the equipment window

 
2.0

http://upaste.me/0acf22299e09596b4

- add pvp mapflag, don't have to /ns

- remove the OnPCDieEvent, use queue iterator

- add timeleft__ function

- add deny entry in 30 mins, configurable

- add full heal upon entering ...

http://upaste.me/898c22300e72f6281

- nochangeequip diff into plugin

- fix a rare bug inside a nochangeequip map, and a GM #delitem, the item still show in the equipment window
Indeed, very useful thank you for this Annie! your very awesome!

 
Back
Top