Jump to content

مساعد بكود x


SCi

Recommended Posts

جالس اسوي اختبارات صغيرة وبتعلم منها مشان وقت يجي اسوي مود اكون فاهم كل شي المهم سويت اني اضغط علي زر يطلع كلام بس ماشتغل وقت ضغطط علي الزر

-- server
function hello()
  outputChatBox ("تجربة")
  end 
bindKey ("m", "Down", hello)

 

Edited by SCi
Link to comment
5 hours ago, SCi said:

جالس اسوي اختبارات صغيرة وبتعلم منها مشان وقت يجي اسوي مود اكون فاهم كل شي المهم سويت اني اضغط علي زر يطلع كلام بس ماشتغل وقت ضغطط علي الزر

-- server
function hello()
  outputChatBox ("تجربة")
  end 
bindKey ("m", "Down", hello)

 

function hello(  )
	bindKey ( source, "m", "down",
	function(  )
		outputChatBox ( "تجربة", source, 255, 0, 255, true )
	end)
end
addEventHandler( "onPlayerLogin", root, hello )

 

  • Like 3
Link to comment

 

45 minutes ago, +Source|> said:
function hello(  )
	bindKey ( source, "m", "down",
	function(  )
		outputChatBox ( "تجربة", source, 255, 0, 255, true )
	end)
end
addEventHandler( "onPlayerLogin", root, hello )

 

يعني اللاعب وقت يسجل يقدر بعدها يكبس علي الزر ويطلعله كلام صح؟

 

 

Edited by SCi
  • Like 1
Link to comment
  • Scripting Moderators
9 hours ago, SCi said:

يعني اللاعب وقت يسجل يقدر بعدها يكبس علي الزر ويطلعله كلام صح؟


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

Edited by xLive
  • Thanks 1
Link to comment
7 minutes ago, xLive said:


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

لا كنت مسوي كود يسوي انفجار بمكان اللاعب بس حبيت اسويها بزر بدون لوحة او كلمة وكمان الكزر ماشتغل مدري ليش

 

 

 

 

Edited by SCi
Link to comment
  • Scripting Moderators
5 minutes ago, SCi said:

لا كنت مسوي كود يسوي انفجار بمكان اللاعب بس حبيت اسويها بزر بدون لوحة او كلمة

 ? مثال حلو، يعتمد بعد على الفكرة يلي بتسويها
على سبيل المثال فكرتك يلي سويتها راح تشتغل بالسيرفر والكلاينت ومايهم التأخير، لكن وش يفرق؟
 لو سويتها بالسيرفر جميع الاعبين راح يشوفونه، وإذا كلاينت راح يشوفه هو نفسه فقط (لأن الكلاينت يعتبر جهاز الاعب)

Edited by xLive
  • Like 1
Link to comment
1 minute ago, xLive said:

 ? مثال حلو، يعتمد بعد على الفكرة يلي بتسويها
على سبيل المثال فكرتك
 لو سويتها بالسيرفر جميع الاعبين راح يشوفونه، وإذا كلاينت راح يشوفه هو نفسه فقط (لأن الكلاينت يعتبر جهاز الاعب فقط)

لهيك سويتها بسيرفر مو كلينت بس ليش الزر مابيشتغل 

 

 

 

Link to comment
  • Scripting Moderators
8 minutes ago, SCi said:

لهيك سويتها بسيرفر مو كلينت بس ليش الزر مابيشتغل 

 

 

 

ممكن مسوي شي خطأ أطرح اكوادك نشوفها

Link to comment
1 minute ago, #\_oskar_/# said:

سويه عند دخول اللاعب السيرفر افضل من تسجيل الدخول 

 

هاد كانت تجربة اخي سورس 

بسوي وبجرب

في مشكل اظن مو من الحدث مارضي يطلع الكلام الزر مدري ليش مو شغال

 

Edited by SCi
Link to comment
25 minutes ago, #\_oskar_/# said:

اعرض كودك بعد التعديل 

-- server
function keymes(key, player)
  bindKey(player, "e", "down", function (player)
      outputChatBox ("test", player, 255, 255, 255, true)
      end)
  end 
addEventHandler ("onResourceStart", root, keymes)

شوف كذا ، للعلم انا مارح حط رسالة رح حط شي تاني بس هاد تجربة للزر 

 

 

Edited by SCi
Link to comment
2 minutes ago, #\_oskar_/# said:

كدا اللاعب مو متعرف فا حيظهرلك خطاء بالديبوق ومراح يشتغل معك الكود بطريقتك دي لانها طريقه خاطئه للاسف

الصح انك تعمل لوب لكل اللاعبين عند تشغيل السكربت 

 

 

؟؟؟

اللاعب والزر متعرفين في الفنكشن شوف منيح وللعلم مابيجيلي خطئ :)

 

Edited by SCi
Link to comment
  • Scripting Moderators
13 hours ago, +Source|> said:
function hello(  )
	bindKey ( source, "m", "down",
	function(  )
		outputChatBox ( "تجربة", source, 255, 0, 255, true )
	end)
end
addEventHandler( "onPlayerLogin", root, hello )

 

تنبيه بسيط السورس كذا ماراح يكون معرف في الانيموس فنكشن، ممكن انت جربته وطلع الشات وحسبته ضبط
،والارقمنت له قيمة إفتراضية يلي هي الروت، عشان كذا طلع لك nil لكن لا، قيمة السورس
? تقدر تجرب تطبع القيمة حقت السورس عشان تتأكد
:المفروض يكون كذا

