if get_time ( ) > pc . getqf ( "duration" ) then 
if pc . count_item ( 30168 ) > 0 then 
say ( mob_name ( 20084 ) ) 
say ( gameforge . collect_quest_lv90 . _150_say ) 
say ( "" ) 
pc . remove_item ( 30168 , 1 ) 
if is_test_server ( ) then 
pc . setqf ( "duration" , get_time ( ) + 2 ) 
else 
pc . setqf ( "duration" , get_time ( ) + 60 * 60 * 22 ) 
end 
wait ( ) 
local pass_percent 
if pc . getqf ( "drink_drug" ) == 0 then 
pass_percent = 60 
else 
pass_percent = 90 
end 
local s = number ( 1 , 100 ) 
if s <= pass_percent then 
if pc . getqf ( "collect_count" ) < 49 then 
local index = pc . getqf ( "collect_count" ) + 1 
pc . setqf ( "collect_count" , index ) 
say ( mob_name ( 20084 ) ) 
say ( gameforge . collect_quest_lv90 . _160_say ) 
say ( string . format ( gameforge . collect_quest_lv90 . _165_say , 50 - pc . getqf ( "collect_count" ) ) ) 
say ( gameforge . collect_quest_lv90 . _170_say ) 
say ( "" ) 
pc . setqf ( "drink_drug" , 0 ) 
return 
end 
say ( mob_name ( 20084 ) ) 
say ( gameforge . collect_quest_lv90 . _175_say ) 
say ( "" ) 
pc . setqf ( "collect_count" , 0 ) 
pc . setqf ( "drink_drug" , 0 ) 
pc . setqf ( "duration" , 0 ) 
set_state ( "key_item" ) 
return 
else 
say ( mob_name ( 20084 ) ) 
say ( gameforge . collect_quest_lv90 . _180_say ) 
say ( "" ) 
pc . setqf ( "drink_drug" , 0 ) 
return 
end 
else 
say ( mob_name ( 20084 ) ) 
say ( item_name ( 30168 ) .. gameforge . collect_quest_lv90 . _185_say ) 
return 
end 
else 
say ( mob_name ( 20084 ) ) 
say ( gameforge . collect_quest_lv90 . _190_say ) 
say ( "" ) 
return 
end 
