كيف تصنع مجموعة من العاطفة في لوا في عالم العلب؟

StackOverflow https://stackoverflow.com/questions/1024960

  •  06-07-2019
  •  | 
  •  

سؤال

كيف تصنع مجموعة من العاطفة في لوا في عالم العلب؟

function Button2_OnClick()
    PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav");
    DoEmote("moon");
    DoEmote("sit");
    DoEmote("dance");
    DoEmote("beckon");
end

أنا أستخدم WOW Addon Studio لإجراء تطبيق ضرطة على WOW. لقد استخدمت هذه الوظيفة ، وأظهرت حركة SIT فقط ، ولم يظهر Moon فقط على نافذة الدردشة. لم يظهر رقصة emote في أي مكان.

هل كانت مفيدة؟

المحلول

لقد حظرت عاصفة ثلجية قوية بشكل صريح أي شيء يمكن استخدامه لجعل لوا الانتظار أو الإيقاف المؤقت لأنه عنصر أساسي لصنع روبوت من الذهب أو طحن.

لا توجد طريقة أصلية (أي لوا فقط) لانتظار لوا دون استخدام جميع وحدة المعالجة المركزية. خارج عميل WOW ، كنت تستخدم وين أو بعض مكالمات واجهة برمجة تطبيقات الطرف الثالث الأخرى التي تستدعي وظائف ترابط أنظمة التشغيل المضيفة أو أنظمة التشغيل.

قد يكون من الممكن محاكاة الانتظار من خلال تنفيذ التعليمات البرمجية في حدث متكرر (مثل النص الذي يصل إلى نافذة الدردشة) ثم في معالج الأحداث الذي يتحقق لمعرفة ما إذا كان قد تم تمرير الوقت الكافي للسماح بتنفيذ الأمر التالي في التسلسل. ربما لن يكون هذا مؤقتًا دقيقًا للغاية وسيكون ذلك معقدًا إلى حد ما حيث يتعين عليك إنشاء بنية بيانات للاحتفاظ بتسلسل الأوامر ، والتوقيتات بين كل ، الأمر الحالي ، وما إلى ذلك.

نصائح أخرى

قد يكون هذا قيودًا متعمدة على واجهة برمجة التطبيقات لمنع أتمتة اللعبة (botting).

ما نجح بالنسبة لي هو أن يكون لديك متغير عالمي يتم زيادة من خلال الحلقة. مثل

Integer count = 0;
function Button2_OnClick()
    i++
    switch
    case(1)
        PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav");
    case(2)
         DoEmote("moon");
    case(3)
         DoEmote("sit");
    case(4)
         DoEmote("dance");
    case(5)
         DoEmote("beckon");
    default
         i=0;
    end
end

ما يجب عليك فعله هو النقر فوق الزر عدة مرات ، لكنك ستحصل على التأثير الذي ستذهب إليه.

أود أن أقترح عليك الانتظار لبعض الوقت قبل القيام بـ Emote التالي. على حد علمي ، يقوم الخادم بفصلك إذا قمت بالرسائل غير المرغوب فيها كثيرًا. هذه قد مجرد تشغيله في بعض الأحيان.

إلى جانب ذلك ، أعتقد أنه ربما يكون لدى العميل طريقة لمنعه؟ في كلتا الحالتين ، أود أن أقترح عليك إضافة نوع من التأخير الكسر في الثانية بين العواطف.

هتافات،
أميت رون

هل يمكن أن يكون آخر الاثنين لا يمكن القيام بهما أثناء الجلوس؟

في الواقع، integer i = 0, ، لأن تحديد عدد صحيح "عدد" ثم استخدام I غير صحيح. قون

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top