Im releasing this macro cause (1) I was hacked and am no longer interested in playing (2)theres no good linker macro available (3) I just like to share it ^^
anyways here it is. Enjoy
How it works:
->links any jobs within 4 cell range
->if the target is not within the range, it tells the target to "come closer"
->Heals itself when sp is less than 40%
->does a random emoticon after every link
->Can link only a specific guild / guilds ^^
In Receive.PM... find sub emoticon routine and find this line
chatLog("e", "$name".": $emotion\n") if (existsInList($config{'logEmoticons'}, $args->{type}) || $config{'logEmoticons'} eq "all");
add this line after it
Plugins::callHook('onEmotions', { dist => $dist, name => $name, ID => $player->{binID}, emo => $emotion });
Code: Select all
automacro emoticons {
hook onEmotions
sp >= 40%
exclusive 1
save dist
save name
save ID
save emo
var .hooksave3 = *Flag 3*
var .hooksave0 < 4
run-once 1
call {
$n = $.hooksave1
$i = $.hooksave2
$guild = @eval (exists $::players{$::playersID[$.hooksave2]}->{guild} ? $::players{$::playersID[$.hooksave2]}->{guild}{name} : 'null')
$job = @eval ($::players{$::playersID[$i]}->{jobID})
#Edit Here For your Guild Name ( to make it free for all, just remove the if line by adding the # sign before it
if ($guild = GuildNameHere) goto lol
#you can also make multiple if statements to accomodate multiple guilds
#if ($guild = Guild2NameHere) goto lol
goto tae
stop
:lol
if ($job = 12) goto sin1
if ($job = 4013) goto sin1
if ($job = 16) goto sage1
if ($job = 4017) goto sage1
if ($job = 8) goto pris1
if ($job = 4009) goto pris1
if ($job = 15) goto monk1
if ($job = 4016) goto monk1
if ($job = 9) goto wiz1
if ($job = 4010) goto wiz1
if ($job = 17) goto rogue1
if ($job = 4018) goto rogue1
if ($job = 18) goto alche1
if ($job = 4019) goto alche1
if ($job = 4020) goto bdc1
if ($job = 4021) goto bdc1
if ($job = 19) goto bdc1
if ($job = 20) goto bdc1
if ($job = 14) goto crs1
if ($job = 4015) goto crs1
if ($job = 21) goto crs1
if ($job = 4022) goto crs1
if ($job = 23) goto sn1
if ($job = 10) goto bs1
if ($job = 4011) goto bs1
if ($job = 4047) goto tm1
if ($job = 4048) goto tm1
if ($job = 4049) goto sl1
if ($job = 7) goto knit1
if ($job = 13) goto knit1
if ($job = 174) goto knit1
if ($job = 4014) goto knit1
:sin1
do sp 457 "$n"
goto finish
:sage1
do sp 449 "$n"
goto finish
ris1
do sp 454 "$n"
goto finish
:monk1
do sp 447 "$n"
goto finish
:wiz1
do sp 453 "$n"
goto finish
:rogue1
do sp 456 "$n"
goto finish
:alche1
do sp 445 "$n"
goto finish
:bdc1
do sp 455 "$n"
goto finish
:crs1
do sp 450 "$n"
goto finish
:sn1
do sp 451 "$n"
goto finish
:bs1
do sp 458 "$n"
goto finish
:tm1
do sp 448 "$n"
goto finish
:sl1
do sp 461 "$n"
goto finish
:knit1
do sp 452 "$n"
goto finish
:finish
release all
do e @random ("e27","e28","e29","e30","e31","e32","e33")
stop
:tae
do e e4
release all
stop
:end
stop
}
}
#This Macro will tell the appropriate user to come closer to the linker ^^
# as usual, edit the if line to your corresponding guildname
#Edit the Reply Line to Your liking
automacro emoticons2 {
hook onEmotions
sp >= 40%
exclusive 1
save dist
save name
save ID
save emo
var .hooksave3 = *Flag 3*
var .hooksave0 > 4
run-once 1
call {
$guild = @eval (exists $::players{$::playersID[$.hooksave2]}->{guild} ? $::players{$::playersID[$.hooksave2]}->{guild}{name} : 'null')
#Edit the Guild Name as usual dont forget to make other ifs for multiple guilds
if ($guild = GuildNameHere) goto lola
goto taea
stop
:lola
#Edit the reply line here
do c Come Closer $.hooksave1
release all
stop
:taea
release all
stop
}
}
#you can use this macro if the linker is within the range of the healer npc
automacro heal {
sp <= 40%
run-once 1
call healer
}
macro healer {
do talk @npc (xxx yyy)
do talk @npc (xxx yyy)
release all
stop
}
#misc macros (just delete these if you want ^^)
automacro tanga {
pubm /tamad/i
run-once 1
call {
do c hindi ako tamad. Hindi ko lang alam kung saan ko ibubuhos kasipagan ko.
}
}
automacro tanga2 {
pubm /tanga/i
run-once 1
call {
do c hindi ako tamad. Hindi ko lang alam kung saan ko ibubuhos kasipagan ko.
}
}