Jump to content

x[ استفسار ]x ابي الصوت يشتغل عند الي يدمج بس


Avir14

Recommended Posts

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
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
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 by Avir14
سس
Link to comment

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
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 by xLive
تنسيق
  • Like 1
  • Thanks 1
Link to comment
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 by xjustiN
  • Like 1
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...