N3xT Posted August 18, 2015 Share Posted August 18, 2015 السلام عليكم * ي أخوان عندي طلب كم كود الحين تقريباً أنا مسوي لوحة شوب مابات تمام ؟ مسوي زر نكست ماب وزر ريدو وقريد ليست اللي بيطلع فيه المابات واديت حق البحث وأبي الاكواد اللي راح احتاجها Link to comment
The Killer Posted August 19, 2015 Share Posted August 19, 2015 Event # 'onClientGUIChanged' 'onClientGUIClick' function # guiGetText string.find guiGridListClear guiGridListAddRow guiGridListSetItemText guiGridListGetItemText guiGridListGetSelectedItem -- Server side # getResources getResourceName Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 السكربت يبيله شوية شغل لكن سهل ان شاء الله .. تحتاج انك تجلب جميع المابات لو تبيها كلها او تقدر تجلب مابات الدي ام بس بالنسبة لجلب الماب الكود انطرح سابقا وهذا هو : function fetchMaps ( ) local Maps_ = { } for k, v in ipairs( getResources ( ) ) do if ( getResourceInfo( v, "type" ) == "map" and getResourceInfo( v, "gamemodes" ) == "race" )then table.insert ( Maps_, getResourceName( v ) ) end end return Maps_ end بس تستخدمه وترسل تريقر لكلنت عشان تضيف المابات للستة .. بالنسبة لنكست ماب ف تحتاج شي ثاني واللي هو انه مثلا لا جيت انا اشتريت نكست ماب .. وانت اشتريت بعدي لازم ينحفظو .. يعني مثلا اخر حد 10 مابات ف كل ما احد يشتري تحط الماب اللي يشتريه بجدول وكل ما احد يشتري برضو تتحقق لو الجدول يحتوي ع 10 قيم فـ ما تخليه يشتري يعني بس 10 مابات هذي طريقة .. او الطريقة الثانية انه كل واحد يحط نكست ويجي النكست وبعد ما يجي يحط نكست واحد ثاني وكذا .. بالنسبة للريدو فـ تحتاج انك تحط داتا يوم اللاعب يبي يسوي ريدو .. وتستخدم حدث يوم يموت اللاعب وتتحقق انه هو اخر واحد لو اخر واحد فـ تسوي ريدو للماب طبعا .. وتستخدم حدث يوم يشتغل الماب حق الريس عشان تشيل الداتا . بالنسبة للاديت ابحث بالمنتدى راح تلقى طلبكـ .. طولت بالشرح لكن عشان تفهم بس ونساعدك هنا ان شاء الله . Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 ! الحين واجهتني مشكلة هي حقت النكست ماب انا أستخدمت executeCommandHandler تمام ؟ وحطيت المابات بقريد ليست وكل شيء تمام بس المشكلة وقت أظغط ع زر النكست ماب م يحط لي النكست يقول لي اني م اخترت ماب ، ي ليت تحلون المشكلة وذي الأكواد # Client : addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == GUIEditor.button[2] ) then if ( guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ) ~= -1 ) then local eMap = guiGridListGetSelectedItem(GUIEditor.gridlist[1]) triggerServerEvent ("nextM", getLocalPlayer(), eMap) end end end ) # Server : function setMap( eMap ) executeCommandHandler ( "nextmap", source, eMap) end addEvent("nextM",true) addEventHandler( "nextM", getRootElement(),setMap ) Link to comment
TAPL Posted August 19, 2015 Share Posted August 19, 2015 ! الحين واجهتني مشكلةهي حقت النكست ماب انا أستخدمت executeCommandHandler تمام ؟ وحطيت المابات بقريد ليست وكل شيء تمام بس المشكلة وقت أظغط ع زر النكست ماب م يحط لي النكست يقول لي اني م اخترت ماب ، ي ليت تحلون المشكلة وذي الأكواد # Client : addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == GUIEditor.button[2] ) then if ( guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ) ~= -1 ) then local eMap = guiGridListGetSelectedItem(GUIEditor.gridlist[1]) triggerServerEvent ("nextM", getLocalPlayer(), eMap) end end end ) # Server : function setMap( eMap ) executeCommandHandler ( "nextmap", source, eMap) end addEvent("nextM",true) addEventHandler( "nextM", getRootElement(),setMap ) انت ارسلت لي رسالة خاصة و ذا كان ردي قبل ساعة و 31 دقيقة انت ما استخدمت الفنكشن الي يجيب الكلام الي محدد بالقريد لست guiGridListGetItemText Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 بـ كلاينت سطر 4 استبدله الى local eMap = guiGridListGetItemText ( GUIEditor.gridlist[1], guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ), 1 ) Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 ! الحين واجهتني مشكلةهي حقت النكست ماب انا أستخدمت executeCommandHandler تمام ؟ وحطيت المابات بقريد ليست وكل شيء تمام بس المشكلة وقت أظغط ع زر النكست ماب م يحط لي النكست يقول لي اني م اخترت ماب ، ي ليت تحلون المشكلة وذي الأكواد # Client : addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == GUIEditor.button[2] ) then if ( guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ) ~= -1 ) then local eMap = guiGridListGetSelectedItem(GUIEditor.gridlist[1]) triggerServerEvent ("nextM", getLocalPlayer(), eMap) end end end ) # Server : function setMap( eMap ) executeCommandHandler ( "nextmap", source, eMap) end addEvent("nextM",true) addEventHandler( "nextM", getRootElement(),setMap ) انت ارسلت لي رسالة خاصة و ذا كان ردي قبل ساعة و 31 دقيقة انت ما استخدمت الفنكشن الي يجيب الكلام الي محدد بالقريد لست guiGridListGetItemText لول م وصلتني Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 عموماً ، مشكور تابل باقي لي الحين الإديت حق البحث هو الشيء اللي مو عارف له >< Link to comment
iMr.SFA7 Posted August 19, 2015 Share Posted August 19, 2015 عموماً ، مشكور تابل باقي لي الحين الإديت حق البحث هو الشيء اللي مو عارف له >< أعتقد تقصد لاكتبت جزء من أسم الماب يجي بالبحث ؟ هنا يجي أستخدامكك لـ string.find Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 .. ماني عارف أستخدمها لأن المابات بسيرفر والقريد ليست بالكلنت م عرفت كيف اجيبهم >< Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 triggerClientEvent ايه وبعد التريقر من وين لي بالإديت وبعدها كيف اخليه يحط المابات ب القريد ليست ؟ ترايقرات طويلة Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 عموماً سويت كذا وما ظبط Client : addEventHandler("onClientGUIChanged", GUIEditor.edit[1], function() local search = guiGetText(GUIEditor.edit[1]) triggerServerEvent ("findM", getLocalPlayer(), search) end) Server : addEvent ("findM", true) addEventHandler ("findM", root, function (search) for _,v in ipairs (getResources ()) do if ( getResourceInfo( v, "type" ) == "map" and getResourceInfo( v, "gamemodes" ) == "race" )then local name = getResourceInfo( v, "name" ) if string.find(string.upper(name),string.upper(search)) then triggerClientEvent (source, "findMM", source, name) end end end end) Client 2 : addEvent ("findMM", true) addEventHandler ("findMM", root, function (name) local row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText(GUIEditor.gridlist[1],row,1,name,false,false) end ) Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 استخدم الكود اللي عطيتك هو بس اتصل بالفنكشن وارسله مع التريقر وضيف المابات .. البحث يكون بجانب كلاينت . Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 استخدم الكود اللي عطيتك هو بس اتصل بالفنكشن وارسله مع التريقر وضيف المابات ..البحث يكون بجانب كلاينت . ماني فاهمك >< Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 function openWindow ( ) -- وظيفة فتح النافذة triggerServerEvent ( "GetMaps", localPlayer ) end addEvent ( "addMaps_", true ) addEventHandler ( "addMaps_", root, function ( m_table ) for _,v in ipairs ( m_table ) -- ضيفها ف اللستة end end ) function fetchMaps ( ) local Maps_ = { } for k, v in ipairs( getResources ( ) ) do if ( getResourceInfo( v, "type" ) == "map" and getResourceInfo( v, "gamemodes" ) == "race" )then table.insert ( Maps_, getResourceName( v ) ) end end return Maps_ end addEvent ( "GetMaps", true ) addEventHandler ( "GetMaps", root, function ( ) local Maps_table = fetchMaps ( ) triggerClientEvent ( source, "addMaps_", source, Maps_table ) end ) Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 ي زاحف للأسف م ظبط + do كان فيه دو ناقصك addEvent ( "addMaps_", true ) addEventHandler ( "addMaps_", root, function ( m_table ) for _,v in ipairs ( m_table ) do local row = guiGridListAddRow (GUIEditor.gridlist[1]) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, m_table, true, true) end end ) يقول لي باد ارقمنت بسطر 5 Bad Argument @ 'guiGridListSetItemText' [Expected srting at argument 4, got table] Link to comment
</Mr.Tn6eL> Posted August 19, 2015 Share Posted August 19, 2015 ي زاحف للأسف م ظبط + do كان فيه دو ناقصك addEvent ( "addMaps_", true ) addEventHandler ( "addMaps_", root, function ( m_table ) for _,v in ipairs ( m_table ) do local row = guiGridListAddRow (GUIEditor.gridlist[1]) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, m_table, true, true) end end ) يقول لي باد ارقمنت بسطر 5 Bad Argument @ 'guiGridListSetItemText' [Expected srting at argument 4, got table] for _,v in ipairs ( m_table ) do local row = guiGridListAddRow (GUIEditor.gridlist[1]) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, v, true, true) end Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 مشكورين جميعاً بجرب أسوي كود البحث وأرد عليكم شكراً : تنطيل - زاحف - تابل وكل من ساعدني Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 حياك الله حبيبي .. ولو عجزت قول . Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 addEventHandler("onClientGUIChanged",GUIEditor.edit[1],function () guiGridListClear(GUIEditor.gridlist[1]) for _,v in ipairs ( m_table ) do if string.find(string.upper(v),string.upper(guiGetText(GUIEditor.edit[1]))) then local row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText(GUIEditor.gridlist[1],row,1,v,false,false) end end end,false) سويت كذا وما ظبط Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 addEvent ( "addMaps_", true ) addEventHandler ( "addMaps_", root, function ( m_table ) guiGridListClear ( GUIEditor.gridlist[1] ) cMaps = m_table for _,v in ipairs ( m_table ) do local row = guiGridListAddRow (GUIEditor.gridlist[1]) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, v, true, true) end end ) addEventHandler ( "onClientGUIChanged", resourceRoot, function ( ) if ( source == GUIEditor.edit[1] ) then if ( guiGetText ( GUIEditor.edit[1] ) ~= "" ) then guiGridListClear ( GUIEditor.gridlist[1] ) for _,v in ipairs ( cMaps ) do if ( string.find ( string.upper ( v ), string.upper ( guiGetText ( GUIEditor.edit[1]) ) ) ) then local row = guiGridListAddRow ( GUIEditor.gridlist[1] ) guiGridListSetItemText( GUIEditor.gridlist[1], row, 1, v, false, false ) end end else guiGridListClear ( GUIEditor.gridlist[1] ) for _,v in ipairs ( cMaps ) do local row = guiGridListAddRow (GUIEditor.gridlist[1]) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, v, true, true) end end end end ) Link to comment
N3xT Posted August 19, 2015 Author Share Posted August 19, 2015 يقول فيه غلط هنا if ( string.find ( string.upper ( v ), string.upper ( guiGetText ( GUIEditor.edit[1]) ) ) ) then bad argument #1 to 'upper' (string expected, got boolean Link to comment
#DRAGON!FIRE Posted August 19, 2015 Share Posted August 19, 2015 انا عدلت ع addMaps_ بجانب كلاينت .. استبدله ؟ 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