Ja[B]er[X]Pro Posted January 12, 2016 Posted January 12, 2016 السلام عليكم ورحمة الله وبركاته ابي شرح ربط الكود بالقريد ليست لو سمحتم
MuhannaDx Posted January 12, 2016 Posted January 12, 2016 وضـح أخـوي وش تـبـي تربط ! بالقريدليست عشان نفيدك
Ja[B]er[X]Pro Posted January 12, 2016 Author Posted January 12, 2016 وضـح أخـوي وش تـبـي تربط ! بالقريدليست عشان نفيدك مثال ابي عند اختيار شي من القريد ليست يعطي سيارة
MuhannaDx Posted January 12, 2016 Posted January 12, 2016 -- كلينت -- تسوي جـدول بـأسماء السيارات guiGridListGetSelectedItem -- يتاأكد إن فيه شيء محدد في القريدليست guiGridListGetItemText -- يجيب الـكلام المحدد من القريدليست getVehicleModelFromName -- يجـيب أإيدي السيارة من إسمها triggerServerEvent -- يرسل لسيرفر الايدي -- كلينت -- سيرفر addEvent -- تضيف حديث addEventHandler -- تسوي حدث function( t هنا تحط الايدي الي ارسلته من الكلينت t ) -- وظيفة getElementPosition -- تجيب الموقع حقك createVehicle -- تصنع سيارة warpPedIntoVehicle -- تنقل اللاعب الى السيارة end ) -- ولاتنسى باقي isElement ~ destroyElement عشان م يصير تكرار للمواتر
Mr.R Posted January 12, 2016 Posted January 12, 2016 مثال بسيط سويته لك على السريع تختار سيارهـ من القريد ليست وتضغط الزر ويعطيك السيارهـ #Client Side local Vehicles = { { "Car1", 569 }, { "Car2", 411 }, -- { "Car3", 469 }, } GridList = guiCreateGridList ( ... ) Colmun = guiGridListAddColumn ( ... ) Button = guiCreateButton ( ... ) addEventHandler ( "onClientResourceStart", resourceRoot, function ( ) for _,value in ipairs ( Vehicles ) do local Row = guiGridListAddRow ( GridList ) guiGridListSetItemText ( GridList, Row, 1, tostring ( v[1] ), false, false ) guiGridListSetItemData ( GridList, Row, 1, v[2] ) end end ) addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == Button ) then if ( guiGridListGetSelectedItem ( GridList ) ~= -1 ) then local Select = guiGridListGetItemText ( GridList, guiGridListGetSelectedItem ( GridList ), 1 ) local iD = guiGridListGetItemData ( GridList, guiGridListGetSelectedItem ( GridList ), 1 ) if ( Select ~= "" and iD ~= "" ) then triggerServerEvent ( "GiveCar", localPlayer, iD ) end else outputChatBox ( "* الرجاء اختيار سيارهـ اولاً *", 255, 0, 0, true ) end end end ) #Server Side local Vehicle = { }; addEvent ( "GiveCar", true ) addEventHandler ( "GiveCar", root, function ( iD ) if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) end local x, y, z = getElementPosition ( source ) Vehicle[source] = createVehicle ( iD, x, y, z ) warpPedIntoVehicle ( source, Vehicle[source] ) outputChatBox ( "* تم اعطاؤك سيارهـ", source, 255, 255, 255, true ) end ) addEventHandler ( "onPlayerQuit", resourceRoot, function ( ) if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) Vehicle[source] = nil end end ) addEventHandler ( "onVehicleExplode", resourceRoot, function ( ) destroyElement ( source ) end ) واذا منت بفاهم شيء .. تفضل اسأل ؟
Ja[B]er[X]Pro Posted January 12, 2016 Author Posted January 12, 2016 مثال بسيط سويته لك على السريعتختار سيارهـ من القريد ليست وتضغط الزر ويعطيك السيارهـ #Client Side local Vehicles = { { "Car1", 569 }, { "Car2", 411 }, -- { "Car3", 469 }, } GridList = guiCreateGridList ( ... ) Colmun = guiGridListAddColumn ( ... ) Button = guiCreateButton ( ... ) addEventHandler ( "onClientResourceStart", resourceRoot, function ( ) for _,value in ipairs ( Vehicles ) do local Row = guiGridListAddRow ( GridList ) guiGridListSetItemText ( GridList, Row, 1, tostring ( v[1] ), false, false ) guiGridListSetItemData ( GridList, Row, 1, v[2] ) end end ) addEventHandler ( "onClientGUIClick", resourceRoot, function ( ) if ( source == Button ) then if ( guiGridListGetSelectedItem ( GridList ) ~= -1 ) then local Select = guiGridListGetItemText ( GridList, guiGridListGetSelectedItem ( GridList ), 1 ) local iD = guiGridListGetItemData ( GridList, guiGridListGetSelectedItem ( GridList ), 1 ) if ( Select ~= "" and iD ~= "" ) then triggerServerEvent ( "GiveCar", localPlayer, iD ) end else outputChatBox ( "* الرجاء اختيار سيارهـ اولاً *", 255, 0, 0, true ) end end end ) #Server Side local Vehicle = { }; addEvent ( "GiveCar", true ) addEventHandler ( "GiveCar", root, function ( iD ) if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) end local x, y, z = getElementPosition ( source ) Vehicle[source] = createVehicle ( iD, x, y, z ) warpPedIntoVehicle ( source, Vehicle[source] ) outputChatBox ( "* تم اعطاؤك سيارهـ", source, 255, 255, 255, true ) end ) addEventHandler ( "onPlayerQuit", resourceRoot, function ( ) if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) Vehicle[source] = nil end end ) addEventHandler ( "onVehicleExplode", resourceRoot, function ( ) destroyElement ( source ) end ) واذا منت بفاهم شيء .. تفضل اسأل ؟ شكراًً لكم على المساعدة
MuhannaDx Posted January 12, 2016 Posted January 12, 2016 ممكن شرح لذا الكود ؟ local Vehicle = { }; -- ? وش ذا if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) -- ? وش ذا addEventHandler ( "onPlayerQuit", resourceRoot, function ( ) if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) Vehicle[source] = nil end end ) addEventHandler ( "onVehicleExplode", resourceRoot, function ( ) destroyElement ( source ) end ) ذول كمان ابي شرح لهم لاهنتم
Mr.R Posted January 12, 2016 Posted January 12, 2016 ممكن شرح لذا الكود ؟ local Vehicle = { }; -- ? وش ذا if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) -- ? وش ذا addEventHandler ( "onPlayerQuit", resourceRoot, function ( ) if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then destroyElement ( Vehicle[source] ) Vehicle[source] = nil end end ) addEventHandler ( "onVehicleExplode", resourceRoot, function ( ) destroyElement ( source ) end ) ذول كمان ابي شرح لهم لاهنتم local Vehicle = { }; -- هذا جدول فارغ عشان تتفخز فيه السيارات الي ياخذونها الاعبين وطبعاً هذي العلامه ( ; ) فقط منظر مامنها اي فايدهـ تقدر تشيلها مايضر addEventHandler ( "onPlayerQuit", resourceRoot, function ( ) -- function حدث عند خروج الاعب + وظيفه الي هي if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then -- نتحقق من السيارهـ ونتحقق انها موجودهـ destroyElement ( Vehicle[source] ) -- ثم نخفيها Vehicle[source] = nil -- هنا يعني ان السيارهـ خلاص انخفت قيمتها لا شيء end -- function ايند الـ end ) -- وقوس اغلاق الحدث if ايند الـ addEventHandler ( "onVehicleExplode", resourceRoot, function ( ) -- حدث عندانفجار السيارهـ + وظيفه destroyElement ( source ) -- ثم بعد ماتنفجر السياره نخفيها يعني تصير مو موجودهـ تماماً end ) -- ايند الوظيفه الي هي الفنكشن وقوس أغلاق الحدث
MuhannaDx Posted January 12, 2016 Posted January 12, 2016 طيب الجدول الفارغ لازم يكون ع اإسم الجدول الي فلكينت حق السيارات؟
Mr.R Posted January 12, 2016 Posted January 12, 2016 طيب الجدول الفارغ لازم يكون ع اإسم الجدول الي فلكينت حق السيارات؟ جواباً على سؤالكـ .. لا + Vehicles لو تلاحظ الجدول الي فكلينت اسمه وحطينا فيه القيم الي هي اسم السيارهـ والايدي --- Vehicle والي في سيرفر اسمه وسويناهـ عشان تتخزن فيه سيارات الاعبين الي يطلعونها هم من نفس المود s الفرق حرف وطبعاً هذا جدول لحاله وهذا جدول لحاله مالهم شغل في بعض يعني لو تغير اساميهم للاسم الي تبيه عادي
MuhannaDx Posted January 12, 2016 Posted January 12, 2016 if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then التحقق الي هنا كيف عرفت انها سيارة ؟
Mr.R Posted January 12, 2016 Posted January 12, 2016 if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then التحقق الي هنا كيف عرفت انها سيارة ؟ حن اصلا مسوين الجدول لـ السيارات وهذا شيء محدد , فشيء اكيد راح يكون التحقق للسيارهـ تقدر تقول كذا if ( isElement ( Vehicle[source] ) ) then وتقدر تقول كذا if ( Vehicle[source] ) and isElement ( Vehicle[source] ) then ^ للمعلوميه بس , وماتفرق
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