Created
August 14, 2017 22:01
-
-
Save allanon/816a8beef46bf56bfe1409d00b3a4c01 to your computer and use it in GitHub Desktop.
restart swordsman quest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
macro job_swordsman { | |
# Swordsman | |
call quest_talk izlude_in '74 172' 'r0 r0 r0' | |
# => quest 1014 | |
# Swordsman (teleporter) | |
call quest_talk izlude_in '62 170' 'e' | |
# => tele izlude_in 39 170 | |
# Test Hall Staff | |
call quest_talk izlude_in '30 163' 'e' | |
# => tele sword_1-1 10 245 | |
do conf route_avoidWalls 0 | |
pause 5 | |
call job_swordsman_test1 | |
pause 5 | |
call job_swordsman_test2 | |
pause 5 | |
call job_swordsman_test3 | |
pause 5 | |
do conf route_avoidWalls 1 | |
# Swordsman | |
call quest_talk izlude_in '74 172' 'r0' | |
# <= quest 1014 | |
# => job Swordsman | |
} | |
macro job_swordsman_test1 { | |
# do move 65 117 | |
do move 12 247 | |
do move 22 247 | |
do move 24 249 | |
do move 34 249 | |
do move 36 247 | |
do move 48 241 | |
do move 98 241 | |
do move 98 240 | |
do move 118 240 | |
do move 118 249 | |
do move 140 251 | |
do move 175 251 | |
do move 175 245 | |
do move 187 243 | |
do move 192 244 | |
pause 2 | |
do move 223 243 | |
} | |
macro job_swordsman_test2 { | |
# do move 161 27 | |
do move 11 202 | |
do move 188 202 | |
do move 188 207 | |
do move 193 207 | |
pause 2 | |
do move 223 205 | |
} | |
macro job_swordsman_test3 { | |
# do move 239 117 | |
do move 21 168 | |
do move 21 175 | |
do move 36 175 | |
do move 36 173 | |
do move 43 173 | |
do move 43 172 | |
do move 45 172 | |
do move 45 171 | |
do move 51 171 | |
do move 51 172 | |
do move 58 172 | |
do move 58 169 | |
do move 92 169 | |
do move 92 171 | |
do move 129 171 | |
do move 129 174 | |
do move 151 174 | |
do move 151 171 | |
do move 170 171 | |
do move 180 171 | |
do move 180 172 | |
do move 183 172 | |
do move 183 173 | |
do move 191 173 | |
do move 191 168 | |
do move 193 168 | |
pause 2 | |
do talknpc 223 167 e | |
# => tele izlude_in 66 173 | |
} | |
macro quest_talk { | |
$map = $.param1 | |
$pos = $.param2 | |
$talk = $.param3 | |
call quest_talk_dist $map '$pos' 13 '$pos' "$talk" | |
} | |
macro quest_talk_dist { | |
$map = $.param1 | |
$standpos = $.param2 | |
$distmax = $.param3 | |
$npcpos = $.param4 | |
@talk = &split('#', $.param5) | |
# Move to the specified distance from the NPC. | |
call quest_move $map '$standpos' $distmax | |
# Talk using the given sequence. | |
while (@talk > 0) as talk_loop | |
$seq = &shift(@talk) | |
if ($seq == NOSEQ) { | |
do talk &npc($npcpos) | |
pause 0.1 | |
stop | |
} | |
log talknpc $npcpos $seq | |
do talknpc $npcpos $seq | |
pause 0.1 | |
end talk_loop | |
} | |
macro quest_move { | |
$map = $.param1 | |
$standpos = $.param2 | |
$distmax = $.param3 | |
if ($distmax == ) $distmax = 10 | |
# Move to the specified distance from the NPC. | |
$dist = $distmax | |
while (1 == 1) as move | |
$x = &eval( (split( ' ', '$standpos' ))[0] ) | |
$y = &eval( (split( ' ', '$standpos' ))[1] ) | |
$d = &eval( Misc::distance(Misc::calcPosition($::char), { x => '$x', y => '$y' }) ) | |
if ($.map == $map && $d <= $distmax) stop | |
do move $standpos $map $dist | |
pause 0.1 | |
$dist-- | |
# TODO: Find another spot to stand that isn't in the direct line to the target. | |
if ($dist < 1) stop | |
end move | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment