Jump to content

برمجة جريد ليست داخل شات سبورت


Recommended Posts

السلام عليكم انا سويت لوحة سبورت سيستم بس ماني عارف ابرمج انه مثلا اذا لاعب كتب بالايدت بوكس يطلع الكلام بالجريد ليست وفي عندي ثلاث اعضاء بالسبورت سيستم

1-support ابي يطلع كلامه باللون الاخضر

2-Helper ابي يطلع كلامه باللون الاصفر لما يضغط زر انا مساعد 

3-player ابي يطلع كلامه باللون الاحمر بس بدون مايكون مختار انا مساعد

 

 

 

 

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

وكذالك فك الميوت

 

 

 

 

واخيرا ابي ابرمج زر المسح انه ينحذف الشات عن اللاعب الي ضغط على زر الحذف يعني ماينحذف عند كل السيرفر

 

+

كيف اسوي جريد ليست واظهر يها  اسماء اللاعبين

Edited by KonaaaN200
Link to comment
table
loops
"onClientGUIClick"
triggerServerEvent
triggerClientEvent
guiGridListAddRow
guiGridListGetSelectedItem
(guiGridListGetItemText and getPlayerFromName) or (guiGridListSetItemData and guiGridListGetItemData)
"onPlayerJoin"
"onPlayerQuit"
setTimer
getTimerDetails

ذول يمكن 70% من الفنكشنات و الايفنتات الي بتحتاجها

بس اضن انه بيكون صعب عليك انصحك لو تسوي الاول مودات اسهل تاخذ خبرة وتتعلم الجداول وتتقنها 

Link to comment

انا قعدت ١٢ساعه احاول ابرمجها على يومين وعجزت والله اذا ممكن تكتبلي الفانكشان مع تكملته عشان اتعلم مره وحده وبكون شاكر لك جداً

 

عشان اعرف مثلا كل فانكشن لايش اذا جيت سويت لوحه ثانيه اكون عارف ايش اسوي 

وصراحةً ما اعرف احط الكود مع اي فانكشين

Edited by KonaaaN200
Link to comment

لا والله مابي جاهز ولا شي لو ابي جاهز ماكان جيت هنا وسألتكم

 

بس انا كنت بتعلم شلون ترسلي من الايدت بوك للجريد ليست ويظهر الكلام وبس مو شي ثاني 

اذا ممكن تعلمني شلون اكتب بالايدت بوك ويطلع الكلام بالجريد ليست بكون شاكر لك 

Link to comment
1 hour ago, KonaaaN200 said:

سويتها

بس الحين شلون ابرمج الميوت؟

لو تحاول بس تعرضلنا محاولة  بيكون أفضل واحنا هنساعدك ولو احتاجت مثال كمان اقدر اعملك مثال مع شرح بس حاول الاول

Edited by MrKAREEM
Link to comment
48 minutes ago, KonaaaN200 said:

المشكله انا اول مره اسوي ميوت وما اعرف ترتيب الاكواد 

وياريت تشرحلي 

سوي الي تبيه و خبص واعرض محاولتك واحنا لتساعدك كذا بتتعلم

Link to comment
3 hours ago, KonaaaN200 said:

المشكله انا اول مره اسوي ميوت وما اعرف ترتيب الاكواد 

وياريت تشرحلي 

الطريقة الأولي

شوف اخي عندك طريقتين عشان تجيب اللاعب اللي رسل الرسالة

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

ولما تضغط علي ميوت هات السيريال من الداتا الخاصة بالجريد ليست وبالتحديد الشئ المتحدد عليه من الجريد

وحطها في جدول حفظ البيانات اللي هتعمله عشان تحفظ السيريال

مع تايمر محدد عشان لما التايمر ينتهي يفك الميوت اي بالاصح يحذف المعلومات من جدول البيانات

طيب ايه اهمية الجدول ؟ اللاعب ممكن يخرج ويدخل في الحالة دي الميوت بتاعه هينفك ويقدر يشتم تاني وتالت فالجدول اهميته فانه هيحفظ بياناته

طيب هديك الوظائف اللي هتستخدمها وبتعمل ايه

GuiGridListSetItemData دي بتحط داتا للجريد ليست

GuiGridListGetItemData بتجيب الداتا من الجريد ليست

GuiGridListGetSelectedItem تجيب الشئ المحدد من الجريد

Database الداتا بيس فيها كل شرح جداول البيانات

GetPlayerSerial تجيب سيريال اللاعب

SetTimer عمل تايمر

الطريقة الثانية

فيه طريقة تانية وهي ان لما اللاعب هيبعت رسالة اسمه هيبقي في الجريد ليست

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

