40 lines
1.4 KiB
Plaintext
Executable File
40 lines
1.4 KiB
Plaintext
Executable File
local idx = item . get_socket ( 0 )
|
|
if idx == 0 then
|
|
idx = number ( 1 , 2 )
|
|
item . set_socket ( 0 , idx )
|
|
end
|
|
if idx > table . getn ( special . questscroll ) or idx <= 0 then
|
|
item . remove ( )
|
|
elseif table . getn ( special . questscroll [ idx ] ) ~= 5 then
|
|
else
|
|
local table = special . questscroll [ idx ]
|
|
local rt = special . questscroll_reward [ idx ]
|
|
local t = table [ 1 ]
|
|
if t == QUEST_SCROLL_TYPE_KILL_MOB then
|
|
say ( table [ 2 ] )
|
|
say ( color ( 1 , 1 , 0 ) , rt [ 2 ] , locale . gold , " " , locale . exp , rt [ 3 ] , " " , ( rt [ 4 ] ~= 0 ) and item_name ( rt [ 4 ] ) or "" , " " , ( rt [ 5 ] ~= 0 ) and item_name ( rt [ 5 ] ) or "" , " " , ( rt [ 6 ] ~= 0 ) and item_name ( rt [ 6 ] ) or "" , color ( 1 , 1 , 1 ) )
|
|
pc . setqf ( "idx" , idx )
|
|
pc . setqf ( "count" , table [ 5 ] )
|
|
pc . setqf ( "target" , mob_vnum ( table [ 4 ] ) )
|
|
q . set_title ( table [ 3 ] )
|
|
q . set_counter ( table [ 4 ] , table [ 5 ] )
|
|
q . start ( )
|
|
pc . setqf ( "timer" , 24 * 60 * 60 )
|
|
setstate ( "kill_mob" )
|
|
item . remove ( )
|
|
char_log ( 0 , "QUEST" , "questscroll1 start" ) ;
|
|
elseif t == QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE then
|
|
say ( table [ 2 ] )
|
|
pc . setqf ( "idx" , idx )
|
|
pc . setqf ( "count" , table [ 5 ] )
|
|
q . set_title ( table [ 3 ] )
|
|
q . set_counter ( table [ 4 ] , table [ 5 ] )
|
|
q . start ( )
|
|
pc . setqf ( "timer" , 24 * 60 * 60 )
|
|
setstate ( "kill_another_empire" )
|
|
item . remove ( )
|
|
else
|
|
item . remove ( )
|
|
end
|
|
end
|