R> Full Debuff

kerbiii

New member
Messages
342
Points
0
I need help on script that will remove all buffs when entering castle during woe, disabling some items are useless if they can use it outside then go inside..

Thanks in advance.

 
doc/script_commands.txt

*sc_end <effect type>{,<GID>};

'sc_end' will remove a specified status effect. If SC_All is used (-1), it
will do a complete removal of all statuses (although permanent ones will
re-apply).
 
So you can just do this:

sc_end SC_ALL;
 
And you're done.

 
Last edited by a moderator:
- script debuffer -1, {
OnPCLoadMapEvent:
getmapxy (.@map$, .@x, .@y, 0);
if ( ( .@map$ == "arug_cas01" ) || (.@map$ == "schg_cas01")) || (.@map$ == "schg_cas02")) {
sc_end SC_ALL;
dispbottom "you've been debuffed.";
}
 
}
 
 
tried this, its not working any suggestion?
 
Code:
OnPCLoadMapEvent:This special label will trigger once a player steps in a map marked with the 'loadevent' mapflag and attach its RID.
 
Last edited by a moderator:
Code:
-	script	debuffer	-1, {OnPCLoadMapEvent:		sc_end SC_ALL;}pvpmorocc    mapflag    loadevent 
 
try this one

Code:
-	script	debuffer	-1,{OnInit:	setarray .Map$[0], "arug_cas01", "schg_cas01", "schg_cas02";	set .size, getarraysize(.Map$);	for ( set .@i, 0; .@i < .size; set .@i, .@i + 1 )		setmapflag .Map$[.@i], mf_loadevent;	end;	OnPCLoadMapEvent:	getmapxy(@map$, @x, @y, 0);	while ( .@j < .size ) {		if ( @map$ == .Map$[.@j] )			sc_end SC_ALL;		set .@j, .@j + 1;	}	end;}
 
As doc/script_commands.txt says:

'sc_end' will remove a specified status effect. If SC_All is used (-1), it will do a complete removal of all statuses (although permanent ones will re-apply).
So I think it ends it but then it's reapplied.

 
help please where to put this? in a .txt file? like a npc?

Code:
 -    script    debuffer    -1,{OnInit:    setarray .Map$[0], "arug_cas01", "schg_cas01", "schg_cas02";    set .size, getarraysize(.Map$);    for ( set .@i, 0; .@i < .size; set .@i, .@i + 1 )        setmapflag .Map$[.@i], mf_loadevent;    end;    OnPCLoadMapEvent:    getmapxy(@map$, @x, @y, 0);    while ( .@j < .size ) {        if ( @map$ == .Map$[.@j] )            sc_end SC_ALL;        set .@j, .@j + 1;    }    end;}
 
Last edited by a moderator:
Back
Top