وظيفة جلب الشئ المتحدد من الجريد ليست و سترينج فايند

وبعدين تتحقق اذا كان الاسم اللي في الجريد ليست يساوي اسم من اسماء اللاعبين باستخدام السترينج فايند

واذا كان فاعمل تريقر باسم اللاعب اللي طلع

واستخدم وظيفة جلب اللاعب من اسمه

وبعدين جلب سيريال اللاعب

وتقوم حاطه في جدول البيانات وتضيف له التايمر ويكون انصك ميوت

الاكواد اللي هتستخدمها

string.find يبجث عن كلمة اذا كانت فشئ اخر

OnClientPlayerChangeNick عند تغير اسم اللاعب

GetPlayerName جلب اسم اللاعب

ipairs دي هتحتاجها عشان تجيب اللاعبين كلهم مع استخدام getElementsByType

GetElementsByType يجيب نوع الاليمنت

GetPlayerSerial جلب سيريال لاعب

GuiGridListSetItemText يغير قيمة رو من الجريد ليست

GuiGridListGetItemText جلب التكست من الجريد ليست

GuiGridListGetSelectedItem يجلب الشئ المتحدد من الجريد

SetTimer عمل تايمر

Database وظائف الجداول

GetPlayerFromName يجيب اللاعب من اسمه

Link to comment

--client


    addEventHandler("onClientGUIClick",GUIEditor.button[8],
    function()
    local plr =
    guiGridListGetSelectedItem
    (GUIEditor.gridlist[1])
    if plr ~= -1 then
    local theName = 
    guiGridListGetItemText
    (GUIEditor.gridlist[1] ,plr,1)
    local thePlr = 
    getPlayerFromName (theName)
    triggerServerEvent
    ("MUTE",localPlayer,thePlr,theName)
    end
    end
    )
    
    addEventHandler("onClientGUIClick",GUIEditor.button[1],
    function ()
    if getElementData 
    (localPlayer,"MUTED") then
    return outputChatBox ("You are muted.",255,5,5) end
    --send message code
    end
    ,false)

 

--server

v = {}
    addEvent ("MUTE",true)
    addEventHandler("MUTE",root,
    function(plr,name)
    if not isTimer (v[plr]) and
    not
    getElementData(plr,"MUTED")
    then
    setElementData 
    (plr,"MUTED",true)
    v[plr] = setTimer (function ()
    removeElementData
    (plr,"MUTED")
    outputChatBox ("UNMUTED SUCCESSFUL",plr,5,255,5)
    end,unmuteTimer,1)
    else return
    outputChatBox(""..name.." is already muted.",source,255,5,5)
    end
    end
    )

Link to comment
10 hours ago, KonaaaN200 said:

--client


    addEventHandler("onClientGUIClick",GUIEditor.button[8],
    function()
    local plr =
    guiGridListGetSelectedItem
    (GUIEditor.gridlist[1])
    if plr ~= -1 then
    local theName = 
    guiGridListGetItemText
    (GUIEditor.gridlist[1] ,plr,1)
    local thePlr = 
    getPlayerFromName (theName)
    triggerServerEvent
    ("MUTE",localPlayer,thePlr,theName)
    end
    end
    )
    
    addEventHandler("onClientGUIClick",GUIEditor.button[1],
    function ()
    if getElementData 
    (localPlayer,"MUTED") then
    return outputChatBox ("You are muted.",255,5,5) end
    --send message code
    end
    ,false)

 

--server

v = {}
    addEvent ("MUTE",true)
    addEventHandler("MUTE",root,
    function(plr,name)
    if not isTimer (v[plr]) and
    not
    getElementData(plr,"MUTED")
    then
    setElementData 
    (plr,"MUTED",true)
    v[plr] = setTimer (function ()
    removeElementData
    (plr,"MUTED")
    outputChatBox ("UNMUTED SUCCESSFUL",plr,5,255,5)
    end,unmuteTimer,1)
    else return
    outputChatBox(""..name.." is already muted.",source,255,5,5)
    end
    end
    )

اعرض الكلينت كله والسيرفر كله

+ تحطهم مع الكلينت والسيرفر الحالي عادي

اعرض الملفات كلها انت قربت تعملها خلاص

Link to comment

--client