function hi()
    bindKey(source, "n", "down",
      function (player)
        outputChatBox ("testt", player, 255, 255, 255, true)
    end)
end 
addEventHandler ("onPlayerLogin", root, hi)

تقريبا @SCiأكتشف المشكلة بالكود يلي عرضه قبل شوي
 

59 minutes ago, SCi said:
-- server
function keymes(key, player)
  bindKey(player, "e", "down", function (player)
      outputChatBox ("test", player, 255, 255, 255, true)
      end)
  end 
addEventHandler ("onResourceStart", root, keymes)

شوف كذا ، للعلم انا مارح حط رسالة رح حط شي تاني بس هاد تجربة للزر 

 

 

هذا الحدث إذا اشتغل مود، الايفنت نفسه ماراح يعطيك أي معلومة عن الاعب لأنه خاص بالمودات فقط
getElementsByType لازم تجيب كل الاعبين وتسوي لهم لوب هذا الفنكشن يجيبهم لك
:مثال بسيط
 

-- server
function keymes()
    local players = getElementsByType("player") -- راح يعطيك جدول يتكون من الاعبين المتصلين بالخادم
    for index,player in ipairs (players) do -- نسوي لوب (تكرار) على جدول الاعبين 
        bindKey(player, "e", "down", function (player)
            outputChatBox ("test", player, 255, 255, 255, true)
        end)
    end
end 
addEventHandler ("onResourceStart", resourceRoot, keymes)

لاحظ إني عدلت بعد في أخر سطر استبدلت 
root -> resourceRoot
لجميع الكائنات وبما إن الحدث هذا يشتغل للمودات فقط راح يشتغل لأي مود مو لسكربتك فقط root ليش؟
لكائنات المود نفسه وبما إن الحدث زي ماقلنا يشتغل للمودات راح يشتغل الايفنت لنفس المود فقط ،resourceRoot لكن
ممكن تفهم أكثر مع رسمة شجرة الكائنات
spacer.png

لا تنسى تضيف الزر بعد في حدث الدخول 
onPlayerJoin أو onPlayerLogin 
لأن الايفنت زي ماذكرت راح يشتغل في حالة السكربت اشتغل فقط لو فيه لاعب دخل بعدها ما راح يشتغل له
يمديك حتى تخلي فنكشن الزر بحدث منفصل عشان ماتكرر الكود كل شوي مثال

function myFunction(player)
    -- تطلع شات هنا أو تسوي يلي تبغاه
end

-- بعدها في أي ايفنت تقدر تتكتب اسم الفنكشن فقط، بدون ماتحتاج تعيد كتابة الفنكشن من جديد
bindPlayer(player,"e","down",myFunction)
Edited by xLive
  • Like 2
Link to comment
3 minutes ago, xLive said:

تنبيه بسيط السورس كذا ماراح يكون معرف في الانيموس فنكشن، ممكن انت جربته وطلع الشات وحسبته ضبط
،والارقمنت له قيمة إفتراضية يلي هي الروت عشان كذا طلع لك nil لكن لا قيمة السورس
? تقدر تجرب تطبع القيمة حقت السورس عشان تتأكد
المفروض يكون كذا
 

function hi()
    bindKey(source, "n", "down",
      function (player)
        outputChatBox ("testt", player, 255, 255, 255, true)
    end)
end 
addEventHandler ("onPlayerLogin", root, hi)

تقريبا @SCiأكتشف المشكلة بالكود يلي عرضه قبل شوي

 

 

هذا الحدث إذا اشتغل مود ف الايفنت نفسه ماراح يعطيك أي معلومة عن الاعب لأنه خاص بالمودات فقط
getElementsByType لازم تجيب كل الاعبين وتسوي لهم لوب هذا الفنكشن يجيبهم لك
مثال بسيط
 

-- server
function keymes()
    local players = getElementsByType("player") -- راح يعطيك جدول يتكون من الاعبين المتصلين بالخادم
    for index,player in ipairs (players) do -- نسوي لوب (تكرار) على جدول الاعبين 
        bindKey(player, "e", "down", function (player)
            outputChatBox ("test", player, 255, 255, 255, true)
        end)
    end
end 
addEventHandler ("onResourceStart", resourceRoot, keymes)

لاحظ إني عدلت بعد في أخر سطر استبدلت 
root -> resourceRoot
لجميع الكائنات وبما إن الحدث هذا يشتغل للمودات فقط راح يشتغل لأي مود مو لسكربتك فقط root ليش؟
لكائنات المود نفسه وبما إن الحدث زي ماقلنا يشتغل للمودات راح يشتغل الايفنت لنفس المود فقط ،resourceRoot لكن
ممكن تفهم أكثر مع رسمة شجرة الكائنات
spacer.png

لا تنسى تضيف الزر بعد في حدث الدخول 
onPlayerJoin أو onPlayerLogin 
لأن الايفنت زي ماذكرت راح يشتغل في حالة السكربت اشتغل فقط لو فيه لاعب دخل بعدها ما راح يشتغل له
يمديك حتى تخلي فنكشن الزر بحدث منفصل عشان ماتكرر الكود كل شوي مثال

function myFunction(player)
    -- تطلع شات هنا أو تسوي يلي تبغاه
end

-- بعدها في أي ايفنت تقدر تتكتب اسم الفنكشن فقط، بدون ماتحتاج تعيد كتابة الفنكشن من جديد
bindPlayer(player,"e","down",myFunction)

 

شكرا علي تعبك اخي الله يعطيك العافيه فهمت قصدك

  • 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...