iMr ~ MnHmAr Posted August 27, 2016 Share Posted August 27, 2016 function aa() guiGridListClear(GUIEditor.gridlist[1]) for i,v in ipairs(getElementsByType("player")) do local row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText(GUIEditor.gridlist[1],row,1,getPlayerName(v),false,false) end end addEventHandler ("onClientResourceStart",resourceRoot,aa) addEventHandler ("onClientPlayerJoin",root,aa) addEventHandler ("onClientPlayerChangeNick",root,aa) addEventHandler ("onClientPlayerQuit",root,aa) addEventHandler ( "onClientGUIClick", root,---- هنا كود فتح لوحة الدردشه لو حدد ع لاعب من القريد ليست تنفك لوحة الدردشه function() if ( source == GUIEditor.gridlist[1] ) then if guiGridListGetSelectedItem(GUIEditor.gridlist[1]) ~= -1 then guiSetVisible ( GUIEditor.window[2], true ) end end ) function trim(s) -- from [url=http://lua-users.org/wiki/StringTrim]http://lua-users.org/wiki/StringTrim[/url] return s:match "^%s*(.-)%s*$" end addEventHandler ( "onClientGUIClick", root, function() if ( source == GUIEditor.button[2] ) then if guiGridListGetSelectedItem(GUIEditor.gridlist[1]) ~= -1 then local player = guiGridListGetItemText(GUIEditor.gridlist[1], guiGridListGetSelectedItem(GUIEditor.gridlist[1]), 1) local message = guiGetText(GUIEditor.edit[2]) if trim(message) ~= "" then triggerServerEvent("chat", localPlayer, message, player) end end end end ) addEvent("chat1", true) addEventHandler("chat1", root, function (message , name) guiSetText(GUIEditor.memo[2], guiGetText(GUIEditor.memo[2]).."\n"..name:gsub("#%x%x%x%x%x%x", "").." : "..message) end ) function TopGui() local guiS = guiGetVisible(GUIEditor.window[1]) guiSetVisible(GUIEditor.window[1],not guiS) showCursor(not guiS) guiSetInputEnabled(not guiS) end bindKey("F2","down",TopGui) addEvent("chat", true) addEventHandler("chat", root, function (message, player) local playerName = getPlayerFromName(player) local sourceName = getPlayerName(source) triggerClientEvent(playerName,"chat1",playerName, message, sourceName) end ) المشكله ان انا لما ارسل ل نفسي ترسل لكن لما خويي يرسلي اوا انا ارسله ماترسسل Link to comment
iMr ~ MnHmAr Posted August 27, 2016 Author Share Posted August 27, 2016 ضروري الرجاء الرد تكفون ضروري Link to comment
فاّرس Posted August 27, 2016 Share Posted August 27, 2016 طيب انت من الاساس ما فتحت لوحة الدردشه للاعب اللي تبي ترسل له. Link to comment
iMr ~ MnHmAr Posted August 27, 2016 Author Share Posted August 27, 2016 الا فتحته شوف الكود addEventHandler ( "onClientGUIClick", root,---- هنا كود فتح لوحة الدردشه لو حدد ع لاعب من القريد ليست تنفك لوحة الدردشه function() if ( source == GUIEditor.gridlist[1] ) then --- لما يضرب ع احد من القريد ليست if guiGridListGetSelectedItem(GUIEditor.gridlist[1]) ~= -1 then ----- تحقق على انه يكون محدد او لا guiSetVisible ( GUIEditor.window[2], true ) --لو تحقق الشرط يفتح النآفثه حقت الدردشه end end end ) Link to comment
فاّرس Posted August 27, 2016 Share Posted August 27, 2016 ^ انت كذا فتحتها للي ضغط ع اسم اللاعب, اوضح لك اكثر, انا فتحت اللوحه وضغطت على اسمك راح تفتح لي اللوحه انا بس, ماراح تفتح اللوحه للي ضغطت على اسمه. اللي تحتاجه الحين, يوم ترسل التريقر من السيرفر للكلينت للاعب, افتح له النافذه عشان الكلام يوصله. Link to comment
iMr ~ MnHmAr Posted August 27, 2016 Author Share Posted August 27, 2016 ^ انت كذا فتحتها للي ضغط ع اسم اللاعب,اوضح لك اكثر, انا فتحت اللوحه وضغطت على اسمك راح تفتح لي اللوحه انا بس, ماراح تفتح اللوحه للي ضغطت على اسمه. اللي تحتاجه الحين, يوم ترسل التريقر من السيرفر للكلينت للاعب, افتح له النافذه عشان الكلام يوصله. يعني الكود الي فوق اكنسله ولا اخليه واضيف addEvent("chat1", true) addEventHandler("chat1", root, function (message , name) guiSetVisible ( GUIEditor.window[2], true ) guiSetText(GUIEditor.memo[2], guiGetText(GUIEditor.memo[2]).."\n"..name:gsub("#%x%x%x%x%x%x", "").." : "..message) end ) Link to comment
فاّرس Posted August 27, 2016 Share Posted August 27, 2016 لا خليه, بس كذا راح تفتح النافذه اول ما ترسل له الكلام بتفتح بوجهه, اتوقع انك تبي الرساله توصله وبعدين هو يفتح اللوحه؟ Link to comment
فاّرس Posted August 27, 2016 Share Posted August 27, 2016 عندك اند ناقص بالكلينت, احذف الحدث حق الضغط ع الجريد ليست وعدل حدث الضغط على الزر وخليها مع بعض كذا : addEventHandler ( "onClientGUIClick", root, function() if ( source == GUIEditor.button[2] ) then if guiGridListGetSelectedItem(GUIEditor.gridlist[1]) ~= -1 then local player = guiGridListGetItemText(GUIEditor.gridlist[1], guiGridListGetSelectedItem(GUIEditor.gridlist[1]), 1) local message = guiGetText(GUIEditor.edit[2]) if trim(message) ~= "" then triggerServerEvent("chat", localPlayer, message, player) end end elseif ( source == GUIEditor.gridlist [ 1 ] ) then if guiGridListGetSelectedItem(GUIEditor.gridlist[1]) ~= -1 then guiSetVisible ( GUIEditor.window[2], true ) end end end ) وعدل مستقبل الترقر (الايفنت) بالكلينت خليه كذا : addEvent("chat1", true) addEventHandler("chat1", root, function (message , name) local text = trim( guiGetText ( GUIEditor.memo [ 1 ] ) ) ~= '' and guiGetText(GUIEditor.memo[1]).."\n"..name:gsub("#%x%x%x%x%x%x", "").." : "..message or name:gsub("#%x%x%x%x%x%x", "").." : "..message guiSetText(GUIEditor.memo[ 1 ], text ) end ) وعدل السيرفر كذا : addEvent("chat", true) addEventHandler("chat", root, function (message, player) triggerClientEvent(getPlayerFromName(player),"chat1",getPlayerFromName(player), message, getPlayerName(source)) end ) Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 صار يقولي ان ذا function trim(s) -- from [url=http://lua-users.org/wiki/StringTrim]http://lua-users.org/wiki/StringTrim[/url] return s:match "^%s*(.-)%s*$" end في خطا يقول يقول s ماله قيمه او حاجه مثل كذا ولما احذفه كمان يقولي trim ماله قيمه Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 attempt to index local 's' (a voolean value) Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 addEvent("chat1", true) addEventHandler("chat1", root, function (message , name) local text = trim( guiGetText ( GUIEditor.memo [ 2 ] ) ) ~= '' and guiGetText(GUIEditor.memo[2]).."\n"..name:gsub("#%x%x%x%x%x%x", "").." : "..message or name:gsub("#%x%x%x%x%x%x", "").." : "..message guiSetText(GUIEditor.memo[ 2 ], text ) end ) Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 اخي ممكن سوؤاتل خارج الموضوع : مثل انا ابي اجيب لاعيبه في قروب محدد هذا قروب مثل رتبتة msolserver مثل ابي الاعبيه الي مهم الرتبه يجي اسمهم في كولمن و الكولمن الثاني نقاط انا ابي ازود نقطاهم على كيفيك من داخل الاعبه و كل لاعب ازوده اكتب بي اديت و تنضاف له نقطه اعرف انه مافهمت شكل بس ابي كولمن فيه لاعيبه وكلمن ثاني يتحدث كل ماضيف نقاط لاعبين+ كيف اضيفهلم نقاط من داخل الاعبه Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 تقدر تسوي موضوع جديد اول شوي راح تسوي تريقر من الكلينت للسيرفر وتجيب اسماء الحسابات اللي داخل القروب, ثم ترسل تريقر للكلينت وتحطها بالجريد ليست, وتسوي لك نظام حفظ للنقاط سواء ...بقواعد البيانات او الاكس ام ال او triggerServerEvent table getAccounts getPlayerAccount getAccountName isObjectInACLGroup table.insert triggerClientEvent executeSQLQuery var -- تسوي لك متغير عشان تزيد قيمته وتحفظه ف قاعدة البيانات Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 addEventHandler ("onClientResourceStart",resourceRoot function() triggerServerEvent("getAccount1", localPlayer) end ) كذا التقريت الجداول ليه استخدمه Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 ^ كذا اول ما يشتغل السكربت يجيب الحسابات.. الجدول تستخدمه عشان تحط فيه اسماء الحسابات حق القروب, وترسلها مع التريقر للكلينت وتسوي لوب وتضيفها للجريد ليست. Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 GUIEditor = { gridlist = {}, button = {}, window = {}, } GUIEditor.window[1] = guiCreateWindow(223, 65, 397, 401, "لوحة مراقبة رتبت المسوؤلينء", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetAlpha(GUIEditor.window[1], 1.00) GUIEditor.gridlist[1] = guiCreateGridList(9, 36, 379, 285, false, GUIEditor.window[1]) guiGridListAddColumn(GUIEditor.gridlist[1], "accountname", 0.5) guiGridListAddColumn(GUIEditor.gridlist[1], "nget", 0.5) GUIEditor.button[1] = guiCreateButton(49, 327, 135, 37, "آضآفة نقطه", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(205, 327, 135, 37, "سحب نقطه", false, GUIEditor.window[1]) addEventHandler ("onClientResourceStart",resourceRoot function() triggerServerEvent("getAccount1", localPlayer) end ) addEvent("getAccounts", true) addEventHandler("getAccounts", root, function(acc,acc1,account,v1) local row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText(GUIEditor.gridlist[1],row,1,account),false,false) guiGridListSetItemText(GUIEditor.gridlist[1],row,2,v1),false,false) end ) addEventHandler('onClientGUIClick',root, function () if source == button then -- هنا لو ضربنا يزيد النقاطه الي بي الاديت بوكس مكتوبه local v11 = guiGetText(GUIEditor.edit[1]) --- v1 = v1 + v11 triggerServerEvent("getAccount3", localPlayer) ---هنا نرسل القيم سيرفر و نحطه في قواعد بيانات صح؟ elseif source == button2 then --- هنا لو ضربنا يسحب منه النقاطه المكتوبه في الاديت بوكس local v12 = guiGetText(GUIEditor.edit[2]) v1 = v1 - v12 triggerServerEvent("getAccount4", localPlayer,v1) ---هنا نرسل القيم سيرفر و نحطه في قواعد بيانات صح؟ end end ) bl = {} addEvent("getAccount1", true) addEventHandler("getAccount1", root, function() for k,v in ipairs ( getElementsByType("player") ) do local account = getAccounts (v) if #account ~= 0 then local acc = getPlayerAccount(source) if not isGuestAccount ( acc ) then local acc1 = getAccountName(acc) if isObjectInACLGroup ( "user." .. acc1, aclGetGroup ( "Admin" ) ) then table.insert(bl,v) v1 = 0 triggerClientEvent(root,"getAccounts",root,acc,acc1,account,v1) end end end end end ) قواعد البيانات لسع ماضفتهم لكن الطريقه صح الي فوق ولا لا Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 (edited) للأسف كودك تقريباً ثلاثة ارباعه خطأ, شوف سويت لك وظيفه تجيب لك الحسابات اللي بقروب معين : function getAccountsFromGroup() local t = {} if #getAccounts() ~= 0 then for k,v in ipairs ( getAccounts() ) do if isObjectInACLGroup( 'user.'..getAccountName( v ),aclGetGroup('msolserver') ) then table.insert( t, getAccountName ( v ) ) end end end return t end يعني اول ما ترسل تريقر للسيرفر استخدم الوظيفه ذي زي كذا getAccountsFromGroup () وارسلها مع التريقر للكلينت وسوي لوب زي كذا for k,v in ipairs ( groups ) do local row = guiGridListAddRow ( grid ) guiGridListSetItemText ( grid, row, 1, v, false, false ) end Edited August 28, 2016 by Guest Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 function getAccountsFromGroup() local t = {} if #getAccounts() ~= 0 then for k,v in ipairs ( getAccounts() ) do if isObjectInACLGroup( 'user.'..getAccountName( v ),aclGetGroup('msolserver') ) then table.insert( t, getAccountName ( v ) ) end end end return t end addEvent("getAccount1", true) addEventHandler("getAccount1", root, function getAccountsFromGroup() v1 = 0 triggerClientEvent(root,"getAccounts",root,getAccountsFromGroup,v1) end ) addEvent("getAccounts", true) addEventHandler("getAccounts", root, function(acc,acc1,account,v1) for k,v in ipairs ( getAccountsFromGroup () ) do local row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText(GUIEditor.gridlist[1],row,1,v,false,false) guiGridListSetItemText(GUIEditor.gridlist[1],row,2,v1,false,false) end ) Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 -- Client Side # addEvent("getAccounts", true) addEventHandler("getAccounts", root, function( groups ) for k,v in ipairs ( groups ) do local row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText(GUIEditor.gridlist[1],row,1,v,false,false) guiGridListSetItemText(GUIEditor.gridlist[1],row,2,'0',false,false) end end ) -- Server Side # function getAccountsFromGroup() local t = {} if #getAccounts() ~= 0 then for k,v in ipairs ( getAccounts() ) do if isObjectInACLGroup( 'user.'..getAccountName( v ),aclGetGroup('msolserver') ) then table.insert( t, getAccountName ( v ) ) end end end return t end addEvent("getAccount1", true) addEventHandler("getAccount1", root, function ( ) triggerClientEvent( root, "getAccounts", root, getAccountsFromGroup() ) end ) Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 طيب اخي لو ابي اضيف نقطه اسوي تقريتلما يضرب الزر يسوي تقريت؟ ولاكيف؟ واالله اخي مشكور جآري التجربه Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 اذا جيت تزيد النقاط, طبعاً من كلامك انك تكتب النقاط ف الاديت, طيب اذا جيت تضغط الزر ترسل تريقر للسيرفر ولازم تسوي له حفظ عشان ما تروح النقاط اذا سويت ريستارت او طلعت من السيرفر والعفو ماسوينا شي . Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 اذا جيت تزيد النقاط, طبعاً من كلامك انك تكتب النقاط ف الاديت, طيب اذا جيت تضغط الزر ترسل تريقر للسيرفر ولازم تسوي له حفظ عشان ما تروح النقاط اذا سويت ريستارت او طلعت من السيرفر والعفو ماسوينا شي . طيب بعد ما ارسله وش اسوي احط متغير و ازيده + اخي مود الدردشه الخاصه الا الان مايششتغل ماياقدر ارسل لخويي Link to comment
iMr ~ MnHmAr Posted August 28, 2016 Author Share Posted August 28, 2016 ردو يا مبرمجين انا محتاجج مود الدردشه ضوري ي شآطح مو شغال ارسل ل خويي مايرسل له ليه غريبه 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