मैं यह पता लगाने नहीं कर सकते कि कैसे lua किसी भी आम समय चालें करने के लिए प्राप्त करने के लिए, इस तरह केकुछ सेकंड के लिए लुआ स्क्रिप्ट प्रतीक्षा/रोक/नींद/ब्लॉक बनाने का सबसे आसान तरीका?
नींद के रूप में - धागे पर सभी कार्रवाई रोक
रोकें/इंतजार - अगले पर मत जाओ आदेश है, लेकिन आवेदन में अन्य कोड जारी रखने के लिए
ब्लॉक की अनुमति देते हैं - मौजूदा जब तक अगले आदेश के लिए पर मत जाओ रिटर्न
और मैं पढ़ा है कि एक
while os.clock()<time_point do
--nothing
end
CPU समय तक खाता है।
कोई सुझाव? क्या कोई एपीआई कॉल है जो मुझे याद आ रही है?
अद्यतन: मैं इस सवाल का एक लंबे समय पहले लिखा था वाह लुआ प्राप्त करने के लिए (एक समय पर कार्रवाई को फिर से चलाने की कोशिश कर रहा यानी खड़े हो जाओ, 1 सेकंड, नृत्य इंतजार, 2 सेकंड प्रतीक्षा करें, बैठने रुक जाता है के बिना, इन लगभग सभी होती हैं। एक ही तिमाही दूसरे में।) As it turned out WOW had purposely disabled pretty much everything that allows doing action on a clock because it could break the game or enable bots. मैं एक घड़ी फिर से बनाने के लिए लगा एक बार यह दूर ले जाया गया था, मैं की तरह एक काम सरणी (एक कार्रवाई और निष्पादन समय के साथ बनाने के पागल कुछ करना) और फिर रजिस्टर एक ईवेंट हैंडलर होगा सामान्य घटनाओं के समूह पर, जैसे माउस चाल, फिर भी हैंडलर में, किसी भी कार्रवाई की प्रक्रिया करें जिसका समय आ गया था। इवेंट हैंडलर वास्तव में हर एक्स मिलीसेकंड नहीं होता है, लेकिन अगर यह हर 2-100 एमएस हो रहा था, तो यह काफी करीब होगा। दुख की बात है कि मैंने कभी कोशिश नहीं की।
ध्यान दें कि कुछ सिस्टम जहां यह काम करता है (उदा। ओएस एक्स) यह 'os.clock() 'अग्रिम नहीं करेगा, क्योंकि CPU समय का उपभोग नहीं किया जाता है। – Phrogz