هذا لوحة الميوتات بس غير باقي الكلاينت يعني هذي مو اللوحة كاملة

 

 GUIEditor.window[1] = guiCreateWindow(365, 108, 571, 518, "SupportChat", false)
        guiWindowSetSizable(GUIEditor.window[1], false)
        guiSetVisible(GUIEditor.window[1], false)

        GUIEditor.gridlist[1] = guiCreateGridList(9, 20, 553, 416, false, GUIEditor.window[1])
        guiGridListAddColumn(GUIEditor.gridlist[1], "الرسالة", 0.9)
        GUIEditor.edit[1] = guiCreateEdit(9, 438, 462, 21, "", false, GUIEditor.window[1])
        GUIEditor.button[1] = guiCreateButton(471, 438, 91, 21, "إرسال", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[3] = guiCreateButton(471, 490, 91, 19, "إغلاق", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FFAAAAAA")
        GUIEditor.checkbox[2] = guiCreateCheckBox(11, 462, 134, 22, "أنا مساعد", true, false, GUIEditor.window[1])--149, 462, 80, 22,
        GUIEditor.label[1] = guiCreateLabel(237, 493, 94, 15, "By: KonaaaN200", false, GUIEditor.window[1])
        guiLabelSetColor(GUIEditor.label[1], 231, 233, 21)
        GUIEditor.button[4] = guiCreateButton(11, 490, 91, 18, "إسكات", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FFFD0000")
        GUIEditor.button[5] = guiCreateButton(107, 490, 91, 18, "فك الإسكات", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[5], "NormalTextColour", "FF4EFE00")
        --GUIEditor.checkbox[3] = guiCreateCheckBox(229, 462, 80, 22, "غير مساعد", false, false, GUIEditor.window[1])    


        GUIEditor.window[2] = guiCreateWindow(555, 187, 200, 302, "لوحة الميوت", false)
        guiWindowSetSizable(GUIEditor.window[2], false)
        guiSetVisible(GUIEditor.window[2], false)

        GUIEditor.combobox[1] = guiCreateComboBox(9, 22, 69, 217, "240", false, GUIEditor.window[2])
        guiComboBoxAddItem(GUIEditor.combobox[1], "1200")
        guiComboBoxAddItem(GUIEditor.combobox[1], "1200")
        guiComboBoxAddItem(GUIEditor.combobox[1], "600")
        guiComboBoxAddItem(GUIEditor.combobox[1], "600")
        guiComboBoxAddItem(GUIEditor.combobox[1], "240")
        guiComboBoxAddItem(GUIEditor.combobox[1], "240")
        guiComboBoxAddItem(GUIEditor.combobox[1], "120")
        guiComboBoxAddItem(GUIEditor.combobox[1], "120")
        guiComboBoxAddItem(GUIEditor.combobox[1], "60")
        guiComboBoxAddItem(GUIEditor.combobox[1], "30")
        guiComboBoxAddItem(GUIEditor.combobox[1], "30")
        guiComboBoxAddItem(GUIEditor.combobox[1], "15")
        guiComboBoxAddItem(GUIEditor.combobox[1], "1")
        GUIEditor.label[2] = guiCreateLabel(78, 43, 117, 23, "نشر متعمد________", false, GUIEditor.window[2])
        GUIEditor.label[3] = guiCreateLabel(78, 56, 117, 23, "سب+18__________", false, GUIEditor.window[2])
        GUIEditor.label[4] = guiCreateLabel(78, 69, 117, 23, "تخريب متعمد_______", false, GUIEditor.window[2])
        GUIEditor.label[5] = guiCreateLabel(78, 82, 117, 23, "نشر غير متعمد_____", false, GUIEditor.window[2])
        GUIEditor.label[6] = guiCreateLabel(78, 95, 117, 23, "سب خفيف________", false, GUIEditor.window[2])
        GUIEditor.label[7] = guiCreateLabel(78, 115, 117, 23, "تخريب غير متعمد____", false, GUIEditor.window[2])
        GUIEditor.label[8] = guiCreateLabel(78, 128, 117, 23, "إستهبال__________", false, GUIEditor.window[2])
        GUIEditor.label[9] = guiCreateLabel(78, 141, 117, 23, "السواليف__________", false, GUIEditor.window[2])
        GUIEditor.label[10] = guiCreateLabel(78, 154, 117, 23, "المساعدة الخاطئة___", false, GUIEditor.window[2])
        GUIEditor.label[11] = guiCreateLabel(78, 170, 117, 23, "طلب إنضمام+فلوس__", false, GUIEditor.window[2])
        GUIEditor.label[12] = guiCreateLabel(78, 183, 117, 23, "تكرار السؤال_______", false, GUIEditor.window[2])
        GUIEditor.label[13] = guiCreateLabel(78, 196, 117, 23, "النداء___________", false, GUIEditor.window[2])
        GUIEditor.label[14] = guiCreateLabel(78, 206, 117, 23, "تنبيه المستجد_____", false, GUIEditor.window[2])
        guiLabelSetVerticalAlign(GUIEditor.label[14], "center")
        GUIEditor.button[6] = guiCreateButton(115, 274, 76, 19, "إغلاق", false, GUIEditor.window[2])
        guiSetProperty(GUIEditor.button[6], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[7] = guiCreateButton(9, 274, 76, 19, "إسكات", false, GUIEditor.window[2])
        guiSetProperty(GUIEditor.button[7], "NormalTextColour", "FFFD0000")

هذا اوامر الميوت

addEventHandler("onClientGUIClick",GUIEditor.button[8],
    function()
    local plr =
    guiGridListGetSelectedItem
    (GUIEditor.gridlist[1])
    if plr ~= -1 then
    local theName = 
    guiGridListGetItemText
    (GUIEditor.gridlist[1] ,plr,1)
    local thePlr = 
    getPlayerFromName (theName)
    triggerServerEvent
    ("MUTE",localPlayer,thePlr,theName)
    end
    end
    )
    
    addEventHandler("onClientGUIClick",GUIEditor.button[1],
    function ()
    if getElementData 
    (localPlayer,"MUTED") then
    return outputChatBox ("You are muted.",255,5,5) end
    send message code
    end
    ,false)
    

 

 

--server

v = {}
    addEvent ("MUTE",true)
    addEventHandler("MUTE",root,
    function(plr,name)
    if not isTimer (v[plr]) and
    not
    getElementData(plr,"MUTED")
    then
    setElementData 
    (plr,"MUTED",true)
    v[plr] = setTimer (function ()
    removeElementData
    (plr,"MUTED")
    outputChatBox ("UNMUTED SUCCESSFUL",plr,5,255,5)
    end,unmuteTimer,1)
    else return
    outputChatBox(""..name.." is already muted.",source,255,5,5)
    end
    end
    )

Link to comment
GUIEditor.window[1] = guiCreateWindow(365, 108, 571, 518, "SupportChat", false)
        guiWindowSetSizable(GUIEditor.window[1], false)
        guiSetVisible(GUIEditor.window[1], false)

        GUIEditor.gridlist[1] = guiCreateGridList(9, 20, 553, 416, false, GUIEditor.window[1])
        guiGridListAddColumn(GUIEditor.gridlist[1], "الرسالة", 0.9)
        GUIEditor.edit[1] = guiCreateEdit(9, 438, 462, 21, "", false, GUIEditor.window[1])
        GUIEditor.button[1] = guiCreateButton(471, 438, 91, 21, "إرسال", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[3] = guiCreateButton(471, 490, 91, 19, "إغلاق", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FFAAAAAA")
        GUIEditor.checkbox[2] = guiCreateCheckBox(11, 462, 134, 22, "أنا مساعد", true, false, GUIEditor.window[1])--149, 462, 80, 22,
        GUIEditor.label[1] = guiCreateLabel(237, 493, 94, 15, "By: KonaaaN200", false, GUIEditor.window[1])
        guiLabelSetColor(GUIEditor.label[1], 231, 233, 21)
        GUIEditor.button[4] = guiCreateButton(11, 490, 91, 18, "إسكات", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FFFD0000")
        GUIEditor.button[5] = guiCreateButton(107, 490, 91, 18, "فك الإسكات", false, GUIEditor.window[1])
        guiSetProperty(GUIEditor.button[5], "NormalTextColour", "FF4EFE00")
        --GUIEditor.checkbox[3] = guiCreateCheckBox(229, 462, 80, 22, "غير مساعد", false, false, GUIEditor.window[1])    


        GUIEditor.window[2] = guiCreateWindow(555, 187, 200, 302, "لوحة الميوت", false)
        guiWindowSetSizable(GUIEditor.window[2], false)
        guiSetVisible(GUIEditor.window[2], false)

        GUIEditor.combobox[1] = guiCreateComboBox(9, 22, 69, 217, "240", false, GUIEditor.window[2])
        guiComboBoxAddItem(GUIEditor.combobox[1], "1200")
        guiComboBoxAddItem(GUIEditor.combobox[1], "1200")
        guiComboBoxAddItem(GUIEditor.combobox[1], "600")
        guiComboBoxAddItem(GUIEditor.combobox[1], "600")
        guiComboBoxAddItem(GUIEditor.combobox[1], "240")
        guiComboBoxAddItem(GUIEditor.combobox[1], "240")
        guiComboBoxAddItem(GUIEditor.combobox[1], "120")
        guiComboBoxAddItem(GUIEditor.combobox[1], "120")
        guiComboBoxAddItem(GUIEditor.combobox[1], "60")
        guiComboBoxAddItem(GUIEditor.combobox[1], "30")
        guiComboBoxAddItem(GUIEditor.combobox[1], "30")
        guiComboBoxAddItem(GUIEditor.combobox[1], "15")
        guiComboBoxAddItem(GUIEditor.combobox[1], "1")
        GUIEditor.label[2] = guiCreateLabel(78, 43, 117, 23, "نشر متعمد________", false, GUIEditor.window[2])
        GUIEditor.label[3] = guiCreateLabel(78, 56, 117, 23, "سب+18__________", false, GUIEditor.window[2])
        GUIEditor.label[4] = guiCreateLabel(78, 69, 117, 23, "تخريب متعمد_______", false, GUIEditor.window[2])
        GUIEditor.label[5] = guiCreateLabel(78, 82, 117, 23, "نشر غير متعمد_____", false, GUIEditor.window[2])
        GUIEditor.label[6] = guiCreateLabel(78, 95, 117, 23, "سب خفيف________", false, GUIEditor.window[2])
        GUIEditor.label[7] = guiCreateLabel(78, 115, 117, 23, "تخريب غير متعمد____", false, GUIEditor.window[2])
        GUIEditor.label[8] = guiCreateLabel(78, 128, 117, 23, "إستهبال__________", false, GUIEditor.window[2])
        GUIEditor.label[9] = guiCreateLabel(78, 141, 117, 23, "السواليف__________", false, GUIEditor.window[2])
        GUIEditor.label[10] = guiCreateLabel(78, 154, 117, 23, "المساعدة الخاطئة___", false, GUIEditor.window[2])
        GUIEditor.label[11] = guiCreateLabel(78, 170, 117, 23, "طلب إنضمام+فلوس__", false, GUIEditor.window[2])
        GUIEditor.label[12] = guiCreateLabel(78, 183, 117, 23, "تكرار السؤال_______", false, GUIEditor.window[2])
        GUIEditor.label[13] = guiCreateLabel(78, 196, 117, 23, "النداء___________", false, GUIEditor.window[2])
        GUIEditor.label[14] = guiCreateLabel(78, 206, 117, 23, "تنبيه المستجد_____", false, GUIEditor.window[2])
        guiLabelSetVerticalAlign(GUIEditor.label[14], "center")
        GUIEditor.button[6] = guiCreateButton(115, 274, 76, 19, "إغلاق", false, GUIEditor.window[2])
        guiSetProperty(GUIEditor.button[6], "NormalTextColour", "FFAAAAAA")
        GUIEditor.button[7] = guiCreateButton(9, 274, 76, 19, "إسكات", false, GUIEditor.window[2])
        guiSetProperty(GUIEditor.button[7], "NormalTextColour", "FFFD0000")

addEventHandler("onClientGUIClick",GUIEditor.button[8],
function()
	local sel_g = guiGridListGetSelectedItem(GUIEditor.gridlist[1])
	local sel_c = guiComboBoxGetSelected(GUIEditor.combobox[1])
    if sel_g ~= -1 and sel_c ~= -1 then
    	local theName = guiGridListGetItemText(GUIEditor.gridlist[1] ,sel_g,1)
    	local thePlr = getPlayerFromName (theName)
		local unmuteTimer = ( (tonumber(guiComboBoxGetItemText(GUIEditor.combobox[1],sel_c)) * 60) * 1000) )
    	triggerServerEvent("MUTE",localPlayer,thePlr,theName,unmuteTimer)
    end
end)
    
addEventHandler("onClientGUIClick",GUIEditor.button[1],
function ()
	if getElementData(localPlayer,"MUTED") then
		outputChatBox ("You are muted.",255,5,5) 
	end
end)
    

 

 

--server

local muted_players = {}

addEvent ("MUTE",true)
addEventHandler("MUTE",root,
function(plr,name,time)
    if not isTimer (muted_players[plr]) and not getElementData(plr,"MUTED") then
		setElementData(plr,"MUTED",true)
		muted_players[plr] = setTimer (
		function ()
			muted_players[plr] = nil
			removeElementData(plr,"MUTED")
			outputChatBox ("UNMUTED SUCCESSFUL",plr,5,255,5)
		end,time,1,plr,muted_players)
    else
		outputChatBox(""..name.." is already muted.",source,255,5,5)
    end
end)

لو تبي تحط كود حطه مثل كذا ما تحطه كتابة عادية

+ وانت تكتب الكود استخدم tab عشان يصير كودك قابل للقرائة

و ارجع شوف الشروحات  حقت return عشان تقدر تستخدمها بطريقة صحيحة

 

Edited by xBeSoOo_
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...