Avir14 Posted August 14, 2023 Share Posted August 14, 2023 function cDamage ( attacker ) if ( attacker and isElement ( attacker ) and getElementType ( attacker ) == "player" and source ~= attacker ) then local sound = playSound("damage.wav") setSoundVolume(sound, 0.5) end end addEventHandler ( "onClientPlayerDamage", getRootElement(), cDamage ) ابي اللاعب لما يدمج احد يشتغل ذا الصوت ده الكود حقي بس ما اشتغل جربته والصوت يشتغل عند كل اللاعبين لما يدمج اللاعب Link to comment
dEx, Posted August 14, 2023 Share Posted August 14, 2023 49 minutes ago, Avir14 said: function cDamage ( attacker ) if ( attacker and isElement ( attacker ) and getElementType ( attacker ) == "player" and source ~= attacker ) then local sound = playSound("damage.wav") setSoundVolume(sound, 0.5) end end addEventHandler ( "onClientPlayerDamage", getRootElement(), cDamage ) ابي اللاعب لما يدمج احد يشتغل ذا الصوت ده الكود حقي بس ما اشتغل جربته والصوت يشتغل عند كل اللاعبين لما يدمج اللاعب function cDamage ( attacker ) if ( attacker and isElement ( attacker ) and getElementType ( attacker ) == "player" and source ~= attacker ) then local sound = playSound("damage.wav") setSoundVolume(sound, 0.5) end end addEventHandler ( "onClientPlayerDamage", localPlayer, cDamage ) Link to comment
Avir14 Posted August 14, 2023 Author Share Posted August 14, 2023 (edited) 1 hour ago, xjustiN said: function cDamage ( attacker ) if ( attacker and isElement ( attacker ) and getElementType ( attacker ) == "player" and source ~= attacker ) then local sound = playSound("damage.wav") setSoundVolume(sound, 0.5) end end addEventHandler ( "onClientPlayerDamage", localPlayer, cDamage ) مما اشتغل الصوت صار ميشتغل عند اي احد Edited August 14, 2023 by Avir14 سس Link to comment
dEx, Posted August 14, 2023 Share Posted August 14, 2023 45 minutes ago, Avir14 said: مما اشتغل الصوت صار ميشتغل عند اي احد الكود م يشتغل إذا ضربت نفسك لازم تضرب شخص ثاني Link to comment
Avir14 Posted August 14, 2023 Author Share Posted August 14, 2023 2 hours ago, xjustiN said: الكود م يشتغل إذا ضربت نفسك لازم تضرب شخص ثاني يب ادري انا اجربها علي البيد بس ماتشتغل onClientPlayerDamage Link to comment
Avir14 Posted August 15, 2023 Author Share Posted August 15, 2023 5 hours ago, Avir14 said: يب ادري انا اجربها علي البيد بس ماتشتغل onClientPlayerDamage onClientPedDamage* اقصد Link to comment
, Melvin Posted August 15, 2023 Share Posted August 15, 2023 function cDamage(attacker, weapon, bodypart, loss) if attacker and isElement(attacker) and getElementType(attacker) == "player" and source ~= attacker then local sound = playSound("Dam.wav") setSoundVolume(sound, 0.5) end end addEventHandler("onClientPlayerDamage", getRootElement(), cDamage) هذا الكود سيعمل على تشغيل صوت "Dam.wav" بصوت منخفض إذا تعرض لاعب لضرر من لاعب آخر باستخدام أي نوع من الأسلحة. يتم استدعاء الدالة cDamage عند حدوث ضرر على لاعب باستخدام الحدث "onClientPlayerDamage". إذا توافقت الشروط المحددة (المهاجم موجود، وهو لاعب، واللاعب ليس نفسه، وما إلى ذلك)، سيتم تشغيل الصوت المحلي بصوت منخفض. Link to comment
Scripting Moderators xLive Posted August 15, 2023 Scripting Moderators Share Posted August 15, 2023 (edited) 52 minutes ago, , Melvin said: function cDamage(attacker, weapon, bodypart, loss) if attacker and isElement(attacker) and getElementType(attacker) == "player" and source ~= attacker then local sound = playSound("Dam.wav") setSoundVolume(sound, 0.5) end end addEventHandler("onClientPlayerDamage", getRootElement(), cDamage) هذا الكود سيعمل على تشغيل صوت "Dam.wav" بصوت منخفض إذا تعرض لاعب لضرر من لاعب آخر باستخدام أي نوع من الأسلحة. يتم استدعاء الدالة cDamage عند حدوث ضرر على لاعب باستخدام الحدث "onClientPlayerDamage". إذا توافقت الشروط المحددة (المهاجم موجود، وهو لاعب، واللاعب ليس نفسه، وما إلى ذلك)، سيتم تشغيل الصوت المحلي بصوت منخفض. chatGPT ياليت تعرف للبرمجة قبل ما تساعد في هذا القسم، لأن جالس تلصق من والإجابة مالها أي علاقة بالمشكلة المشكلة في هذا السطر فقط 10 hours ago, Avir14 said: source ~= attacker تحتاج تتحقق إن الشخص يلي هجم == لاعب الكلاينت وتتحقق إن الشخص يلي تدمج مو الكلاينت نفسه source ~= localPlayer and attacker == localPlayer -- نتحقق إن الشخص يلي تدمج هو مو الكلاينت نفسه، ونتحقق إن هو الشخص يلي دمج 10 hours ago, xjustiN said: addEventHandler ( "onClientPlayerDamage", localPlayer, cDamage ) كذا صار الحدث مختلف الان انت ربطت الحدث بلاعب الكلاينت، يعني اذا تدمج هو فقط راح يشتغل الحدث root عكس اول كان مربوط بـ .على العموم @Avir14 انا اشوف استعمال حدث جانب الكلاينت هنا خطأ، راح يشتغل لكن حل غير مناسب؛ لأن جانب الكلاينت ممكن يشوف الاعب تدمج عنده، لكن غير ثابت مثلا انت ملقلق onPlayerDamage إذا استعملته فيه احتمالية كبيرة أحيانًا تدمج ويطلع الصوت وبالحقيقة الاعب ما تدمج. الحل المناسب؟ استخدم حدث جانب السيرفر وترسل تريقر لجانب الكلاينت للقاتل باستخدام عشان تشغل الصوت triggerClientEvent Edited August 15, 2023 by xLive تنسيق 1 1 Link to comment
dEx, Posted August 15, 2023 Share Posted August 15, 2023 (edited) 3 hours ago, xLive said: كذا صار الحدث مختلف الان انت ربطت الحدث بلاعب الكلاينت، يعني اذا تدمج هو فقط راح يشتغل الحدث الي براسي احسبه أنه اذا الأتاكر قام بضربه ينسمع الصوت للوكال البلاير (المهاجم) لكن طلعت طريقة ثانيه شكرًا لك على المعلومة. --- ملف السيرفر function onDamage ( att ) if ( att and att ~= source ) then triggerClientEvent(att,'PlaySound',att) end end addEventHandler('onPlayerDamage' , root , onDamage ) -- ملف الكلنت addEvent('PlaySound', true ) addEventHandler('PlaySound', root , function ( ) playSound ('sound.mp3', false ) end) Edited August 15, 2023 by xjustiN 1 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now